/*===========================================================================*/
/*   (Eval/library.scm)                                                      */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -srfi enable-gmp -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -rm -copt -w -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -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_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1914z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1917z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1887z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1889z00zz__libraryz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_libraryzd2loadzd2zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_za2loadedzd2librariesza2zd2zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1927z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31443ze3ze5zz__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_keyword1891z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1893z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1895z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1897z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1899z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1932z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1937z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1939z00zz__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_untranslatezd2libraryzd2namez00zz__libraryz00(obj_t);
	static obj_t BGl_symbol1941z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1864z00zz__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_symbol1952z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1871z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1873z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_z62libraryzd2initzd2filez62zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_symbol1957z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1876z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_toplevelzd2initzd2zz__libraryz00(void);
	static obj_t BGl_symbol1959z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_symbol1879z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_loadqz00zz__evalz00(obj_t, obj_t);
	extern obj_t BGl_evalz00zz__evalz00(obj_t, obj_t);
	static obj_t BGl_symbol1963z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
	extern obj_t BGl_getenvz00zz__osz00(obj_t);
	extern obj_t create_struct(obj_t, int);
	static obj_t BGl_symbol1884z00zz__libraryz00 = BUNSPEC;
	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_importedzd2moduleszd2initz00zz__libraryz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__libraryz00(void);
	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_list1955z00zz__libraryz00 = BUNSPEC;
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_list1956z00zz__libraryz00 = BUNSPEC;
	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_list1961z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_list1962z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_list1886z00zz__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);
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl__declarezd2libraryz12zc0zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_z62libraryzd2infozb0zz__libraryz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31378ze3ze5zz__libraryz00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_libraryzd2translationzd2tablezd2addz12zc0zz__libraryz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_keyword1901z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1903z00zz__libraryz00 = BUNSPEC;
	static obj_t BGl_keyword1905z00zz__libraryz00 = BUNSPEC;
	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);
	extern obj_t bstring_to_keyword(obj_t);
	static obj_t BGl_z62libraryzd2multithreadzd2setz12z70zz__libraryz00(obj_t,
		obj_t);
	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);
	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_libraryzd2threadzd2suffixz00zz__libraryz00 = BUNSPEC;
	extern bool_t BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00(obj_t);
	static obj_t BGl_symbol1907z00zz__libraryz00 = BUNSPEC;
	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 *__cnst;


	   
		 
		DEFINE_STRING(BGl_string1950z00zz__libraryz00,
		BgL_bgl_string1950za700za7za7_1969za7, "/make_lib.class", 15);
	      DEFINE_STRING(BGl_string1951z00zz__libraryz00,
		BgL_bgl_string1951za700za7za7_1970za7, "Can't find library `~a' (`~a')",
		30);
	      DEFINE_STRING(BGl_string1870z00zz__libraryz00,
		BgL_bgl_string1870za700za7za7_1971za7, "_mt", 3);
	      DEFINE_STRING(BGl_string1953z00zz__libraryz00,
		BgL_bgl_string1953za700za7za7_1972za7, "library-load", 12);
	      DEFINE_STRING(BGl_string1872z00zz__libraryz00,
		BgL_bgl_string1872za700za7za7_1973za7, "library-safety", 14);
	      DEFINE_STRING(BGl_string1954z00zz__libraryz00,
		BgL_bgl_string1954za700za7za7_1974za7,
		"Can't find _e library `~a' (`~a') in path ", 42);
	      DEFINE_STRING(BGl_string1874z00zz__libraryz00,
		BgL_bgl_string1874za700za7za7_1975za7, "unsafe", 6);
	      DEFINE_STRING(BGl_string1875z00zz__libraryz00,
		BgL_bgl_string1875za700za7za7_1976za7, "u", 1);
	      DEFINE_STRING(BGl_string1958z00zz__libraryz00,
		BgL_bgl_string1958za700za7za7_1977za7, "libinfo-init", 12);
	      DEFINE_STRING(BGl_string1877z00zz__libraryz00,
		BgL_bgl_string1877za700za7za7_1978za7, "safe", 4);
	      DEFINE_STRING(BGl_string1878z00zz__libraryz00,
		BgL_bgl_string1878za700za7za7_1979za7, "s", 1);
	      DEFINE_STRING(BGl_string1960z00zz__libraryz00,
		BgL_bgl_string1960za700za7za7_1980za7, "info", 4);
	      DEFINE_STRING(BGl_string1880z00zz__libraryz00,
		BgL_bgl_string1880za700za7za7_1981za7, "profile", 7);
	      DEFINE_STRING(BGl_string1881z00zz__libraryz00,
		BgL_bgl_string1881za700za7za7_1982za7, "p", 1);
	      DEFINE_STRING(BGl_string1882z00zz__libraryz00,
		BgL_bgl_string1882za700za7za7_1983za7, "_declare-library!", 17);
	      DEFINE_STRING(BGl_string1964z00zz__libraryz00,
		BgL_bgl_string1964za700za7za7_1984za7, "libinfo-eval", 12);
	      DEFINE_STRING(BGl_string1883z00zz__libraryz00,
		BgL_bgl_string1883za700za7za7_1985za7, "symbol", 6);
	      DEFINE_STRING(BGl_string1965z00zz__libraryz00,
		BgL_bgl_string1965za700za7za7_1986za7, "string or symbol", 16);
	      DEFINE_STRING(BGl_string1966z00zz__libraryz00,
		BgL_bgl_string1966za700za7za7_1987za7, ".heap", 5);
	      DEFINE_STRING(BGl_string1885z00zz__libraryz00,
		BgL_bgl_string1885za700za7za7_1988za7, "release-number", 14);
	      DEFINE_STRING(BGl_string1967z00zz__libraryz00,
		BgL_bgl_string1967za700za7za7_1989za7, "&library-exists?", 16);
	      DEFINE_STRING(BGl_string1968z00zz__libraryz00,
		BgL_bgl_string1968za700za7za7_1990za7, "__library", 9);
	      DEFINE_STRING(BGl_string1888z00zz__libraryz00,
		BgL_bgl_string1888za700za7za7_1991za7, "basename", 8);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2multithreadzd2setz12zd2envzc0zz__libraryz00,
		BgL_bgl_za762libraryza7d2mul1992z00,
		BGl_z62libraryzd2multithreadzd2setz12z70zz__libraryz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2loadzd2initzd2envzd2zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa1993z00,
		BGl_z62libraryzd2loadzd2initz62zz__libraryz00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2infozd2envz00zz__libraryz00,
		BgL_bgl_za762libraryza7d2inf1994z00, BGl_z62libraryzd2infozb0zz__libraryz00,
		0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string1890z00zz__libraryz00,
		BgL_bgl_string1890za700za7za7_1995za7, "class-eval", 10);
	      DEFINE_STRING(BGl_string1892z00zz__libraryz00,
		BgL_bgl_string1892za700za7za7_1996za7, "class-init", 10);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2threadzd2suffixzd2setz12zd2envz12zz__libraryz00,
		BgL_bgl_za762libraryza7d2thr1997z00,
		BGl_z62libraryzd2threadzd2suffixzd2setz12za2zz__libraryz00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string1894z00zz__libraryz00,
		BgL_bgl_string1894za700za7za7_1998za7, "dlopen-init", 11);
	      DEFINE_STRING(BGl_string1896z00zz__libraryz00,
		BgL_bgl_string1896za700za7za7_1999za7, "eval", 4);
	      DEFINE_STRING(BGl_string1898z00zz__libraryz00,
		BgL_bgl_string1898za700za7za7_2000za7, "init", 4);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2initzd2filezd2envzd2zz__libraryz00,
		BgL_bgl_za762libraryza7d2ini2001z00,
		BGl_z62libraryzd2initzd2filez62zz__libraryz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2loadedzf3zd2envzf3zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa2002z00,
		BGl_z62libraryzd2loadedzf3z43zz__libraryz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2loadzd2envz00zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa2003z00, va_generic_entry,
		BGl_z62libraryzd2loadzb0zz__libraryz00, BUNSPEC, -2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2markzd2loadedz12zd2envzc0zz__libraryz00,
		BgL_bgl_za762libraryza7d2mar2004z00,
		BGl_z62libraryzd2markzd2loadedz12z70zz__libraryz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2load_ezd2envz00zz__libraryz00,
		BgL_bgl_za762libraryza7d2loa2005z00, va_generic_entry,
		BGl_z62libraryzd2load_ezb0zz__libraryz00, BUNSPEC, -2);
	      DEFINE_STRING(BGl_string1900z00zz__libraryz00,
		BgL_bgl_string1900za700za7za7_2006za7, "module-eval", 11);
	      DEFINE_STRING(BGl_string1902z00zz__libraryz00,
		BgL_bgl_string1902za700za7za7_2007za7, "module-init", 11);
	      DEFINE_STRING(BGl_string1904z00zz__libraryz00,
		BgL_bgl_string1904za700za7za7_2008za7, "srfi", 4);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2filezd2namezd2envzd2zz__libraryz00,
		BgL_bgl_za762libraryza7d2fil2009z00,
		BGl_z62libraryzd2filezd2namez62zz__libraryz00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string1906z00zz__libraryz00,
		BgL_bgl_string1906za700za7za7_2010za7, "version", 7);
	      DEFINE_STRING(BGl_string1908z00zz__libraryz00,
		BgL_bgl_string1908za700za7za7_2011za7, "declare-library!", 16);
	      DEFINE_STRING(BGl_string1909z00zz__libraryz00,
		BgL_bgl_string1909za700za7za7_2012za7, "Illegal keyword argument", 24);
	      DEFINE_STRING(BGl_string1910z00zz__libraryz00,
		BgL_bgl_string1910za700za7za7_2013za7,
		"wrong number of arguments: [1..11] expected, provided", 53);
	      DEFINE_STRING(BGl_string1911z00zz__libraryz00,
		BgL_bgl_string1911za700za7za7_2014za7, "bint", 4);
	      DEFINE_STRING(BGl_string1912z00zz__libraryz00,
		BgL_bgl_string1912za700za7za7_2015za7, "~a_~a", 5);
	      DEFINE_STRING(BGl_string1913z00zz__libraryz00,
		BgL_bgl_string1913za700za7za7_2016za7, "~a_e~a", 6);
	      DEFINE_STRING(BGl_string1915z00zz__libraryz00,
		BgL_bgl_string1915za700za7za7_2017za7, "libinfo", 7);
	      DEFINE_STRING(BGl_string1916z00zz__libraryz00,
		BgL_bgl_string1916za700za7za7_2018za7, "&library-info", 13);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_declarezd2libraryz12zd2envz12zz__libraryz00,
		BgL_bgl__declareza7d2libra2019za7, opt_generic_entry,
		BGl__declarezd2libraryz12zc0zz__libraryz00, BFALSE, -1);
	      DEFINE_STRING(BGl_string1918z00zz__libraryz00,
		BgL_bgl_string1918za700za7za7_2020za7, "library-translation-table-add!",
		30);
	      DEFINE_STRING(BGl_string1919z00zz__libraryz00,
		BgL_bgl_string1919za700za7za7_2021za7, "Illegal :dlopen-init argument", 29);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_libraryzd2translationzd2tablezd2addz12zd2envz12zz__libraryz00,
		BgL_bgl_za762libraryza7d2tra2022z00, va_generic_entry,
		BGl_z62libraryzd2translationzd2tablezd2addz12za2zz__libraryz00, BUNSPEC,
		-3);
	      DEFINE_STRING(BGl_string1920z00zz__libraryz00,
		BgL_bgl_string1920za700za7za7_2023za7, "Illegal :dlopen-init value", 26);
	      DEFINE_STRING(BGl_string1921z00zz__libraryz00,
		BgL_bgl_string1921za700za7za7_2024za7, "Illegal argument", 16);
	      DEFINE_STRING(BGl_string1922z00zz__libraryz00,
		BgL_bgl_string1922za700za7za7_2025za7, "_", 1);
	      DEFINE_STRING(BGl_string1923z00zz__libraryz00,
		BgL_bgl_string1923za700za7za7_2026za7, "_e", 2);
	      DEFINE_STRING(BGl_string1924z00zz__libraryz00,
		BgL_bgl_string1924za700za7za7_2027za7, "&library-translation-table-add!",
		31);
	      DEFINE_STRING(BGl_string1925z00zz__libraryz00,
		BgL_bgl_string1925za700za7za7_2028za7, ".init", 5);
	      DEFINE_STRING(BGl_string1926z00zz__libraryz00,
		BgL_bgl_string1926za700za7za7_2029za7, "&library-init-file", 18);
	      DEFINE_STRING(BGl_string1928z00zz__libraryz00,
		BgL_bgl_string1928za700za7za7_2030za7, "bigloo-c", 8);
	      DEFINE_STRING(BGl_string1929z00zz__libraryz00,
		BgL_bgl_string1929za700za7za7_2031za7, "unix", 4);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_libraryzd2existszf3zd2envzf3zz__libraryz00,
		BgL_bgl_za762libraryza7d2exi2032z00, va_generic_entry,
		BGl_z62libraryzd2existszf3z43zz__libraryz00, BUNSPEC, -2);
	      DEFINE_STRING(BGl_string1930z00zz__libraryz00,
		BgL_bgl_string1930za700za7za7_2033za7, "mingw", 5);
	      DEFINE_STRING(BGl_string1931z00zz__libraryz00,
		BgL_bgl_string1931za700za7za7_2034za7, "-", 1);
	      DEFINE_STRING(BGl_string1933z00zz__libraryz00,
		BgL_bgl_string1933za700za7za7_2035za7, "library-file-name", 17);
	      DEFINE_STRING(BGl_string1934z00zz__libraryz00,
		BgL_bgl_string1934za700za7za7_2036za7, "Illegal version", 15);
	      DEFINE_STRING(BGl_string1935z00zz__libraryz00,
		BgL_bgl_string1935za700za7za7_2037za7, "win32", 5);
	      DEFINE_STRING(BGl_string1936z00zz__libraryz00,
		BgL_bgl_string1936za700za7za7_2038za7, "Unknown os", 10);
	      DEFINE_STRING(BGl_string1938z00zz__libraryz00,
		BgL_bgl_string1938za700za7za7_2039za7, "bigloo-jvm", 10);
	      DEFINE_STRING(BGl_string1940z00zz__libraryz00,
		BgL_bgl_string1940za700za7za7_2040za7, "bigloo-.net", 11);
	      DEFINE_STRING(BGl_string1942z00zz__libraryz00,
		BgL_bgl_string1942za700za7za7_2041za7, "bigloo.net", 10);
	      DEFINE_STRING(BGl_string1943z00zz__libraryz00,
		BgL_bgl_string1943za700za7za7_2042za7, "Illegal backend", 15);
	      DEFINE_STRING(BGl_string1944z00zz__libraryz00,
		BgL_bgl_string1944za700za7za7_2043za7, "&library-file-name", 18);
	      DEFINE_STRING(BGl_string1945z00zz__libraryz00,
		BgL_bgl_string1945za700za7za7_2044za7, "&library-loaded?", 16);
	      DEFINE_STRING(BGl_string1946z00zz__libraryz00,
		BgL_bgl_string1946za700za7za7_2045za7, "&library-mark-loaded!", 21);
	      DEFINE_STRING(BGl_string1865z00zz__libraryz00,
		BgL_bgl_string1865za700za7za7_2046za7, "library", 7);
	      DEFINE_STRING(BGl_string1947z00zz__libraryz00,
		BgL_bgl_string1947za700za7za7_2047za7, "BIGLOOLIB", 9);
	      DEFINE_STRING(BGl_string1866z00zz__libraryz00,
		BgL_bgl_string1866za700za7za7_2048za7, "", 0);
	      DEFINE_STRING(BGl_string1948z00zz__libraryz00,
		BgL_bgl_string1948za700za7za7_2049za7, ".", 1);
	      DEFINE_STRING(BGl_string1867z00zz__libraryz00,
		BgL_bgl_string1867za700za7za7_2050za7,
		"/tmp/bigloo/runtime/Eval/library.scm", 36);
	      DEFINE_STRING(BGl_string1949z00zz__libraryz00,
		BgL_bgl_string1949za700za7za7_2051za7, "/resource/bigloo/", 17);
	      DEFINE_STRING(BGl_string1868z00zz__libraryz00,
		BgL_bgl_string1868za700za7za7_2052za7, "&library-thread-suffix-set!", 27);
	      DEFINE_STRING(BGl_string1869z00zz__libraryz00,
		BgL_bgl_string1869za700za7za7_2053za7, "bstring", 7);

/* 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_za2evalzd2libraryzd2suffixza2z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1914z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1917z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1887z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1889z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_za2loadedzd2librariesza2zd2zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1927z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1891z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1893z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1895z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1897z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1899z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1932z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1937z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1939z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1941z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1864z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1952z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1871z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1873z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1957z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1876z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1959z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1879z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1963z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1884z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_za2librariesza2z00zz__libraryz00));
		   
			 ADD_ROOT((void
				*) (&BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_za2libraryzd2mutexza2zd2zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_list1955z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_list1956z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_list1961z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_list1962z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_list1886z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1901z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1903z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_keyword1905z00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_libraryzd2threadzd2suffixz00zz__libraryz00));
		     ADD_ROOT((void *) (&BGl_symbol1907z00zz__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_2811, char *BgL_fromz00_2812)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__libraryz00))
				{
					BGl_requirezd2initializa7ationz75zz__libraryz00 = BBOOL(((bool_t) 0));
					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_symbol1864z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1865z00zz__libraryz00);
			BGl_symbol1871z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1872z00zz__libraryz00);
			BGl_symbol1873z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1874z00zz__libraryz00);
			BGl_symbol1876z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1877z00zz__libraryz00);
			BGl_symbol1879z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1880z00zz__libraryz00);
			BGl_symbol1884z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1885z00zz__libraryz00);
			BGl_keyword1887z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1888z00zz__libraryz00);
			BGl_keyword1889z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1890z00zz__libraryz00);
			BGl_keyword1891z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1892z00zz__libraryz00);
			BGl_keyword1893z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1894z00zz__libraryz00);
			BGl_keyword1895z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1896z00zz__libraryz00);
			BGl_keyword1897z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1898z00zz__libraryz00);
			BGl_keyword1899z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1900z00zz__libraryz00);
			BGl_keyword1901z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1902z00zz__libraryz00);
			BGl_keyword1903z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1904z00zz__libraryz00);
			BGl_keyword1905z00zz__libraryz00 =
				bstring_to_keyword(BGl_string1906z00zz__libraryz00);
			BGl_list1886z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_keyword1887z00zz__libraryz00,
				MAKE_YOUNG_PAIR(BGl_keyword1889z00zz__libraryz00,
					MAKE_YOUNG_PAIR(BGl_keyword1891z00zz__libraryz00,
						MAKE_YOUNG_PAIR(BGl_keyword1893z00zz__libraryz00,
							MAKE_YOUNG_PAIR(BGl_keyword1895z00zz__libraryz00,
								MAKE_YOUNG_PAIR(BGl_keyword1897z00zz__libraryz00,
									MAKE_YOUNG_PAIR(BGl_keyword1899z00zz__libraryz00,
										MAKE_YOUNG_PAIR(BGl_keyword1901z00zz__libraryz00,
											MAKE_YOUNG_PAIR(BGl_keyword1903z00zz__libraryz00,
												MAKE_YOUNG_PAIR(BGl_keyword1905z00zz__libraryz00,
													BNIL))))))))));
			BGl_symbol1907z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1908z00zz__libraryz00);
			BGl_symbol1914z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1915z00zz__libraryz00);
			BGl_symbol1917z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1918z00zz__libraryz00);
			BGl_symbol1927z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1928z00zz__libraryz00);
			BGl_symbol1932z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1933z00zz__libraryz00);
			BGl_symbol1937z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1938z00zz__libraryz00);
			BGl_symbol1939z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1940z00zz__libraryz00);
			BGl_symbol1941z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1942z00zz__libraryz00);
			BGl_symbol1952z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1953z00zz__libraryz00);
			BGl_symbol1957z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1958z00zz__libraryz00);
			BGl_symbol1959z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1960z00zz__libraryz00);
			BGl_list1956z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1957z00zz__libraryz00,
				MAKE_YOUNG_PAIR(BGl_symbol1959z00zz__libraryz00, BNIL));
			BGl_list1955z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_list1956z00zz__libraryz00, BNIL);
			BGl_symbol1963z00zz__libraryz00 =
				bstring_to_symbol(BGl_string1964z00zz__libraryz00);
			BGl_list1962z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1963z00zz__libraryz00,
				MAKE_YOUNG_PAIR(BGl_symbol1959z00zz__libraryz00, BNIL));
			return (BGl_list1961z00zz__libraryz00 =
				MAKE_YOUNG_PAIR(BGl_list1962z00zz__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_symbol1864z00zz__libraryz00);
			BGl_libraryzd2threadzd2suffixz00zz__libraryz00 =
				BGl_string1866z00zz__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_2728, obj_t BgL_sufz00_2729)
	{
		{	/* Eval/library.scm 92 */
			{	/* Eval/library.scm 93 */
				obj_t BgL_auxz00_2866;

				if (STRINGP(BgL_sufz00_2729))
					{	/* Eval/library.scm 93 */
						BgL_auxz00_2866 = BgL_sufz00_2729;
					}
				else
					{
						obj_t BgL_auxz00_2869;

						BgL_auxz00_2869 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(3262L), BGl_string1868z00zz__libraryz00,
							BGl_string1869z00zz__libraryz00, BgL_sufz00_2729);
						FAILURE(BgL_auxz00_2869, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2threadzd2suffixzd2setz12zc0zz__libraryz00
					(BgL_auxz00_2866);
			}
		}

	}



/* 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_string1870z00zz__libraryz00, BUNSPEC);
				}
			else
				{	/* Eval/library.scm 99 */
					return (BGl_libraryzd2threadzd2suffixz00zz__libraryz00 =
						BGl_string1866z00zz__libraryz00, BUNSPEC);
				}
		}

	}



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

	}



/* 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_1291;

					BgL_casezd2valuezd2_1291 =
						BGl_bigloozd2configzd2zz__configurez00
						(BGl_symbol1871z00zz__libraryz00);
					if ((BgL_casezd2valuezd2_1291 == BGl_symbol1873z00zz__libraryz00))
						{	/* Eval/library.scm 130 */
							BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 =
								BGl_string1875z00zz__libraryz00;
						}
					else
						{	/* Eval/library.scm 130 */
							if ((BgL_casezd2valuezd2_1291 == BGl_symbol1876z00zz__libraryz00))
								{	/* Eval/library.scm 130 */
									BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 =
										BGl_string1878z00zz__libraryz00;
								}
							else
								{	/* Eval/library.scm 130 */
									if (
										(BgL_casezd2valuezd2_1291 ==
											BGl_symbol1879z00zz__libraryz00))
										{	/* Eval/library.scm 130 */
											BGl_za2evalzd2libraryzd2suffixza2z00zz__libraryz00 =
												BGl_string1881z00zz__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 */
				obj_t BgL_idz00_1299;

				BgL_idz00_1299 = VECTOR_REF(BgL_opt1119z00_66, 0L);
				{	/* Eval/library.scm 142 */
					obj_t BgL_basenamez00_1300;

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

						if (SYMBOLP(BgL_idz00_1299))
							{	/* Eval/library.scm 142 */
								BgL_symbolz00_2063 = BgL_idz00_1299;
							}
						else
							{
								obj_t BgL_auxz00_2889;

								BgL_auxz00_2889 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string1867z00zz__libraryz00, BINT(5479L),
									BGl_string1882z00zz__libraryz00,
									BGl_string1883z00zz__libraryz00, BgL_idz00_1299);
								FAILURE(BgL_auxz00_2889, BFALSE, BFALSE);
							}
						{	/* Eval/library.scm 142 */
							obj_t BgL_arg1621z00_2064;

							BgL_arg1621z00_2064 = SYMBOL_TO_STRING(BgL_symbolz00_2063);
							BgL_basenamez00_1300 =
								BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1621z00_2064);
						}
					}
					{	/* Eval/library.scm 139 */
						obj_t BgL_classzd2evalzd2_1301;

						BgL_classzd2evalzd2_1301 = BFALSE;
						{	/* Eval/library.scm 139 */
							obj_t BgL_classzd2initzd2_1302;

							BgL_classzd2initzd2_1302 = BFALSE;
							{	/* Eval/library.scm 139 */
								obj_t BgL_dlopenzd2initzd2_1303;

								BgL_dlopenzd2initzd2_1303 = BFALSE;
								{	/* Eval/library.scm 139 */
									obj_t BgL_evalz00_1304;

									BgL_evalz00_1304 = BFALSE;
									{	/* Eval/library.scm 139 */
										obj_t BgL_initz00_1305;

										BgL_initz00_1305 = BFALSE;
										{	/* Eval/library.scm 139 */
											obj_t BgL_modulezd2evalzd2_1306;

											BgL_modulezd2evalzd2_1306 = BFALSE;
											{	/* Eval/library.scm 139 */
												obj_t BgL_modulezd2initzd2_1307;

												BgL_modulezd2initzd2_1307 = BFALSE;
												{	/* Eval/library.scm 148 */
													obj_t BgL_srfiz00_1308;

													BgL_srfiz00_1308 = BNIL;
													{	/* Eval/library.scm 141 */
														obj_t BgL_versionz00_1309;

														BgL_versionz00_1309 =
															BGl_bigloozd2configzd2zz__configurez00
															(BGl_symbol1884z00zz__libraryz00);
														{	/* Eval/library.scm 139 */

															{
																long BgL_iz00_1310;

																BgL_iz00_1310 = 1L;
															BgL_check1123z00_1311:
																if (
																	(BgL_iz00_1310 ==
																		VECTOR_LENGTH(BgL_opt1119z00_66)))
																	{	/* Eval/library.scm 139 */
																		BNIL;
																	}
																else
																	{	/* Eval/library.scm 139 */
																		bool_t BgL_test2063z00_2899;

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

																			BgL_arg1250z00_1317 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_iz00_1310);
																			BgL_test2063z00_2899 =
																				CBOOL
																				(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																				(BgL_arg1250z00_1317,
																					BGl_list1886z00zz__libraryz00));
																		}
																		if (BgL_test2063z00_2899)
																			{
																				long BgL_iz00_2903;

																				BgL_iz00_2903 = (BgL_iz00_1310 + 2L);
																				BgL_iz00_1310 = BgL_iz00_2903;
																				goto BgL_check1123z00_1311;
																			}
																		else
																			{	/* Eval/library.scm 139 */
																				obj_t BgL_arg1249z00_1316;

																				BgL_arg1249z00_1316 =
																					VECTOR_REF(BgL_opt1119z00_66,
																					BgL_iz00_1310);
																				BGl_errorz00zz__errorz00
																					(BGl_symbol1907z00zz__libraryz00,
																					BGl_string1909z00zz__libraryz00,
																					BgL_arg1249z00_1316);
																			}
																	}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1125z00_1318;

																{
																	long BgL_iz00_2073;

																	BgL_iz00_2073 = 1L;
																BgL_search1122z00_2072:
																	if (
																		(BgL_iz00_2073 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1125z00_1318 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2073 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1125z00_1318 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2083;

																					BgL_vz00_2083 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2073);
																					if ((BgL_vz00_2083 ==
																							BGl_keyword1887z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1125z00_1318 =
																								BINT((BgL_iz00_2073 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_2923;

																							BgL_iz00_2923 =
																								(BgL_iz00_2073 + 2L);
																							BgL_iz00_2073 = BgL_iz00_2923;
																							goto BgL_search1122z00_2072;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2067z00_2925;

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

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

																			if (INTEGERP(BgL_index1125z00_1318))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_2926 =
																						BgL_index1125z00_1318;
																				}
																			else
																				{
																					obj_t BgL_auxz00_2929;

																					BgL_auxz00_2929 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1125z00_1318);
																					FAILURE(BgL_auxz00_2929, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2087 =
																				(long) CINT(BgL_tmpz00_2926);
																		}
																		BgL_test2067z00_2925 =
																			(BgL_n1z00_2087 >= 0L);
																	}
																	if (BgL_test2067z00_2925)
																		{
																			long BgL_auxz00_2935;

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

																				if (INTEGERP(BgL_index1125z00_1318))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_2936 =
																							BgL_index1125z00_1318;
																					}
																				else
																					{
																						obj_t BgL_auxz00_2939;

																						BgL_auxz00_2939 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1125z00_1318);
																						FAILURE(BgL_auxz00_2939, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_2935 =
																					(long) CINT(BgL_tmpz00_2936);
																			}
																			BgL_basenamez00_1300 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_2935);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1126z00_1320;

																{
																	long BgL_iz00_2089;

																	BgL_iz00_2089 = 1L;
																BgL_search1122z00_2088:
																	if (
																		(BgL_iz00_2089 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1126z00_1320 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2089 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1126z00_1320 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2099;

																					BgL_vz00_2099 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2089);
																					if ((BgL_vz00_2099 ==
																							BGl_keyword1889z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1126z00_1320 =
																								BINT((BgL_iz00_2089 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_2961;

																							BgL_iz00_2961 =
																								(BgL_iz00_2089 + 2L);
																							BgL_iz00_2089 = BgL_iz00_2961;
																							goto BgL_search1122z00_2088;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2073z00_2963;

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

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

																			if (INTEGERP(BgL_index1126z00_1320))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_2964 =
																						BgL_index1126z00_1320;
																				}
																			else
																				{
																					obj_t BgL_auxz00_2967;

																					BgL_auxz00_2967 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1126z00_1320);
																					FAILURE(BgL_auxz00_2967, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2103 =
																				(long) CINT(BgL_tmpz00_2964);
																		}
																		BgL_test2073z00_2963 =
																			(BgL_n1z00_2103 >= 0L);
																	}
																	if (BgL_test2073z00_2963)
																		{
																			long BgL_auxz00_2973;

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

																				if (INTEGERP(BgL_index1126z00_1320))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_2974 =
																							BgL_index1126z00_1320;
																					}
																				else
																					{
																						obj_t BgL_auxz00_2977;

																						BgL_auxz00_2977 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1126z00_1320);
																						FAILURE(BgL_auxz00_2977, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_2973 =
																					(long) CINT(BgL_tmpz00_2974);
																			}
																			BgL_classzd2evalzd2_1301 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_2973);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1127z00_1322;

																{
																	long BgL_iz00_2105;

																	BgL_iz00_2105 = 1L;
																BgL_search1122z00_2104:
																	if (
																		(BgL_iz00_2105 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1127z00_1322 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2105 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1127z00_1322 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2115;

																					BgL_vz00_2115 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2105);
																					if ((BgL_vz00_2115 ==
																							BGl_keyword1891z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1127z00_1322 =
																								BINT((BgL_iz00_2105 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_2999;

																							BgL_iz00_2999 =
																								(BgL_iz00_2105 + 2L);
																							BgL_iz00_2105 = BgL_iz00_2999;
																							goto BgL_search1122z00_2104;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2079z00_3001;

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

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

																			if (INTEGERP(BgL_index1127z00_1322))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3002 =
																						BgL_index1127z00_1322;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3005;

																					BgL_auxz00_3005 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1127z00_1322);
																					FAILURE(BgL_auxz00_3005, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2119 =
																				(long) CINT(BgL_tmpz00_3002);
																		}
																		BgL_test2079z00_3001 =
																			(BgL_n1z00_2119 >= 0L);
																	}
																	if (BgL_test2079z00_3001)
																		{
																			long BgL_auxz00_3011;

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

																				if (INTEGERP(BgL_index1127z00_1322))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3012 =
																							BgL_index1127z00_1322;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3015;

																						BgL_auxz00_3015 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1127z00_1322);
																						FAILURE(BgL_auxz00_3015, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3011 =
																					(long) CINT(BgL_tmpz00_3012);
																			}
																			BgL_classzd2initzd2_1302 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3011);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1128z00_1324;

																{
																	long BgL_iz00_2121;

																	BgL_iz00_2121 = 1L;
																BgL_search1122z00_2120:
																	if (
																		(BgL_iz00_2121 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1128z00_1324 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2121 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1128z00_1324 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2131;

																					BgL_vz00_2131 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2121);
																					if ((BgL_vz00_2131 ==
																							BGl_keyword1893z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1128z00_1324 =
																								BINT((BgL_iz00_2121 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_3037;

																							BgL_iz00_3037 =
																								(BgL_iz00_2121 + 2L);
																							BgL_iz00_2121 = BgL_iz00_3037;
																							goto BgL_search1122z00_2120;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2085z00_3039;

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

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

																			if (INTEGERP(BgL_index1128z00_1324))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3040 =
																						BgL_index1128z00_1324;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3043;

																					BgL_auxz00_3043 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1128z00_1324);
																					FAILURE(BgL_auxz00_3043, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2135 =
																				(long) CINT(BgL_tmpz00_3040);
																		}
																		BgL_test2085z00_3039 =
																			(BgL_n1z00_2135 >= 0L);
																	}
																	if (BgL_test2085z00_3039)
																		{
																			long BgL_auxz00_3049;

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

																				if (INTEGERP(BgL_index1128z00_1324))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3050 =
																							BgL_index1128z00_1324;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3053;

																						BgL_auxz00_3053 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1128z00_1324);
																						FAILURE(BgL_auxz00_3053, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3049 =
																					(long) CINT(BgL_tmpz00_3050);
																			}
																			BgL_dlopenzd2initzd2_1303 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3049);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1129z00_1326;

																{
																	long BgL_iz00_2137;

																	BgL_iz00_2137 = 1L;
																BgL_search1122z00_2136:
																	if (
																		(BgL_iz00_2137 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1129z00_1326 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2137 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1129z00_1326 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2147;

																					BgL_vz00_2147 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2137);
																					if ((BgL_vz00_2147 ==
																							BGl_keyword1895z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1129z00_1326 =
																								BINT((BgL_iz00_2137 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_3075;

																							BgL_iz00_3075 =
																								(BgL_iz00_2137 + 2L);
																							BgL_iz00_2137 = BgL_iz00_3075;
																							goto BgL_search1122z00_2136;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2091z00_3077;

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

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

																			if (INTEGERP(BgL_index1129z00_1326))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3078 =
																						BgL_index1129z00_1326;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3081;

																					BgL_auxz00_3081 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1129z00_1326);
																					FAILURE(BgL_auxz00_3081, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2151 =
																				(long) CINT(BgL_tmpz00_3078);
																		}
																		BgL_test2091z00_3077 =
																			(BgL_n1z00_2151 >= 0L);
																	}
																	if (BgL_test2091z00_3077)
																		{
																			long BgL_auxz00_3087;

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

																				if (INTEGERP(BgL_index1129z00_1326))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3088 =
																							BgL_index1129z00_1326;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3091;

																						BgL_auxz00_3091 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1129z00_1326);
																						FAILURE(BgL_auxz00_3091, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3087 =
																					(long) CINT(BgL_tmpz00_3088);
																			}
																			BgL_evalz00_1304 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3087);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1130z00_1328;

																{
																	long BgL_iz00_2153;

																	BgL_iz00_2153 = 1L;
																BgL_search1122z00_2152:
																	if (
																		(BgL_iz00_2153 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1130z00_1328 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2153 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1130z00_1328 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2163;

																					BgL_vz00_2163 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2153);
																					if ((BgL_vz00_2163 ==
																							BGl_keyword1897z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1130z00_1328 =
																								BINT((BgL_iz00_2153 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_3113;

																							BgL_iz00_3113 =
																								(BgL_iz00_2153 + 2L);
																							BgL_iz00_2153 = BgL_iz00_3113;
																							goto BgL_search1122z00_2152;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2097z00_3115;

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

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

																			if (INTEGERP(BgL_index1130z00_1328))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3116 =
																						BgL_index1130z00_1328;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3119;

																					BgL_auxz00_3119 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1130z00_1328);
																					FAILURE(BgL_auxz00_3119, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2167 =
																				(long) CINT(BgL_tmpz00_3116);
																		}
																		BgL_test2097z00_3115 =
																			(BgL_n1z00_2167 >= 0L);
																	}
																	if (BgL_test2097z00_3115)
																		{
																			long BgL_auxz00_3125;

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

																				if (INTEGERP(BgL_index1130z00_1328))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3126 =
																							BgL_index1130z00_1328;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3129;

																						BgL_auxz00_3129 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1130z00_1328);
																						FAILURE(BgL_auxz00_3129, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3125 =
																					(long) CINT(BgL_tmpz00_3126);
																			}
																			BgL_initz00_1305 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3125);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1131z00_1330;

																{
																	long BgL_iz00_2169;

																	BgL_iz00_2169 = 1L;
																BgL_search1122z00_2168:
																	if (
																		(BgL_iz00_2169 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1131z00_1330 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2169 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1131z00_1330 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2179;

																					BgL_vz00_2179 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2169);
																					if ((BgL_vz00_2179 ==
																							BGl_keyword1899z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1131z00_1330 =
																								BINT((BgL_iz00_2169 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_3151;

																							BgL_iz00_3151 =
																								(BgL_iz00_2169 + 2L);
																							BgL_iz00_2169 = BgL_iz00_3151;
																							goto BgL_search1122z00_2168;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2103z00_3153;

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

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

																			if (INTEGERP(BgL_index1131z00_1330))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3154 =
																						BgL_index1131z00_1330;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3157;

																					BgL_auxz00_3157 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1131z00_1330);
																					FAILURE(BgL_auxz00_3157, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2183 =
																				(long) CINT(BgL_tmpz00_3154);
																		}
																		BgL_test2103z00_3153 =
																			(BgL_n1z00_2183 >= 0L);
																	}
																	if (BgL_test2103z00_3153)
																		{
																			long BgL_auxz00_3163;

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

																				if (INTEGERP(BgL_index1131z00_1330))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3164 =
																							BgL_index1131z00_1330;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3167;

																						BgL_auxz00_3167 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1131z00_1330);
																						FAILURE(BgL_auxz00_3167, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3163 =
																					(long) CINT(BgL_tmpz00_3164);
																			}
																			BgL_modulezd2evalzd2_1306 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3163);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1132z00_1332;

																{
																	long BgL_iz00_2185;

																	BgL_iz00_2185 = 1L;
																BgL_search1122z00_2184:
																	if (
																		(BgL_iz00_2185 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1132z00_1332 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2185 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1132z00_1332 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2195;

																					BgL_vz00_2195 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2185);
																					if ((BgL_vz00_2195 ==
																							BGl_keyword1901z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1132z00_1332 =
																								BINT((BgL_iz00_2185 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_3189;

																							BgL_iz00_3189 =
																								(BgL_iz00_2185 + 2L);
																							BgL_iz00_2185 = BgL_iz00_3189;
																							goto BgL_search1122z00_2184;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2109z00_3191;

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

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

																			if (INTEGERP(BgL_index1132z00_1332))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3192 =
																						BgL_index1132z00_1332;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3195;

																					BgL_auxz00_3195 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1132z00_1332);
																					FAILURE(BgL_auxz00_3195, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2199 =
																				(long) CINT(BgL_tmpz00_3192);
																		}
																		BgL_test2109z00_3191 =
																			(BgL_n1z00_2199 >= 0L);
																	}
																	if (BgL_test2109z00_3191)
																		{
																			long BgL_auxz00_3201;

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

																				if (INTEGERP(BgL_index1132z00_1332))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3202 =
																							BgL_index1132z00_1332;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3205;

																						BgL_auxz00_3205 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1132z00_1332);
																						FAILURE(BgL_auxz00_3205, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3201 =
																					(long) CINT(BgL_tmpz00_3202);
																			}
																			BgL_modulezd2initzd2_1307 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3201);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1133z00_1334;

																{
																	long BgL_iz00_2201;

																	BgL_iz00_2201 = 1L;
																BgL_search1122z00_2200:
																	if (
																		(BgL_iz00_2201 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1133z00_1334 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2201 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1133z00_1334 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2211;

																					BgL_vz00_2211 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2201);
																					if ((BgL_vz00_2211 ==
																							BGl_keyword1903z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1133z00_1334 =
																								BINT((BgL_iz00_2201 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_3227;

																							BgL_iz00_3227 =
																								(BgL_iz00_2201 + 2L);
																							BgL_iz00_2201 = BgL_iz00_3227;
																							goto BgL_search1122z00_2200;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2115z00_3229;

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

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

																			if (INTEGERP(BgL_index1133z00_1334))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3230 =
																						BgL_index1133z00_1334;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3233;

																					BgL_auxz00_3233 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1133z00_1334);
																					FAILURE(BgL_auxz00_3233, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2215 =
																				(long) CINT(BgL_tmpz00_3230);
																		}
																		BgL_test2115z00_3229 =
																			(BgL_n1z00_2215 >= 0L);
																	}
																	if (BgL_test2115z00_3229)
																		{
																			long BgL_auxz00_3239;

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

																				if (INTEGERP(BgL_index1133z00_1334))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3240 =
																							BgL_index1133z00_1334;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3243;

																						BgL_auxz00_3243 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1133z00_1334);
																						FAILURE(BgL_auxz00_3243, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3239 =
																					(long) CINT(BgL_tmpz00_3240);
																			}
																			BgL_srfiz00_1308 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3239);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_index1134z00_1336;

																{
																	long BgL_iz00_2217;

																	BgL_iz00_2217 = 1L;
																BgL_search1122z00_2216:
																	if (
																		(BgL_iz00_2217 ==
																			VECTOR_LENGTH(BgL_opt1119z00_66)))
																		{	/* Eval/library.scm 139 */
																			BgL_index1134z00_1336 = BINT(-1L);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			if (
																				(BgL_iz00_2217 ==
																					(VECTOR_LENGTH(BgL_opt1119z00_66) -
																						1L)))
																				{	/* Eval/library.scm 139 */
																					BgL_index1134z00_1336 =
																						BGl_errorz00zz__errorz00
																						(BGl_symbol1907z00zz__libraryz00,
																						BGl_string1910z00zz__libraryz00,
																						BINT(VECTOR_LENGTH
																							(BgL_opt1119z00_66)));
																				}
																			else
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_vz00_2227;

																					BgL_vz00_2227 =
																						VECTOR_REF(BgL_opt1119z00_66,
																						BgL_iz00_2217);
																					if ((BgL_vz00_2227 ==
																							BGl_keyword1905z00zz__libraryz00))
																						{	/* Eval/library.scm 139 */
																							BgL_index1134z00_1336 =
																								BINT((BgL_iz00_2217 + 1L));
																						}
																					else
																						{
																							long BgL_iz00_3265;

																							BgL_iz00_3265 =
																								(BgL_iz00_2217 + 2L);
																							BgL_iz00_2217 = BgL_iz00_3265;
																							goto BgL_search1122z00_2216;
																						}
																				}
																		}
																}
																{	/* Eval/library.scm 139 */
																	bool_t BgL_test2121z00_3267;

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

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

																			if (INTEGERP(BgL_index1134z00_1336))
																				{	/* Eval/library.scm 139 */
																					BgL_tmpz00_3268 =
																						BgL_index1134z00_1336;
																				}
																			else
																				{
																					obj_t BgL_auxz00_3271;

																					BgL_auxz00_3271 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string1867z00zz__libraryz00,
																						BINT(5364L),
																						BGl_string1882z00zz__libraryz00,
																						BGl_string1911z00zz__libraryz00,
																						BgL_index1134z00_1336);
																					FAILURE(BgL_auxz00_3271, BFALSE,
																						BFALSE);
																				}
																			BgL_n1z00_2231 =
																				(long) CINT(BgL_tmpz00_3268);
																		}
																		BgL_test2121z00_3267 =
																			(BgL_n1z00_2231 >= 0L);
																	}
																	if (BgL_test2121z00_3267)
																		{
																			long BgL_auxz00_3277;

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

																				if (INTEGERP(BgL_index1134z00_1336))
																					{	/* Eval/library.scm 139 */
																						BgL_tmpz00_3278 =
																							BgL_index1134z00_1336;
																					}
																				else
																					{
																						obj_t BgL_auxz00_3281;

																						BgL_auxz00_3281 =
																							BGl_typezd2errorzd2zz__errorz00
																							(BGl_string1867z00zz__libraryz00,
																							BINT(5364L),
																							BGl_string1882z00zz__libraryz00,
																							BGl_string1911z00zz__libraryz00,
																							BgL_index1134z00_1336);
																						FAILURE(BgL_auxz00_3281, BFALSE,
																							BFALSE);
																					}
																				BgL_auxz00_3277 =
																					(long) CINT(BgL_tmpz00_3278);
																			}
																			BgL_versionz00_1309 =
																				VECTOR_REF(BgL_opt1119z00_66,
																				BgL_auxz00_3277);
																		}
																	else
																		{	/* Eval/library.scm 139 */
																			BFALSE;
																		}
																}
															}
															{	/* Eval/library.scm 139 */
																obj_t BgL_arg1265z00_1338;

																BgL_arg1265z00_1338 =
																	VECTOR_REF(BgL_opt1119z00_66, 0L);
																{	/* Eval/library.scm 139 */
																	obj_t BgL_basenamez00_1339;

																	BgL_basenamez00_1339 = BgL_basenamez00_1300;
																	{	/* Eval/library.scm 139 */
																		obj_t BgL_classzd2evalzd2_1340;

																		BgL_classzd2evalzd2_1340 =
																			BgL_classzd2evalzd2_1301;
																		{	/* Eval/library.scm 139 */
																			obj_t BgL_classzd2initzd2_1341;

																			BgL_classzd2initzd2_1341 =
																				BgL_classzd2initzd2_1302;
																			{	/* Eval/library.scm 139 */
																				obj_t BgL_dlopenzd2initzd2_1342;

																				BgL_dlopenzd2initzd2_1342 =
																					BgL_dlopenzd2initzd2_1303;
																				{	/* Eval/library.scm 139 */
																					obj_t BgL_evalz00_1343;

																					BgL_evalz00_1343 = BgL_evalz00_1304;
																					{	/* Eval/library.scm 139 */
																						obj_t BgL_initz00_1344;

																						BgL_initz00_1344 = BgL_initz00_1305;
																						{	/* Eval/library.scm 139 */
																							obj_t BgL_modulezd2evalzd2_1345;

																							BgL_modulezd2evalzd2_1345 =
																								BgL_modulezd2evalzd2_1306;
																							{	/* Eval/library.scm 139 */
																								obj_t BgL_modulezd2initzd2_1346;

																								BgL_modulezd2initzd2_1346 =
																									BgL_modulezd2initzd2_1307;
																								{	/* Eval/library.scm 139 */
																									obj_t BgL_srfiz00_1347;

																									BgL_srfiz00_1347 =
																										BgL_srfiz00_1308;
																									{	/* Eval/library.scm 139 */
																										obj_t BgL_versionz00_1348;

																										BgL_versionz00_1348 =
																											BgL_versionz00_1309;
																										{	/* Eval/library.scm 149 */
																											obj_t BgL_top2125z00_3289;

																											BgL_top2125z00_3289 =
																												BGL_EXITD_TOP_AS_OBJ();
																											BGL_MUTEX_LOCK
																												(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
																											BGL_EXITD_PUSH_PROTECT
																												(BgL_top2125z00_3289,
																												BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
																											BUNSPEC;
																											{	/* Eval/library.scm 149 */
																												obj_t
																													BgL_tmp2124z00_3288;
																												if (CBOOL
																													(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																														(BgL_arg1265z00_1338,
																															BGl_za2librariesza2z00zz__libraryz00)))
																													{	/* Eval/library.scm 150 */
																														BgL_tmp2124z00_3288
																															= BFALSE;
																													}
																												else
																													{	/* Eval/library.scm 150 */
																														{	/* Eval/library.scm 154 */
																															obj_t
																																BgL_arg1283z00_2233;
																															{	/* Eval/library.scm 154 */
																																obj_t
																																	BgL_arg1284z00_2234;
																																{	/* Eval/library.scm 154 */
																																	obj_t
																																		BgL_arg1285z00_2235;
																																	obj_t
																																		BgL_arg1287z00_2236;
																																	if (CBOOL
																																		(BgL_dlopenzd2initzd2_1342))
																																		{	/* Eval/library.scm 157 */
																																			obj_t
																																				BgL_arg1289z00_2237;
																																			BgL_arg1289z00_2237
																																				=
																																				BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																																				();
																																			{	/* Eval/library.scm 155 */
																																				obj_t
																																					BgL_list1290z00_2238;
																																				{	/* Eval/library.scm 155 */
																																					obj_t
																																						BgL_arg1291z00_2239;
																																					BgL_arg1291z00_2239
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_arg1289z00_2237,
																																						BNIL);
																																					BgL_list1290z00_2238
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_dlopenzd2initzd2_1342,
																																						BgL_arg1291z00_2239);
																																				}
																																				BgL_arg1285z00_2235
																																					=
																																					BGl_formatz00zz__r4_output_6_10_3z00
																																					(BGl_string1912z00zz__libraryz00,
																																					BgL_list1290z00_2238);
																																			}
																																		}
																																	else
																																		{	/* Eval/library.scm 154 */
																																			BgL_arg1285z00_2235
																																				=
																																				BFALSE;
																																		}
																																	if (CBOOL
																																		(BgL_dlopenzd2initzd2_1342))
																																		{	/* Eval/library.scm 161 */
																																			obj_t
																																				BgL_arg1292z00_2240;
																																			BgL_arg1292z00_2240
																																				=
																																				BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																																				();
																																			{	/* Eval/library.scm 159 */
																																				obj_t
																																					BgL_list1293z00_2241;
																																				{	/* Eval/library.scm 159 */
																																					obj_t
																																						BgL_arg1294z00_2242;
																																					BgL_arg1294z00_2242
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_arg1292z00_2240,
																																						BNIL);
																																					BgL_list1293z00_2241
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_dlopenzd2initzd2_1342,
																																						BgL_arg1294z00_2242);
																																				}
																																				BgL_arg1287z00_2236
																																					=
																																					BGl_formatz00zz__r4_output_6_10_3z00
																																					(BGl_string1913z00zz__libraryz00,
																																					BgL_list1293z00_2241);
																																			}
																																		}
																																	else
																																		{	/* Eval/library.scm 158 */
																																			BgL_arg1287z00_2236
																																				=
																																				BFALSE;
																																		}
																																	{	/* Eval/library.scm 107 */
																																		obj_t
																																			BgL_newz00_2248;
																																		BgL_newz00_2248
																																			=
																																			create_struct
																																			(BGl_symbol1914z00zz__libraryz00,
																																			(int)
																																			(12L));
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3310;
																																			BgL_tmpz00_3310
																																				=
																																				(int)
																																				(11L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3310,
																																				BgL_srfiz00_1347);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3313;
																																			BgL_tmpz00_3313
																																				=
																																				(int)
																																				(10L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3313,
																																				BgL_evalz00_1343);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3316;
																																			BgL_tmpz00_3316
																																				=
																																				(int)
																																				(9L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3316,
																																				BgL_initz00_1344);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3319;
																																			BgL_tmpz00_3319
																																				=
																																				(int)
																																				(8L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3319,
																																				BgL_classzd2evalzd2_1340);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3322;
																																			BgL_tmpz00_3322
																																				=
																																				(int)
																																				(7L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3322,
																																				BgL_classzd2initzd2_1341);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3325;
																																			BgL_tmpz00_3325
																																				=
																																				(int)
																																				(6L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3325,
																																				BgL_modulezd2evalzd2_1345);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3328;
																																			BgL_tmpz00_3328
																																				=
																																				(int)
																																				(5L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3328,
																																				BgL_modulezd2initzd2_1346);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3331;
																																			BgL_tmpz00_3331
																																				=
																																				(int)
																																				(4L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3331,
																																				BgL_arg1287z00_2236);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3334;
																																			BgL_tmpz00_3334
																																				=
																																				(int)
																																				(3L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3334,
																																				BgL_arg1285z00_2235);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3337;
																																			BgL_tmpz00_3337
																																				=
																																				(int)
																																				(2L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3337,
																																				BgL_versionz00_1348);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3340;
																																			BgL_tmpz00_3340
																																				=
																																				(int)
																																				(1L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3340,
																																				BgL_basenamez00_1339);
																																		}
																																		{	/* Eval/library.scm 107 */
																																			int
																																				BgL_tmpz00_3343;
																																			BgL_tmpz00_3343
																																				=
																																				(int)
																																				(0L);
																																			STRUCT_SET
																																				(BgL_newz00_2248,
																																				BgL_tmpz00_3343,
																																				BgL_arg1265z00_1338);
																																		}
																																		BgL_arg1284z00_2234
																																			=
																																			BgL_newz00_2248;
																																}}
																																BgL_arg1283z00_2233
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BgL_arg1265z00_1338,
																																	BgL_arg1284z00_2234);
																															}
																															BGl_za2librariesza2z00zz__libraryz00
																																=
																																MAKE_YOUNG_PAIR
																																(BgL_arg1283z00_2233,
																																BGl_za2librariesza2z00zz__libraryz00);
																														}
																														{
																															obj_t
																																BgL_l1097z00_2244;
																															{	/* Eval/library.scm 166 */
																																bool_t
																																	BgL_tmpz00_3348;
																																BgL_l1097z00_2244
																																	=
																																	BgL_srfiz00_1347;
																															BgL_zc3z04anonymousza31295ze3z87_2243:
																																if (PAIRP
																																	(BgL_l1097z00_2244))
																																	{	/* Eval/library.scm 166 */
																																		{	/* Eval/library.scm 167 */
																																			obj_t
																																				BgL_sz00_2262;
																																			BgL_sz00_2262
																																				=
																																				CAR
																																				(BgL_l1097z00_2244);
																																			BGl_registerzd2srfiz12zc0zz__expander_srfi0z00
																																				(BgL_sz00_2262);
																																			bgl_register_eval_srfi
																																				(BgL_sz00_2262);
																																		}
																																		{
																																			obj_t
																																				BgL_l1097z00_3354;
																																			BgL_l1097z00_3354
																																				=
																																				CDR
																																				(BgL_l1097z00_2244);
																																			BgL_l1097z00_2244
																																				=
																																				BgL_l1097z00_3354;
																																			goto
																																				BgL_zc3z04anonymousza31295ze3z87_2243;
																																		}
																																	}
																																else
																																	{	/* Eval/library.scm 166 */
																																		BgL_tmpz00_3348
																																			=
																																			((bool_t)
																																			1);
																																	}
																																BgL_tmp2124z00_3288
																																	=
																																	BBOOL
																																	(BgL_tmpz00_3348);
																															}
																														}
																													}
																												BGL_EXITD_POP_PROTECT
																													(BgL_top2125z00_3289);
																												BUNSPEC;
																												BGL_MUTEX_UNLOCK
																													(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
																												return
																													BgL_tmp2124z00_3288;
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* 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_top2131z00_3360;

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

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

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

									{	/* Eval/library.scm 154 */
										obj_t BgL_arg1285z00_2269;
										obj_t BgL_arg1287z00_2270;

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

												BgL_arg1289z00_2271 =
													BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
												{	/* Eval/library.scm 155 */
													obj_t BgL_list1290z00_2272;

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

														BgL_arg1291z00_2273 =
															MAKE_YOUNG_PAIR(BgL_arg1289z00_2271, BNIL);
														BgL_list1290z00_2272 =
															MAKE_YOUNG_PAIR(BgL_dlopenzd2initzd2_59,
															BgL_arg1291z00_2273);
													}
													BgL_arg1285z00_2269 =
														BGl_formatz00zz__r4_output_6_10_3z00
														(BGl_string1912z00zz__libraryz00,
														BgL_list1290z00_2272);
												}
											}
										else
											{	/* Eval/library.scm 154 */
												BgL_arg1285z00_2269 = BFALSE;
											}
										if (CBOOL(BgL_dlopenzd2initzd2_59))
											{	/* Eval/library.scm 161 */
												obj_t BgL_arg1292z00_2274;

												BgL_arg1292z00_2274 =
													BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
												{	/* Eval/library.scm 159 */
													obj_t BgL_list1293z00_2275;

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

														BgL_arg1294z00_2276 =
															MAKE_YOUNG_PAIR(BgL_arg1292z00_2274, BNIL);
														BgL_list1293z00_2275 =
															MAKE_YOUNG_PAIR(BgL_dlopenzd2initzd2_59,
															BgL_arg1294z00_2276);
													}
													BgL_arg1287z00_2270 =
														BGl_formatz00zz__r4_output_6_10_3z00
														(BGl_string1913z00zz__libraryz00,
														BgL_list1293z00_2275);
												}
											}
										else
											{	/* Eval/library.scm 158 */
												BgL_arg1287z00_2270 = BFALSE;
											}
										{	/* Eval/library.scm 107 */
											obj_t BgL_newz00_2282;

											BgL_newz00_2282 =
												create_struct(BGl_symbol1914z00zz__libraryz00,
												(int) (12L));
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3381;

												BgL_tmpz00_3381 = (int) (11L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3381,
													BgL_srfiz00_64);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3384;

												BgL_tmpz00_3384 = (int) (10L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3384,
													BgL_evalz00_60);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3387;

												BgL_tmpz00_3387 = (int) (9L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3387,
													BgL_initz00_61);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3390;

												BgL_tmpz00_3390 = (int) (8L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3390,
													BgL_classzd2evalzd2_57);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3393;

												BgL_tmpz00_3393 = (int) (7L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3393,
													BgL_classzd2initzd2_58);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3396;

												BgL_tmpz00_3396 = (int) (6L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3396,
													BgL_modulezd2evalzd2_62);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3399;

												BgL_tmpz00_3399 = (int) (5L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3399,
													BgL_modulezd2initzd2_63);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3402;

												BgL_tmpz00_3402 = (int) (4L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3402,
													BgL_arg1287z00_2270);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3405;

												BgL_tmpz00_3405 = (int) (3L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3405,
													BgL_arg1285z00_2269);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3408;

												BgL_tmpz00_3408 = (int) (2L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3408,
													BgL_versionz00_65);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3411;

												BgL_tmpz00_3411 = (int) (1L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3411,
													BgL_basenamez00_56);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3414;

												BgL_tmpz00_3414 = (int) (0L);
												STRUCT_SET(BgL_newz00_2282, BgL_tmpz00_3414,
													BgL_idz00_55);
											}
											BgL_arg1284z00_2268 = BgL_newz00_2282;
									}}
									BgL_arg1283z00_2267 =
										MAKE_YOUNG_PAIR(BgL_idz00_55, BgL_arg1284z00_2268);
								}
								BGl_za2librariesza2z00zz__libraryz00 =
									MAKE_YOUNG_PAIR(BgL_arg1283z00_2267,
									BGl_za2librariesza2z00zz__libraryz00);
							}
							{
								obj_t BgL_l1097z00_2306;

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

									BgL_l1097z00_2306 = BgL_srfiz00_64;
								BgL_zc3z04anonymousza31295ze3z87_2305:
									if (PAIRP(BgL_l1097z00_2306))
										{	/* Eval/library.scm 166 */
											{	/* Eval/library.scm 167 */
												obj_t BgL_sz00_2311;

												BgL_sz00_2311 = CAR(BgL_l1097z00_2306);
												BGl_registerzd2srfiz12zc0zz__expander_srfi0z00
													(BgL_sz00_2311);
												bgl_register_eval_srfi(BgL_sz00_2311);
											}
											{
												obj_t BgL_l1097z00_3425;

												BgL_l1097z00_3425 = CDR(BgL_l1097z00_2306);
												BgL_l1097z00_2306 = BgL_l1097z00_3425;
												goto BgL_zc3z04anonymousza31295ze3z87_2305;
											}
										}
									else
										{	/* Eval/library.scm 166 */
											BgL_tmpz00_3419 = ((bool_t) 1);
										}
									BgL_tmp2130z00_3359 = BBOOL(BgL_tmpz00_3419);
								}
							}
						}
					BGL_EXITD_POP_PROTECT(BgL_top2131z00_3360);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					return BgL_tmp2130z00_3359;
				}
			}
		}

	}



/* 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_2315;

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

	}



/* &library-info */
	obj_t BGl_z62libraryzd2infozb0zz__libraryz00(obj_t BgL_envz00_2732,
		obj_t BgL_idz00_2733)
	{
		{	/* Eval/library.scm 174 */
			{	/* Eval/library.scm 175 */
				obj_t BgL_auxz00_3435;

				if (SYMBOLP(BgL_idz00_2733))
					{	/* Eval/library.scm 175 */
						BgL_auxz00_3435 = BgL_idz00_2733;
					}
				else
					{
						obj_t BgL_auxz00_3438;

						BgL_auxz00_3438 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(6378L), BGl_string1916z00zz__libraryz00,
							BGl_string1883z00zz__libraryz00, BgL_idz00_2733);
						FAILURE(BgL_auxz00_3438, BFALSE, BFALSE);
					}
				return BGl_libraryzd2infozd2zz__libraryz00(BgL_auxz00_3435);
			}
		}

	}



/* 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_1376;
				obj_t BgL_dlopenzd2initzd2_1377;

				BgL_versionz00_1376 =
					BGl_bigloozd2configzd2zz__configurez00
					(BGl_symbol1884z00zz__libraryz00);
				{	/* Eval/library.scm 182 */
					obj_t BgL_arg1621z00_2319;

					BgL_arg1621z00_2319 = SYMBOL_TO_STRING(BgL_namez00_69);
					BgL_dlopenzd2initzd2_1377 =
						BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1621z00_2319);
				}
				{
					obj_t BgL_optz00_1379;

					BgL_optz00_1379 = BgL_optz00_71;
				BgL_zc3z04anonymousza31323ze3z87_1380:
					if (PAIRP(BgL_optz00_1379))
						{	/* Eval/library.scm 186 */
							bool_t BgL_test2139z00_3448;

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

								BgL_tmpz00_3449 = CAR(BgL_optz00_1379);
								BgL_test2139z00_3448 = STRINGP(BgL_tmpz00_3449);
							}
							if (BgL_test2139z00_3448)
								{	/* Eval/library.scm 186 */
									BgL_versionz00_1376 = CAR(BgL_optz00_1379);
									{
										obj_t BgL_optz00_3453;

										BgL_optz00_3453 = CDR(BgL_optz00_1379);
										BgL_optz00_1379 = BgL_optz00_3453;
										goto BgL_zc3z04anonymousza31323ze3z87_1380;
									}
								}
							else
								{	/* Eval/library.scm 186 */
									if (CBOOL(CAR(BgL_optz00_1379)))
										{	/* Eval/library.scm 189 */
											if (
												(CAR(BgL_optz00_1379) ==
													BGl_keyword1893z00zz__libraryz00))
												{	/* Eval/library.scm 192 */
													if (NULLP(CDR(BgL_optz00_1379)))
														{	/* Eval/library.scm 194 */
															BGl_errorz00zz__errorz00
																(BGl_symbol1917z00zz__libraryz00,
																BGl_string1919z00zz__libraryz00,
																BgL_optz00_1379);
														}
													else
														{	/* Eval/library.scm 198 */
															bool_t BgL_test2143z00_3465;

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

																BgL_tmpz00_3466 = CAR(CDR(BgL_optz00_1379));
																BgL_test2143z00_3465 = STRINGP(BgL_tmpz00_3466);
															}
															if (BgL_test2143z00_3465)
																{	/* Eval/library.scm 198 */
																	BgL_dlopenzd2initzd2_1377 =
																		CAR(CDR(BgL_optz00_1379));
																	{
																		obj_t BgL_optz00_3472;

																		BgL_optz00_3472 = CDR(CDR(BgL_optz00_1379));
																		BgL_optz00_1379 = BgL_optz00_3472;
																		goto BgL_zc3z04anonymousza31323ze3z87_1380;
																	}
																}
															else
																{	/* Eval/library.scm 198 */
																	BGl_errorz00zz__errorz00
																		(BGl_symbol1917z00zz__libraryz00,
																		BGl_string1920z00zz__libraryz00,
																		BgL_optz00_1379);
																}
														}
												}
											else
												{	/* Eval/library.scm 192 */
													BGl_errorz00zz__errorz00
														(BGl_symbol1917z00zz__libraryz00,
														BGl_string1921z00zz__libraryz00, BgL_optz00_1379);
												}
										}
									else
										{	/* Eval/library.scm 189 */
											BgL_versionz00_1376 = BFALSE;
											{
												obj_t BgL_optz00_3477;

												BgL_optz00_3477 = CDR(BgL_optz00_1379);
												BgL_optz00_1379 = BgL_optz00_3477;
												goto BgL_zc3z04anonymousza31323ze3z87_1380;
											}
										}
								}
						}
					else
						{	/* Eval/library.scm 184 */
							BFALSE;
						}
				}
				{	/* Eval/library.scm 209 */
					obj_t BgL_top2145z00_3480;

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

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

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

								{	/* Eval/library.scm 213 */
									obj_t BgL_arg1345z00_1401;
									obj_t BgL_arg1346z00_1402;

									if (CBOOL(BgL_dlopenzd2initzd2_1377))
										{	/* Eval/library.scm 214 */
											obj_t BgL_arg1347z00_1403;
											obj_t BgL_arg1348z00_1404;

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

												BgL_namez00_2339 = BgL_dlopenzd2initzd2_1377;
												if (BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00
													(BgL_namez00_2339))
													{	/* Eval/library.scm 278 */
														BgL_arg1347z00_1403 =
															bigloo_mangle(BgL_namez00_2339);
													}
												else
													{	/* Eval/library.scm 278 */
														BgL_arg1347z00_1403 = BgL_namez00_2339;
													}
											}
											BgL_arg1348z00_1404 =
												BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
											BgL_arg1345z00_1401 =
												string_append_3(BgL_arg1347z00_1403,
												BGl_string1922z00zz__libraryz00, BgL_arg1348z00_1404);
										}
									else
										{	/* Eval/library.scm 213 */
											BgL_arg1345z00_1401 = BFALSE;
										}
									if (CBOOL(BgL_dlopenzd2initzd2_1377))
										{	/* Eval/library.scm 218 */
											obj_t BgL_arg1349z00_1405;
											obj_t BgL_arg1352z00_1406;

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

												BgL_namez00_2341 = BgL_dlopenzd2initzd2_1377;
												if (BGl_bigloozd2needzd2manglingzf3zf3zz__biglooz00
													(BgL_namez00_2341))
													{	/* Eval/library.scm 278 */
														BgL_arg1349z00_1405 =
															bigloo_mangle(BgL_namez00_2341);
													}
												else
													{	/* Eval/library.scm 278 */
														BgL_arg1349z00_1405 = BgL_namez00_2341;
													}
											}
											BgL_arg1352z00_1406 =
												BGl_evalzd2libraryzd2suffixz00zz__libraryz00();
											BgL_arg1346z00_1402 =
												string_append_3(BgL_arg1349z00_1405,
												BGl_string1923z00zz__libraryz00, BgL_arg1352z00_1406);
										}
									else
										{	/* Eval/library.scm 217 */
											BgL_arg1346z00_1402 = BFALSE;
										}
									{	/* Eval/library.scm 212 */
										obj_t BgL_versionz00_2343;

										BgL_versionz00_2343 = BgL_versionz00_1376;
										{	/* Eval/library.scm 107 */
											obj_t BgL_newz00_2344;

											BgL_newz00_2344 =
												create_struct(BGl_symbol1914z00zz__libraryz00,
												(int) (12L));
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3500;

												BgL_tmpz00_3500 = (int) (11L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3500, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3503;

												BgL_tmpz00_3503 = (int) (10L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3503, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3506;

												BgL_tmpz00_3506 = (int) (9L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3506, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3509;

												BgL_tmpz00_3509 = (int) (8L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3509, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3512;

												BgL_tmpz00_3512 = (int) (7L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3512, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3515;

												BgL_tmpz00_3515 = (int) (6L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3515, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3518;

												BgL_tmpz00_3518 = (int) (5L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3518, BFALSE);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3521;

												BgL_tmpz00_3521 = (int) (4L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3521,
													BgL_arg1346z00_1402);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3524;

												BgL_tmpz00_3524 = (int) (3L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3524,
													BgL_arg1345z00_1401);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3527;

												BgL_tmpz00_3527 = (int) (2L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3527,
													BgL_versionz00_2343);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3530;

												BgL_tmpz00_3530 = (int) (1L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3530,
													BgL_translationz00_70);
											}
											{	/* Eval/library.scm 107 */
												int BgL_tmpz00_3533;

												BgL_tmpz00_3533 = (int) (0L);
												STRUCT_SET(BgL_newz00_2344, BgL_tmpz00_3533,
													BgL_namez00_69);
											}
											BgL_arg1344z00_1400 = BgL_newz00_2344;
								}}}
								BgL_arg1343z00_1399 =
									MAKE_YOUNG_PAIR(BgL_namez00_69, BgL_arg1344z00_1400);
							}
							BgL_tmp2144z00_3479 = (BGl_za2librariesza2z00zz__libraryz00 =
								MAKE_YOUNG_PAIR(BgL_arg1343z00_1399,
									BGl_za2librariesza2z00zz__libraryz00), BUNSPEC);
						}
						BGL_EXITD_POP_PROTECT(BgL_top2145z00_3480);
						BUNSPEC;
						BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
						return BgL_tmp2144z00_3479;
					}
				}
			}
		}

	}



/* &library-translation-table-add! */
	obj_t BGl_z62libraryzd2translationzd2tablezd2addz12za2zz__libraryz00(obj_t
		BgL_envz00_2734, obj_t BgL_namez00_2735, obj_t BgL_translationz00_2736,
		obj_t BgL_optz00_2737)
	{
		{	/* Eval/library.scm 180 */
			{	/* Eval/library.scm 181 */
				obj_t BgL_auxz00_3547;
				obj_t BgL_auxz00_3540;

				if (STRINGP(BgL_translationz00_2736))
					{	/* Eval/library.scm 181 */
						BgL_auxz00_3547 = BgL_translationz00_2736;
					}
				else
					{
						obj_t BgL_auxz00_3550;

						BgL_auxz00_3550 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(6700L), BGl_string1924z00zz__libraryz00,
							BGl_string1869z00zz__libraryz00, BgL_translationz00_2736);
						FAILURE(BgL_auxz00_3550, BFALSE, BFALSE);
					}
				if (SYMBOLP(BgL_namez00_2735))
					{	/* Eval/library.scm 181 */
						BgL_auxz00_3540 = BgL_namez00_2735;
					}
				else
					{
						obj_t BgL_auxz00_3543;

						BgL_auxz00_3543 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(6700L), BGl_string1924z00zz__libraryz00,
							BGl_string1883z00zz__libraryz00, BgL_namez00_2735);
						FAILURE(BgL_auxz00_3543, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2translationzd2tablezd2addz12zc0zz__libraryz00
					(BgL_auxz00_3540, BgL_auxz00_3547, BgL_optz00_2737);
			}
		}

	}



/* 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_arg1353z00_2357;

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

					BgL_arg1621z00_2359 = SYMBOL_TO_STRING(BgL_libz00_72);
					BgL_arg1353z00_2357 =
						BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1621z00_2359);
				}
				return
					string_append(BgL_arg1353z00_2357, BGl_string1925z00zz__libraryz00);
			}
		}

	}



/* &library-init-file */
	obj_t BGl_z62libraryzd2initzd2filez62zz__libraryz00(obj_t BgL_envz00_2738,
		obj_t BgL_libz00_2739)
	{
		{	/* Eval/library.scm 229 */
			{	/* Eval/library.scm 230 */
				obj_t BgL_auxz00_3558;

				if (SYMBOLP(BgL_libz00_2739))
					{	/* Eval/library.scm 230 */
						BgL_auxz00_3558 = BgL_libz00_2739;
					}
				else
					{
						obj_t BgL_auxz00_3561;

						BgL_auxz00_3561 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(8119L), BGl_string1926z00zz__libraryz00,
							BGl_string1883z00zz__libraryz00, BgL_libz00_2739);
						FAILURE(BgL_auxz00_3561, BFALSE, BFALSE);
					}
				return BGl_libraryzd2initzd2filez00zz__libraryz00(BgL_auxz00_3558);
			}
		}

	}



/* 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_1408;

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

					BgL_g1040z00_2361 =
						BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_libraryz00_73,
						BGl_za2librariesza2z00zz__libraryz00);
					if (CBOOL(BgL_g1040z00_2361))
						{	/* Eval/library.scm 175 */
							BgL_infoz00_1408 = CDR(((obj_t) BgL_g1040z00_2361));
						}
					else
						{	/* Eval/library.scm 175 */
							BgL_infoz00_1408 = BFALSE;
						}
				}
				if (CBOOL(BgL_infoz00_1408))
					{	/* Eval/library.scm 238 */
						obj_t BgL_val0_1099z00_1409;
						obj_t BgL_val1_1100z00_1410;

						BgL_val0_1099z00_1409 =
							STRUCT_REF(((obj_t) BgL_infoz00_1408), (int) (1L));
						BgL_val1_1100z00_1410 =
							STRUCT_REF(((obj_t) BgL_infoz00_1408), (int) (2L));
						{	/* Eval/library.scm 238 */
							int BgL_tmpz00_3579;

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

							BgL_tmpz00_3582 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_3582, BgL_val1_1100z00_1410);
						}
						return BgL_val0_1099z00_1409;
					}
				else
					{	/* Eval/library.scm 239 */
						obj_t BgL_val0_1101z00_1411;
						obj_t BgL_val1_1102z00_1412;

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

							BgL_arg1621z00_2367 = SYMBOL_TO_STRING(BgL_libraryz00_73);
							BgL_val0_1101z00_1411 =
								BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1621z00_2367);
						}
						BgL_val1_1102z00_1412 =
							BGl_bigloozd2configzd2zz__configurez00
							(BGl_symbol1884z00zz__libraryz00);
						{	/* Eval/library.scm 239 */
							int BgL_tmpz00_3588;

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

							BgL_tmpz00_3591 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_3591, BgL_val1_1102z00_1412);
						}
						return BgL_val0_1101z00_1411;
					}
			}
		}

	}



/* 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_1414;

				BgL_basez00_1414 =
					BGl_untranslatezd2libraryzd2namez00zz__libraryz00(BgL_libraryz00_74);
				{	/* Eval/library.scm 256 */
					obj_t BgL_versionz00_1415;

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

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

							BgL_tmpz00_3595 = (int) (1L);
							BgL_tmpz00_2374 = BGL_MVALUES_VAL(BgL_tmpz00_3595);
						}
						{	/* Eval/library.scm 257 */
							int BgL_tmpz00_3598;

							BgL_tmpz00_3598 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_3598, BUNSPEC);
						}
						BgL_versionz00_1415 = BgL_tmpz00_2374;
					}
					if ((BgL_backendz00_76 == BGl_symbol1927z00zz__libraryz00))
						{	/* Eval/library.scm 260 */
							bool_t BgL_test2156z00_3603;

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

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

									BgL_string1z00_2376 = string_to_bstring(OS_CLASS);
									{	/* Eval/library.scm 260 */
										long BgL_l1z00_2378;

										BgL_l1z00_2378 = STRING_LENGTH(BgL_string1z00_2376);
										if ((BgL_l1z00_2378 == 4L))
											{	/* Eval/library.scm 260 */
												int BgL_arg1503z00_2381;

												{	/* Eval/library.scm 260 */
													char *BgL_auxz00_3611;
													char *BgL_tmpz00_3609;

													BgL_auxz00_3611 =
														BSTRING_TO_STRING(BGl_string1929z00zz__libraryz00);
													BgL_tmpz00_3609 =
														BSTRING_TO_STRING(BgL_string1z00_2376);
													BgL_arg1503z00_2381 =
														memcmp(BgL_tmpz00_3609, BgL_auxz00_3611,
														BgL_l1z00_2378);
												}
												BgL_test2157z00_3604 =
													((long) (BgL_arg1503z00_2381) == 0L);
											}
										else
											{	/* Eval/library.scm 260 */
												BgL_test2157z00_3604 = ((bool_t) 0);
											}
									}
								}
								if (BgL_test2157z00_3604)
									{	/* Eval/library.scm 260 */
										BgL_test2156z00_3603 = ((bool_t) 1);
									}
								else
									{	/* Eval/library.scm 261 */
										obj_t BgL_string1z00_2387;

										BgL_string1z00_2387 = string_to_bstring(OS_CLASS);
										{	/* Eval/library.scm 261 */
											long BgL_l1z00_2389;

											BgL_l1z00_2389 = STRING_LENGTH(BgL_string1z00_2387);
											if ((BgL_l1z00_2389 == 5L))
												{	/* Eval/library.scm 261 */
													int BgL_arg1503z00_2392;

													{	/* Eval/library.scm 261 */
														char *BgL_auxz00_3622;
														char *BgL_tmpz00_3620;

														BgL_auxz00_3622 =
															BSTRING_TO_STRING
															(BGl_string1930z00zz__libraryz00);
														BgL_tmpz00_3620 =
															BSTRING_TO_STRING(BgL_string1z00_2387);
														BgL_arg1503z00_2392 =
															memcmp(BgL_tmpz00_3620, BgL_auxz00_3622,
															BgL_l1z00_2389);
													}
													BgL_test2156z00_3603 =
														((long) (BgL_arg1503z00_2392) == 0L);
												}
											else
												{	/* Eval/library.scm 261 */
													BgL_test2156z00_3603 = ((bool_t) 0);
												}
										}
									}
							}
							if (BgL_test2156z00_3603)
								{	/* Eval/library.scm 260 */
									if (CBOOL(BgL_versionz00_1415))
										{	/* Eval/library.scm 248 */
											if (STRINGP(BgL_versionz00_1415))
												{	/* Eval/library.scm 251 */
													obj_t BgL_list1370z00_2399;

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

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

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

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

																	BgL_arg1374z00_2403 =
																		MAKE_YOUNG_PAIR(BgL_versionz00_1415, BNIL);
																	BgL_arg1373z00_2402 =
																		MAKE_YOUNG_PAIR
																		(BGl_string1931z00zz__libraryz00,
																		BgL_arg1374z00_2403);
																}
																BgL_arg1372z00_2401 =
																	MAKE_YOUNG_PAIR
																	(BGl_libraryzd2threadzd2suffixz00zz__libraryz00,
																	BgL_arg1373z00_2402);
															}
															BgL_arg1371z00_2400 =
																MAKE_YOUNG_PAIR(BgL_suffixz00_75,
																BgL_arg1372z00_2401);
														}
														BgL_list1370z00_2399 =
															MAKE_YOUNG_PAIR(BgL_basez00_1414,
															BgL_arg1371z00_2400);
													}
													return
														BGl_stringzd2appendzd2zz__r4_strings_6_7z00
														(BgL_list1370z00_2399);
												}
											else
												{	/* Eval/library.scm 250 */
													return
														BGl_errorz00zz__errorz00
														(BGl_symbol1932z00zz__libraryz00,
														BGl_string1934z00zz__libraryz00,
														BgL_versionz00_1415);
												}
										}
									else
										{	/* Eval/library.scm 248 */
											return
												string_append_3(BgL_basez00_1414, BgL_suffixz00_75,
												BGl_libraryzd2threadzd2suffixz00zz__libraryz00);
										}
								}
							else
								{	/* Eval/library.scm 263 */
									bool_t BgL_test2162z00_3639;

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

										BgL_string1z00_2404 = string_to_bstring(OS_CLASS);
										{	/* Eval/library.scm 263 */
											long BgL_l1z00_2406;

											BgL_l1z00_2406 = STRING_LENGTH(BgL_string1z00_2404);
											if ((BgL_l1z00_2406 == 5L))
												{	/* Eval/library.scm 263 */
													int BgL_arg1503z00_2409;

													{	/* Eval/library.scm 263 */
														char *BgL_auxz00_3646;
														char *BgL_tmpz00_3644;

														BgL_auxz00_3646 =
															BSTRING_TO_STRING
															(BGl_string1935z00zz__libraryz00);
														BgL_tmpz00_3644 =
															BSTRING_TO_STRING(BgL_string1z00_2404);
														BgL_arg1503z00_2409 =
															memcmp(BgL_tmpz00_3644, BgL_auxz00_3646,
															BgL_l1z00_2406);
													}
													BgL_test2162z00_3639 =
														((long) (BgL_arg1503z00_2409) == 0L);
												}
											else
												{	/* Eval/library.scm 263 */
													BgL_test2162z00_3639 = ((bool_t) 0);
												}
										}
									}
									if (BgL_test2162z00_3639)
										{	/* Eval/library.scm 263 */
											return string_append(BgL_basez00_1414, BgL_suffixz00_75);
										}
									else
										{	/* Eval/library.scm 263 */
											return
												BGl_errorz00zz__errorz00
												(BGl_symbol1932z00zz__libraryz00,
												BGl_string1936z00zz__libraryz00,
												string_to_bstring(OS_CLASS));
										}
								}
						}
					else
						{	/* Eval/library.scm 257 */
							if ((BgL_backendz00_76 == BGl_symbol1937z00zz__libraryz00))
								{	/* Eval/library.scm 257 */
									if (CBOOL(BgL_versionz00_1415))
										{	/* Eval/library.scm 248 */
											if (STRINGP(BgL_versionz00_1415))
												{	/* Eval/library.scm 251 */
													obj_t BgL_list1370z00_2417;

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

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

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

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

																	BgL_arg1374z00_2421 =
																		MAKE_YOUNG_PAIR(BgL_versionz00_1415, BNIL);
																	BgL_arg1373z00_2420 =
																		MAKE_YOUNG_PAIR
																		(BGl_string1931z00zz__libraryz00,
																		BgL_arg1374z00_2421);
																}
																BgL_arg1372z00_2419 =
																	MAKE_YOUNG_PAIR
																	(BGl_libraryzd2threadzd2suffixz00zz__libraryz00,
																	BgL_arg1373z00_2420);
															}
															BgL_arg1371z00_2418 =
																MAKE_YOUNG_PAIR(BgL_suffixz00_75,
																BgL_arg1372z00_2419);
														}
														BgL_list1370z00_2417 =
															MAKE_YOUNG_PAIR(BgL_basez00_1414,
															BgL_arg1371z00_2418);
													}
													return
														BGl_stringzd2appendzd2zz__r4_strings_6_7z00
														(BgL_list1370z00_2417);
												}
											else
												{	/* Eval/library.scm 250 */
													return
														BGl_errorz00zz__errorz00
														(BGl_symbol1932z00zz__libraryz00,
														BGl_string1934z00zz__libraryz00,
														BgL_versionz00_1415);
												}
										}
									else
										{	/* Eval/library.scm 248 */
											return
												string_append_3(BgL_basez00_1414, BgL_suffixz00_75,
												BGl_libraryzd2threadzd2suffixz00zz__libraryz00);
										}
								}
							else
								{	/* Eval/library.scm 257 */
									bool_t BgL_test2167z00_3668;

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

										BgL__ortest_1042z00_1433 =
											(BgL_backendz00_76 == BGl_symbol1939z00zz__libraryz00);
										if (BgL__ortest_1042z00_1433)
											{	/* Eval/library.scm 257 */
												BgL_test2167z00_3668 = BgL__ortest_1042z00_1433;
											}
										else
											{	/* Eval/library.scm 257 */
												BgL_test2167z00_3668 =
													(BgL_backendz00_76 ==
													BGl_symbol1941z00zz__libraryz00);
											}
									}
									if (BgL_test2167z00_3668)
										{	/* Eval/library.scm 257 */
											if (CBOOL(BgL_versionz00_1415))
												{	/* Eval/library.scm 248 */
													if (STRINGP(BgL_versionz00_1415))
														{	/* Eval/library.scm 251 */
															obj_t BgL_list1370z00_2423;

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

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

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

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

																			BgL_arg1374z00_2427 =
																				MAKE_YOUNG_PAIR(BgL_versionz00_1415,
																				BNIL);
																			BgL_arg1373z00_2426 =
																				MAKE_YOUNG_PAIR
																				(BGl_string1931z00zz__libraryz00,
																				BgL_arg1374z00_2427);
																		}
																		BgL_arg1372z00_2425 =
																			MAKE_YOUNG_PAIR
																			(BGl_libraryzd2threadzd2suffixz00zz__libraryz00,
																			BgL_arg1373z00_2426);
																	}
																	BgL_arg1371z00_2424 =
																		MAKE_YOUNG_PAIR(BgL_suffixz00_75,
																		BgL_arg1372z00_2425);
																}
																BgL_list1370z00_2423 =
																	MAKE_YOUNG_PAIR(BgL_basez00_1414,
																	BgL_arg1371z00_2424);
															}
															return
																BGl_stringzd2appendzd2zz__r4_strings_6_7z00
																(BgL_list1370z00_2423);
														}
													else
														{	/* Eval/library.scm 250 */
															return
																BGl_errorz00zz__errorz00
																(BGl_symbol1932z00zz__libraryz00,
																BGl_string1934z00zz__libraryz00,
																BgL_versionz00_1415);
														}
												}
											else
												{	/* Eval/library.scm 248 */
													return
														string_append_3(BgL_basez00_1414, BgL_suffixz00_75,
														BGl_libraryzd2threadzd2suffixz00zz__libraryz00);
												}
										}
									else
										{	/* Eval/library.scm 257 */
											return
												BGl_errorz00zz__errorz00
												(BGl_symbol1932z00zz__libraryz00,
												BGl_string1943z00zz__libraryz00, BgL_backendz00_76);
										}
								}
						}
				}
			}
		}

	}



/* &library-file-name */
	obj_t BGl_z62libraryzd2filezd2namez62zz__libraryz00(obj_t BgL_envz00_2740,
		obj_t BgL_libraryz00_2741, obj_t BgL_suffixz00_2742,
		obj_t BgL_backendz00_2743)
	{
		{	/* Eval/library.scm 244 */
			{	/* Eval/library.scm 255 */
				obj_t BgL_auxz00_3699;
				obj_t BgL_auxz00_3692;
				obj_t BgL_auxz00_3685;

				if (SYMBOLP(BgL_backendz00_2743))
					{	/* Eval/library.scm 255 */
						BgL_auxz00_3699 = BgL_backendz00_2743;
					}
				else
					{
						obj_t BgL_auxz00_3702;

						BgL_auxz00_3702 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(9176L), BGl_string1944z00zz__libraryz00,
							BGl_string1883z00zz__libraryz00, BgL_backendz00_2743);
						FAILURE(BgL_auxz00_3702, BFALSE, BFALSE);
					}
				if (STRINGP(BgL_suffixz00_2742))
					{	/* Eval/library.scm 255 */
						BgL_auxz00_3692 = BgL_suffixz00_2742;
					}
				else
					{
						obj_t BgL_auxz00_3695;

						BgL_auxz00_3695 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(9176L), BGl_string1944z00zz__libraryz00,
							BGl_string1869z00zz__libraryz00, BgL_suffixz00_2742);
						FAILURE(BgL_auxz00_3695, BFALSE, BFALSE);
					}
				if (SYMBOLP(BgL_libraryz00_2741))
					{	/* Eval/library.scm 255 */
						BgL_auxz00_3685 = BgL_libraryz00_2741;
					}
				else
					{
						obj_t BgL_auxz00_3688;

						BgL_auxz00_3688 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(9176L), BGl_string1944z00zz__libraryz00,
							BGl_string1883z00zz__libraryz00, BgL_libraryz00_2741);
						FAILURE(BgL_auxz00_3688, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2filezd2namez00zz__libraryz00(BgL_auxz00_3685,
					BgL_auxz00_3692, BgL_auxz00_3699);
			}
		}

	}



/* 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_top2175z00_3708;

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

					BgL_tmp2174z00_3707 =
						CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_libz00_78,
							BGl_za2loadedzd2librariesza2zd2zz__libraryz00));
					BGL_EXITD_POP_PROTECT(BgL_top2175z00_3708);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					return BgL_tmp2174z00_3707;
				}
			}
		}

	}



/* &library-loaded? */
	obj_t BGl_z62libraryzd2loadedzf3z43zz__libraryz00(obj_t BgL_envz00_2744,
		obj_t BgL_libz00_2745)
	{
		{	/* Eval/library.scm 291 */
			{	/* Eval/library.scm 292 */
				bool_t BgL_tmpz00_3716;

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

					if (SYMBOLP(BgL_libz00_2745))
						{	/* Eval/library.scm 292 */
							BgL_auxz00_3717 = BgL_libz00_2745;
						}
					else
						{
							obj_t BgL_auxz00_3720;

							BgL_auxz00_3720 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
								BINT(10618L), BGl_string1945z00zz__libraryz00,
								BGl_string1883z00zz__libraryz00, BgL_libz00_2745);
							FAILURE(BgL_auxz00_3720, BFALSE, BFALSE);
						}
					BgL_tmpz00_3716 =
						BGl_libraryzd2loadedzf3z21zz__libraryz00(BgL_auxz00_3717);
				}
				return BBOOL(BgL_tmpz00_3716);
			}
		}

	}



/* 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_tmp2177z00_3726;

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

	}



/* &library-mark-loaded! */
	obj_t BGl_z62libraryzd2markzd2loadedz12z70zz__libraryz00(obj_t
		BgL_envz00_2746, obj_t BgL_libz00_2747)
	{
		{	/* Eval/library.scm 298 */
			{	/* Eval/library.scm 300 */
				obj_t BgL_auxz00_3730;

				if (SYMBOLP(BgL_libz00_2747))
					{	/* Eval/library.scm 300 */
						BgL_auxz00_3730 = BgL_libz00_2747;
					}
				else
					{
						obj_t BgL_auxz00_3733;

						BgL_auxz00_3733 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(11036L), BGl_string1946z00zz__libraryz00,
							BGl_string1883z00zz__libraryz00, BgL_libz00_2747);
						FAILURE(BgL_auxz00_3733, BFALSE, BFALSE);
					}
				return BGl_libraryzd2markzd2loadedz12z12zz__libraryz00(BgL_auxz00_3730);
			}
		}

	}



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

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

					if (CBOOL(BGl_memberz00zz__r4_pairs_and_lists_6_3z00(BgL_initz00_80,
								BGl_za2loadedzd2initzd2librariesza2z00zz__libraryz00)))
						{	/* Eval/library.scm 308 */
							BgL_tmp2179z00_3738 = 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_1448;

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

									BgL_tmp2179z00_3738 =
										BGl_loadqz00zz__evalz00(BgL_initz00_80, BgL_envz00_1448);
								}
							}
						}
					BGL_EXITD_POP_PROTECT(BgL_top2180z00_3739);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
					return BgL_tmp2179z00_3738;
				}
			}
		}

	}



/* 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_1450;

					BgL_modz00_1450 = BGl_evalzd2modulezd2zz__evmodulez00();
					{	/* Eval/library.scm 400 */
						obj_t BgL_tmpz00_3752;

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

						BgL_exitd1048z00_1452 = BGL_EXITD_TOP_AS_OBJ();
						{	/* Eval/library.scm 403 */
							obj_t BgL_zc3z04anonymousza31378ze3z87_2748;

							BgL_zc3z04anonymousza31378ze3z87_2748 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04anonymousza31378ze3ze5zz__libraryz00, (int) (0L),
								(int) (1L));
							PROCEDURE_SET(BgL_zc3z04anonymousza31378ze3z87_2748, (int) (0L),
								BgL_modz00_1450);
							{	/* Eval/library.scm 401 */
								obj_t BgL_arg1787z00_2454;

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

									BgL_arg1788z00_2455 =
										BGL_EXITD_PROTECT(BgL_exitd1048z00_1452);
									BgL_arg1787z00_2454 =
										MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31378ze3z87_2748,
										BgL_arg1788z00_2455);
								}
								BGL_EXITD_PROTECT_SET(BgL_exitd1048z00_1452,
									BgL_arg1787z00_2454);
								BUNSPEC;
							}
							{	/* Eval/library.scm 402 */
								obj_t BgL_tmp1050z00_1454;

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

										BgL_tmp1050z00_1454 =
											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_test2184z00_3770;

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

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

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

															BgL_tmp2185z00_3771 =
																CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																(BgL_libz00_81,
																	BGl_za2loadedzd2librariesza2zd2zz__libraryz00));
															BGL_EXITD_POP_PROTECT(BgL_top2186z00_3772);
															BUNSPEC;
															BGL_MUTEX_UNLOCK
																(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
															BgL_res1819z00_2430 = BgL_tmp2185z00_3771;
														}
													}
													BgL_test2184z00_3770 = BgL_res1819z00_2430;
												}
												if (BgL_test2184z00_3770)
													{	/* Eval/library.scm 175 */
														obj_t BgL_g1040z00_2432;

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

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

																BgL_venvz00_1518 =
																	BGl_getenvz00zz__osz00
																	(BGl_string1947z00zz__libraryz00);
																if (CBOOL(BgL_venvz00_1518))
																	{	/* Eval/library.scm 329 */
																		BgL_pathz00_1464 =
																			MAKE_YOUNG_PAIR
																			(BGl_string1948z00zz__libraryz00,
																			BGl_unixzd2pathzd2ze3listze3zz__osz00
																			(BgL_venvz00_1518));
																	}
																else
																	{	/* Eval/library.scm 329 */
																		BgL_pathz00_1464 =
																			BGl_bigloozd2libraryzd2pathz00zz__paramz00
																			();
																	}
															}
														{	/* Eval/library.scm 326 */
															obj_t BgL_initz00_1465;

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

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

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

																		BgL_arg1621z00_2438 =
																			SYMBOL_TO_STRING(BgL_libz00_81);
																		BgL_arg1353z00_2436 =
																			BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																			(BgL_arg1621z00_2438);
																	}
																	BgL_arg1411z00_1516 =
																		string_append(BgL_arg1353z00_2436,
																		BGl_string1925z00zz__libraryz00);
																}
																BgL_initz00_1465 =
																	BGl_findzd2filezf2pathz20zz__osz00
																	(BgL_arg1411z00_1516, BgL_pathz00_1464);
															}
															{	/* Eval/library.scm 332 */
																obj_t BgL_bez00_1466;

																BgL_bez00_1466 =
																	BGl_symbol1927z00zz__libraryz00;
																{	/* Eval/library.scm 333 */

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

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

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

																			BgL_nz00_1468 =
																				BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																				(BGl_libraryzd2filezd2namez00zz__libraryz00
																				(BgL_libz00_81,
																					BGl_string1866z00zz__libraryz00,
																					BgL_bez00_1466), BgL_bez00_1466);
																			{	/* Eval/library.scm 338 */
																				obj_t BgL_nsz00_1469;

																				BgL_nsz00_1469 =
																					BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																					(BGl_libraryzd2filezd2namez00zz__libraryz00
																					(BgL_libz00_81,
																						string_append
																						(BGl_string1922z00zz__libraryz00,
																							BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																							()), BgL_bez00_1466),
																					BgL_bez00_1466);
																				{	/* Eval/library.scm 340 */
																					obj_t BgL_nez00_1470;

																					BgL_nez00_1470 =
																						BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																						(BGl_libraryzd2filezd2namez00zz__libraryz00
																						(BgL_libz00_81,
																							string_append
																							(BGl_string1923z00zz__libraryz00,
																								BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																								()), BgL_bez00_1466),
																						BgL_bez00_1466);
																					{	/* Eval/library.scm 344 */
																						obj_t BgL_rscz00_1471;

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

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

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

																									BgL_arg1621z00_2444 =
																										SYMBOL_TO_STRING
																										(BgL_libz00_81);
																									BgL_arg1402z00_1508 =
																										BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																										(BgL_arg1621z00_2444);
																								}
																								BgL_pz00_1506 =
																									string_append_3
																									(BGl_string1949z00zz__libraryz00,
																									BgL_arg1402z00_1508,
																									BGl_string1950z00zz__libraryz00);
																							}
																							if (fexists(BSTRING_TO_STRING
																									(BgL_pz00_1506)))
																								{	/* Eval/library.scm 357 */
																									BgL_rscz00_1471 =
																										BgL_pz00_1506;
																								}
																							else
																								{	/* Eval/library.scm 357 */
																									BgL_rscz00_1471 = BFALSE;
																								}
																						}
																						{	/* Eval/library.scm 348 */
																							obj_t BgL_libsz00_1472;

																							BgL_libsz00_1472 =
																								BGl_findzd2filezf2pathz20zz__osz00
																								(BgL_nsz00_1469,
																								BgL_pathz00_1464);
																							{	/* Eval/library.scm 358 */
																								obj_t BgL_libez00_1473;

																								BgL_libez00_1473 =
																									BGl_findzd2filezf2pathz20zz__osz00
																									(BgL_nez00_1470,
																									BgL_pathz00_1464);
																								{	/* Eval/library.scm 359 */
																									obj_t BgL_namez00_1474;

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

																										BgL_arg1621z00_2447 =
																											SYMBOL_TO_STRING
																											(BgL_libz00_81);
																										BgL_namez00_1474 =
																											BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																											(BgL_arg1621z00_2447);
																									}
																									{	/* Eval/library.scm 360 */
																										obj_t BgL_init_sz00_1475;

																										if (CBOOL(BgL_infoz00_1467))
																											{	/* Eval/library.scm 361 */
																												BgL_init_sz00_1475 =
																													STRUCT_REF(
																													((obj_t)
																														BgL_infoz00_1467),
																													(int) (3L));
																											}
																										else
																											{	/* Eval/library.scm 361 */
																												BgL_init_sz00_1475 =
																													BFALSE;
																											}
																										{	/* Eval/library.scm 361 */
																											obj_t BgL_init_ez00_1476;

																											if (CBOOL
																												(BgL_infoz00_1467))
																												{	/* Eval/library.scm 362 */
																													BgL_init_ez00_1476 =
																														STRUCT_REF(
																														((obj_t)
																															BgL_infoz00_1467),
																														(int) (4L));
																												}
																											else
																												{	/* Eval/library.scm 362 */
																													BgL_init_ez00_1476 =
																														BFALSE;
																												}
																											{	/* Eval/library.scm 362 */
																												obj_t
																													BgL_module_sz00_1477;
																												if (CBOOL
																													(BgL_infoz00_1467))
																													{	/* Eval/library.scm 363 */
																														BgL_module_sz00_1477
																															=
																															STRUCT_REF((
																																(obj_t)
																																BgL_infoz00_1467),
																															(int) (5L));
																													}
																												else
																													{	/* Eval/library.scm 363 */
																														BgL_module_sz00_1477
																															= BFALSE;
																													}
																												{	/* Eval/library.scm 363 */
																													obj_t
																														BgL_module_ez00_1478;
																													if (CBOOL
																														(BgL_infoz00_1467))
																														{	/* Eval/library.scm 367 */
																															BgL_module_ez00_1478
																																=
																																STRUCT_REF((
																																	(obj_t)
																																	BgL_infoz00_1467),
																																(int) (6L));
																														}
																													else
																														{	/* Eval/library.scm 367 */
																															BgL_module_ez00_1478
																																= BFALSE;
																														}
																													{	/* Eval/library.scm 367 */

																														{	/* Eval/library.scm 372 */
																															bool_t
																																BgL_test2197z00_3845;
																															if (STRINGP
																																(BgL_rscz00_1471))
																																{	/* Eval/library.scm 372 */
																																	BgL_test2197z00_3845
																																		=
																																		((bool_t)
																																		0);
																																}
																															else
																																{	/* Eval/library.scm 372 */
																																	if (STRINGP
																																		(BgL_libsz00_1472))
																																		{	/* Eval/library.scm 372 */
																																			BgL_test2197z00_3845
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																	else
																																		{	/* Eval/library.scm 372 */
																																			BgL_test2197z00_3845
																																				=
																																				(
																																				(bool_t)
																																				1);
																																		}
																																}
																															if (BgL_test2197z00_3845)
																																{	/* Eval/library.scm 374 */
																																	obj_t
																																		BgL_arg1387z00_1482;
																																	{	/* Eval/library.scm 374 */
																																		obj_t
																																			BgL_list1388z00_1483;
																																		{	/* Eval/library.scm 374 */
																																			obj_t
																																				BgL_arg1389z00_1484;
																																			BgL_arg1389z00_1484
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BgL_nsz00_1469,
																																				BNIL);
																																			BgL_list1388z00_1483
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BgL_libz00_81,
																																				BgL_arg1389z00_1484);
																																		}
																																		BgL_arg1387z00_1482
																																			=
																																			BGl_formatz00zz__r4_output_6_10_3z00
																																			(BGl_string1951z00zz__libraryz00,
																																			BgL_list1388z00_1483);
																																	}
																																	BGl_errorz00zz__errorz00
																																		(BGl_symbol1952z00zz__libraryz00,
																																		BgL_arg1387z00_1482,
																																		BgL_pathz00_1464);
																																}
																															else
																																{	/* Eval/library.scm 372 */
																																	if (STRINGP
																																		(BgL_libez00_1473))
																																		{	/* Eval/library.scm 376 */
																																			if (STRINGP(BgL_libsz00_1472))
																																				{	/* Eval/library.scm 389 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_libsz00_1472,
																																						BgL_init_sz00_1475,
																																						BgL_module_sz00_1477);
																																				}
																																			else
																																				{	/* Eval/library.scm 389 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_rscz00_1471,
																																						BgL_init_sz00_1475,
																																						BgL_module_sz00_1477);
																																				}
																																			BGl_dynamiczd2loadzd2zz__osz00
																																				(BgL_libez00_1473,
																																				BgL_init_ez00_1476,
																																				BgL_module_ez00_1478);
																																		}
																																	else
																																		{	/* Eval/library.scm 376 */
																																			{	/* Eval/library.scm 382 */
																																				obj_t
																																					BgL_arg1392z00_1487;
																																				{	/* Eval/library.scm 382 */
																																					obj_t
																																						BgL_list1396z00_1491;
																																					{	/* Eval/library.scm 382 */
																																						obj_t
																																							BgL_arg1397z00_1492;
																																						BgL_arg1397z00_1492
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_nez00_1470,
																																							BNIL);
																																						BgL_list1396z00_1491
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_libz00_81,
																																							BgL_arg1397z00_1492);
																																					}
																																					BgL_arg1392z00_1487
																																						=
																																						BGl_formatz00zz__r4_output_6_10_3z00
																																						(BGl_string1954z00zz__libraryz00,
																																						BgL_list1396z00_1491);
																																				}
																																				{	/* Eval/library.scm 379 */
																																					obj_t
																																						BgL_list1393z00_1488;
																																					{	/* Eval/library.scm 379 */
																																						obj_t
																																							BgL_arg1394z00_1489;
																																						{	/* Eval/library.scm 379 */
																																							obj_t
																																								BgL_arg1395z00_1490;
																																							BgL_arg1395z00_1490
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BgL_pathz00_1464,
																																								BNIL);
																																							BgL_arg1394z00_1489
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BgL_arg1392z00_1487,
																																								BgL_arg1395z00_1490);
																																						}
																																						BgL_list1393z00_1488
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BGl_string1953z00zz__libraryz00,
																																							BgL_arg1394z00_1489);
																																					}
																																					BGl_evwarningz00zz__everrorz00
																																						(BFALSE,
																																						BgL_list1393z00_1488);
																																				}
																																			}
																																			if (STRINGP(BgL_libsz00_1472))
																																				{	/* Eval/library.scm 385 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_libsz00_1472,
																																						BgL_init_sz00_1475,
																																						BgL_module_sz00_1477);
																																				}
																																			else
																																				{	/* Eval/library.scm 385 */
																																					BGl_dynamiczd2loadzd2zz__osz00
																																						(BgL_rscz00_1471,
																																						BgL_init_sz00_1475,
																																						BgL_module_sz00_1477);
																																				}
																																		}
																																}
																														}
																														{	/* Eval/library.scm 393 */
																															bool_t
																																BgL_test2203z00_3872;
																															if (CBOOL
																																(BgL_infoz00_1467))
																																{	/* Eval/library.scm 393 */
																																	BgL_test2203z00_3872
																																		=
																																		CBOOL
																																		(STRUCT_REF(
																																			((obj_t)
																																				BgL_infoz00_1467),
																																			(int)
																																			(9L)));
																																}
																															else
																																{	/* Eval/library.scm 393 */
																																	BgL_test2203z00_3872
																																		=
																																		((bool_t)
																																		0);
																																}
																															if (BgL_test2203z00_3872)
																																{	/* Eval/library.scm 394 */
																																	obj_t
																																		BgL_g1400z00_1497;
																																	BgL_g1400z00_1497
																																		=
																																		BGl_list1955z00zz__libraryz00;
																																	{	/* Eval/eval.scm 81 */
																																		obj_t
																																			BgL_envz00_1498;
																																		BgL_envz00_1498
																																			=
																																			BGl_defaultzd2environmentzd2zz__evalz00
																																			();
																																		{	/* Eval/eval.scm 81 */

																																			BGl_evalz00zz__evalz00
																																				(BgL_g1400z00_1497,
																																				BgL_envz00_1498);
																																		}
																																	}
																																}
																															else
																																{	/* Eval/library.scm 393 */
																																	BFALSE;
																																}
																														}
																														{	/* Eval/library.scm 395 */
																															bool_t
																																BgL_test2205z00_3881;
																															if (CBOOL
																																(BgL_infoz00_1467))
																																{	/* Eval/library.scm 395 */
																																	BgL_test2205z00_3881
																																		=
																																		CBOOL
																																		(STRUCT_REF(
																																			((obj_t)
																																				BgL_infoz00_1467),
																																			(int)
																																			(10L)));
																																}
																															else
																																{	/* Eval/library.scm 395 */
																																	BgL_test2205z00_3881
																																		=
																																		((bool_t)
																																		0);
																																}
																															if (BgL_test2205z00_3881)
																																{	/* Eval/library.scm 396 */
																																	obj_t
																																		BgL_g1400z00_1500;
																																	BgL_g1400z00_1500
																																		=
																																		BGl_list1961z00zz__libraryz00;
																																	{	/* Eval/eval.scm 81 */
																																		obj_t
																																			BgL_envz00_1501;
																																		BgL_envz00_1501
																																			=
																																			BGl_defaultzd2environmentzd2zz__evalz00
																																			();
																																		{	/* Eval/eval.scm 81 */

																																			BGl_evalz00zz__evalz00
																																				(BgL_g1400z00_1500,
																																				BgL_envz00_1501);
																																		}
																																	}
																																}
																															else
																																{	/* Eval/library.scm 395 */
																																	BFALSE;
																																}
																														}
																														BgL_tmp1050z00_1454
																															=
																															BgL_infoz00_1467;
																													}
																												}
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
											}
										else
											{	/* Eval/library.scm 321 */
												BgL_tmp1050z00_1454 =
													BGl_bigloozd2typezd2errorz00zz__errorz00
													(BGl_symbol1952z00zz__libraryz00,
													BGl_string1965z00zz__libraryz00, BgL_libz00_81);
											}
									}
								{	/* Eval/library.scm 401 */
									bool_t BgL_test2207z00_3891;

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

										BgL_arg1786z00_2457 =
											BGL_EXITD_PROTECT(BgL_exitd1048z00_1452);
										BgL_test2207z00_3891 = PAIRP(BgL_arg1786z00_2457);
									}
									if (BgL_test2207z00_3891)
										{	/* Eval/library.scm 401 */
											obj_t BgL_arg1784z00_2458;

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

												BgL_arg1785z00_2459 =
													BGL_EXITD_PROTECT(BgL_exitd1048z00_1452);
												BgL_arg1784z00_2458 =
													CDR(((obj_t) BgL_arg1785z00_2459));
											}
											BGL_EXITD_PROTECT_SET(BgL_exitd1048z00_1452,
												BgL_arg1784z00_2458);
											BUNSPEC;
										}
									else
										{	/* Eval/library.scm 401 */
											BFALSE;
										}
								}
								BGL_MODULE_SET(BgL_modz00_1450);
								return BgL_tmp1050z00_1454;
							}
						}
					}
				}
			}
		}

	}



/* &library-load */
	obj_t BGl_z62libraryzd2loadzb0zz__libraryz00(obj_t BgL_envz00_2749,
		obj_t BgL_libz00_2750, obj_t BgL_pathz00_2751)
	{
		{	/* Eval/library.scm 315 */
			return
				BGl_libraryzd2loadzd2zz__libraryz00(BgL_libz00_2750, BgL_pathz00_2751);
		}

	}



/* &<@anonymous:1378> */
	obj_t BGl_z62zc3z04anonymousza31378ze3ze5zz__libraryz00(obj_t BgL_envz00_2752)
	{
		{	/* Eval/library.scm 401 */
			{	/* Eval/library.scm 403 */
				obj_t BgL_tmpz00_3900;

				BgL_tmpz00_3900 = PROCEDURE_REF(BgL_envz00_2752, (int) (0L));
				return BGL_MODULE_SET(BgL_tmpz00_3900);
			}
		}

	}



/* 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_1521;

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

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

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

							BgL_arg1621z00_2464 = SYMBOL_TO_STRING(((obj_t) BgL_libz00_83));
							BgL_arg1353z00_2462 =
								BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1621z00_2464);
						}
						BgL_arg1415z00_1524 =
							string_append(BgL_arg1353z00_2462,
							BGl_string1925z00zz__libraryz00);
					}
					BgL_initz00_1521 =
						BGl_findzd2filezf2pathz20zz__osz00(BgL_arg1415z00_1524,
						BgL_pathz00_84);
				}
				if (CBOOL(BgL_initz00_1521))
					{	/* Eval/library.scm 416 */
						bool_t BgL_tozd2loadzd2_1522;

						BgL_tozd2loadzd2_1522 = ((bool_t) 0);
						{	/* Eval/library.scm 417 */
							obj_t BgL_top2210z00_3912;

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

								if (CBOOL(BGl_memberz00zz__r4_pairs_and_lists_6_3z00
										(BgL_initz00_1521,
											BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00)))
									{	/* Eval/library.scm 418 */
										BgL_tmp2209z00_3911 = BFALSE;
									}
								else
									{	/* Eval/library.scm 418 */
										BgL_tozd2loadzd2_1522 = ((bool_t) 1);
										BgL_tmp2209z00_3911 =
											(BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00 =
											MAKE_YOUNG_PAIR(BgL_initz00_1521,
												BGl_za2loadedzd2initzd2filesza2z00zz__libraryz00),
											BUNSPEC);
									}
								BGL_EXITD_POP_PROTECT(BgL_top2210z00_3912);
								BUNSPEC;
								BGL_MUTEX_UNLOCK(BGl_za2libraryzd2mutexza2zd2zz__libraryz00);
								BgL_tmp2209z00_3911;
							}
						}
						if (BgL_tozd2loadzd2_1522)
							{	/* Eval/library.scm 421 */
								return BGl_loadzd2initzd2zz__libraryz00(BgL_initz00_1521);
							}
						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_2754,
		obj_t BgL_libz00_2755, obj_t BgL_pathz00_2756)
	{
		{	/* Eval/library.scm 413 */
			return
				BGl_libraryzd2loadzd2initz00zz__libraryz00(BgL_libz00_2755,
				BgL_pathz00_2756);
		}

	}



/* 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_1525;

				BgL_modz00_1525 = BGl_evalzd2modulezd2zz__evmodulez00();
				{	/* Eval/library.scm 429 */
					obj_t BgL_tmpz00_3926;

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

					BgL_exitd1052z00_1527 = BGL_EXITD_TOP_AS_OBJ();
					{	/* Eval/library.scm 496 */
						obj_t BgL_zc3z04anonymousza31443ze3z87_2757;

						BgL_zc3z04anonymousza31443ze3z87_2757 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31443ze3ze5zz__libraryz00, (int) (0L),
							(int) (1L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31443ze3z87_2757, (int) (0L),
							BgL_modz00_1525);
						{	/* Eval/library.scm 430 */
							obj_t BgL_arg1787z00_2465;

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

								BgL_arg1788z00_2466 = BGL_EXITD_PROTECT(BgL_exitd1052z00_1527);
								BgL_arg1787z00_2465 =
									MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31443ze3z87_2757,
									BgL_arg1788z00_2466);
							}
							BGL_EXITD_PROTECT_SET(BgL_exitd1052z00_1527, BgL_arg1787z00_2465);
							BUNSPEC;
						}
						{	/* Eval/library.scm 432 */
							obj_t BgL_tmp1054z00_1529;

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

									BgL_tmp1054z00_1529 =
										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_1535;

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

													BgL_venvz00_1576 =
														BGl_getenvz00zz__osz00
														(BGl_string1947z00zz__libraryz00);
													if (CBOOL(BgL_venvz00_1576))
														{	/* Eval/library.scm 440 */
															BgL_pathz00_1535 =
																MAKE_YOUNG_PAIR(BGl_string1948z00zz__libraryz00,
																BGl_unixzd2pathzd2ze3listze3zz__osz00
																(BgL_venvz00_1576));
														}
													else
														{	/* Eval/library.scm 440 */
															BgL_pathz00_1535 =
																BGl_bigloozd2libraryzd2pathz00zz__paramz00();
														}
												}
											{	/* Eval/library.scm 437 */
												obj_t BgL_bez00_1536;

												BgL_bez00_1536 = BGl_symbol1927z00zz__libraryz00;
												{	/* Eval/library.scm 443 */

													BGl_libraryzd2loadzd2initz00zz__libraryz00
														(BgL_libz00_85, BgL_pathz00_1535);
													{	/* Eval/library.scm 447 */
														obj_t BgL_infoz00_1537;

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

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

															BgL_nz00_1538 =
																BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																(BGl_libraryzd2filezd2namez00zz__libraryz00
																(BgL_libz00_85, BGl_string1866z00zz__libraryz00,
																	BgL_bez00_1536), BgL_bez00_1536);
															{	/* Eval/library.scm 448 */
																obj_t BgL_nsz00_1539;

																BgL_nsz00_1539 =
																	BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																	(BGl_libraryzd2filezd2namez00zz__libraryz00
																	(BgL_libz00_85,
																		string_append
																		(BGl_string1922z00zz__libraryz00,
																			BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																			()), BgL_bez00_1536), BgL_bez00_1536);
																{	/* Eval/library.scm 451 */
																	obj_t BgL_nez00_1540;

																	BgL_nez00_1540 =
																		BGl_makezd2sharedzd2libzd2namezd2zz__osz00
																		(BGl_libraryzd2filezd2namez00zz__libraryz00
																		(BgL_libz00_85,
																			string_append
																			(BGl_string1923z00zz__libraryz00,
																				BGl_evalzd2libraryzd2suffixz00zz__libraryz00
																				()), BgL_bez00_1536), BgL_bez00_1536);
																	{	/* Eval/library.scm 455 */
																		obj_t BgL_rscz00_1541;

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

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

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

																					BgL_arg1621z00_2472 =
																						SYMBOL_TO_STRING(BgL_libz00_85);
																					BgL_arg1433z00_1567 =
																						BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																						(BgL_arg1621z00_2472);
																				}
																				BgL_pz00_1565 =
																					string_append_3
																					(BGl_string1949z00zz__libraryz00,
																					BgL_arg1433z00_1567,
																					BGl_string1950z00zz__libraryz00);
																			}
																			if (fexists(BSTRING_TO_STRING
																					(BgL_pz00_1565)))
																				{	/* Eval/library.scm 468 */
																					BgL_rscz00_1541 = BgL_pz00_1565;
																				}
																			else
																				{	/* Eval/library.scm 468 */
																					BgL_rscz00_1541 = BFALSE;
																				}
																		}
																		{	/* Eval/library.scm 459 */
																			obj_t BgL_libez00_1542;

																			BgL_libez00_1542 =
																				BGl_findzd2filezf2pathz20zz__osz00
																				(BgL_nez00_1540, BgL_pathz00_1535);
																			{	/* Eval/library.scm 469 */
																				obj_t BgL_namez00_1543;

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

																					BgL_arg1621z00_2475 =
																						SYMBOL_TO_STRING(BgL_libz00_85);
																					BgL_namez00_1543 =
																						BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																						(BgL_arg1621z00_2475);
																				}
																				{	/* Eval/library.scm 470 */
																					obj_t BgL_init_ez00_1544;

																					if (CBOOL(BgL_infoz00_1537))
																						{	/* Eval/library.scm 471 */
																							BgL_init_ez00_1544 =
																								STRUCT_REF(
																								((obj_t) BgL_infoz00_1537),
																								(int) (4L));
																						}
																					else
																						{	/* Eval/library.scm 471 */
																							BgL_init_ez00_1544 = BFALSE;
																						}
																					{	/* Eval/library.scm 471 */
																						obj_t BgL_module_ez00_1545;

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

																							if (STRINGP(BgL_rscz00_1541))
																								{	/* Eval/library.scm 477 */
																									if (STRINGP(BgL_libez00_1542))
																										{	/* Eval/library.scm 481 */
																											BGl_dynamiczd2loadzd2zz__osz00
																												(BgL_libez00_1542,
																												BgL_init_ez00_1544,
																												BgL_module_ez00_1545);
																										}
																									else
																										{	/* Eval/library.scm 487 */
																											obj_t BgL_arg1421z00_1548;

																											{	/* Eval/library.scm 487 */
																												obj_t
																													BgL_list1425z00_1552;
																												{	/* Eval/library.scm 487 */
																													obj_t
																														BgL_arg1426z00_1553;
																													BgL_arg1426z00_1553 =
																														MAKE_YOUNG_PAIR
																														(BgL_nez00_1540,
																														BNIL);
																													BgL_list1425z00_1552 =
																														MAKE_YOUNG_PAIR
																														(BgL_libz00_85,
																														BgL_arg1426z00_1553);
																												}
																												BgL_arg1421z00_1548 =
																													BGl_formatz00zz__r4_output_6_10_3z00
																													(BGl_string1954z00zz__libraryz00,
																													BgL_list1425z00_1552);
																											}
																											{	/* Eval/library.scm 484 */
																												obj_t
																													BgL_list1422z00_1549;
																												{	/* Eval/library.scm 484 */
																													obj_t
																														BgL_arg1423z00_1550;
																													{	/* Eval/library.scm 484 */
																														obj_t
																															BgL_arg1424z00_1551;
																														BgL_arg1424z00_1551
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_pathz00_1535,
																															BNIL);
																														BgL_arg1423z00_1550
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1421z00_1548,
																															BgL_arg1424z00_1551);
																													}
																													BgL_list1422z00_1549 =
																														MAKE_YOUNG_PAIR
																														(BGl_string1953z00zz__libraryz00,
																														BgL_arg1423z00_1550);
																												}
																												BGl_evwarningz00zz__everrorz00
																													(BFALSE,
																													BgL_list1422z00_1549);
																											}
																										}
																								}
																							else
																								{	/* Eval/library.scm 479 */
																									obj_t BgL_arg1427z00_1554;

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

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

																											BgL_arg1430z00_1556 =
																												MAKE_YOUNG_PAIR
																												(BgL_nsz00_1539, BNIL);
																											BgL_list1428z00_1555 =
																												MAKE_YOUNG_PAIR
																												(BgL_libz00_85,
																												BgL_arg1430z00_1556);
																										}
																										BgL_arg1427z00_1554 =
																											BGl_formatz00zz__r4_output_6_10_3z00
																											(BGl_string1951z00zz__libraryz00,
																											BgL_list1428z00_1555);
																									}
																									BGl_errorz00zz__errorz00
																										(BGl_symbol1952z00zz__libraryz00,
																										BgL_arg1427z00_1554,
																										BgL_pathz00_1535);
																								}
																							{	/* Eval/library.scm 492 */
																								bool_t BgL_test2223z00_4003;

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

																										BgL_g1400z00_1558 =
																											BGl_list1955z00zz__libraryz00;
																										{	/* Eval/eval.scm 81 */
																											obj_t BgL_envz00_1559;

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

																												BGl_evalz00zz__evalz00
																													(BgL_g1400z00_1558,
																													BgL_envz00_1559);
																											}
																										}
																									}
																								else
																									{	/* Eval/library.scm 492 */
																										BFALSE;
																									}
																							}
																							{	/* Eval/library.scm 494 */
																								bool_t BgL_test2225z00_4012;

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

																										BgL_g1400z00_1561 =
																											BGl_list1961z00zz__libraryz00;
																										{	/* Eval/eval.scm 81 */
																											obj_t BgL_envz00_1562;

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

																												BgL_tmp1054z00_1529 =
																													BGl_evalz00zz__evalz00
																													(BgL_g1400z00_1561,
																													BgL_envz00_1562);
																											}
																										}
																									}
																								else
																									{	/* Eval/library.scm 494 */
																										BgL_tmp1054z00_1529 =
																											BFALSE;
																									}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									else
										{	/* Eval/library.scm 434 */
											BgL_tmp1054z00_1529 =
												BGl_bigloozd2typezd2errorz00zz__errorz00
												(BGl_symbol1952z00zz__libraryz00,
												BGl_string1965z00zz__libraryz00, BgL_libz00_85);
										}
								}
							{	/* Eval/library.scm 430 */
								bool_t BgL_test2227z00_4022;

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

									BgL_arg1786z00_2481 =
										BGL_EXITD_PROTECT(BgL_exitd1052z00_1527);
									BgL_test2227z00_4022 = PAIRP(BgL_arg1786z00_2481);
								}
								if (BgL_test2227z00_4022)
									{	/* Eval/library.scm 430 */
										obj_t BgL_arg1784z00_2482;

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

											BgL_arg1785z00_2483 =
												BGL_EXITD_PROTECT(BgL_exitd1052z00_1527);
											BgL_arg1784z00_2482 = CDR(((obj_t) BgL_arg1785z00_2483));
										}
										BGL_EXITD_PROTECT_SET(BgL_exitd1052z00_1527,
											BgL_arg1784z00_2482);
										BUNSPEC;
									}
								else
									{	/* Eval/library.scm 430 */
										BFALSE;
									}
							}
							BGL_MODULE_SET(BgL_modz00_1525);
							return BgL_tmp1054z00_1529;
						}
					}
				}
			}
		}

	}



/* &library-load_e */
	obj_t BGl_z62libraryzd2load_ezb0zz__libraryz00(obj_t BgL_envz00_2758,
		obj_t BgL_libz00_2759, obj_t BgL_pathz00_2760)
	{
		{	/* Eval/library.scm 427 */
			return
				BGl_libraryzd2load_ezd2zz__libraryz00(BgL_libz00_2759,
				BgL_pathz00_2760);
		}

	}



/* &<@anonymous:1443> */
	obj_t BGl_z62zc3z04anonymousza31443ze3ze5zz__libraryz00(obj_t BgL_envz00_2761)
	{
		{	/* Eval/library.scm 430 */
			{	/* Eval/library.scm 496 */
				obj_t BgL_tmpz00_4031;

				BgL_tmpz00_4031 = PROCEDURE_REF(BgL_envz00_2761, (int) (0L));
				return BGL_MODULE_SET(BgL_tmpz00_4031);
			}
		}

	}



/* 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_1580;

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

						BgL_venvz00_1589 =
							BGl_getenvz00zz__osz00(BGl_string1947z00zz__libraryz00);
						if (CBOOL(BgL_venvz00_1589))
							{	/* Eval/library.scm 505 */
								BgL_pathz00_1580 =
									MAKE_YOUNG_PAIR(BGl_string1948z00zz__libraryz00,
									BGl_unixzd2pathzd2ze3listze3zz__osz00(BgL_venvz00_1589));
							}
						else
							{	/* Eval/library.scm 505 */
								BgL_pathz00_1580 = BGl_bigloozd2libraryzd2pathz00zz__paramz00();
							}
					}
				{	/* Eval/library.scm 508 */
					obj_t BgL_heapz00_1582;

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

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

							BgL_arg1621z00_2486 = SYMBOL_TO_STRING(BgL_libz00_87);
							BgL_arg1446z00_1587 =
								BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1621z00_2486);
						}
						BgL_heapz00_1582 =
							string_append(BgL_arg1446z00_1587,
							BGl_string1966z00zz__libraryz00);
					}
					{	/* Eval/library.scm 511 */
						obj_t BgL_initz00_1583;

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

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

								BgL_arg1621z00_2488 = SYMBOL_TO_STRING(BgL_libz00_87);
								BgL_arg1445z00_1586 =
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00
									(BgL_arg1621z00_2488);
							}
							BgL_initz00_1583 =
								string_append(BgL_arg1445z00_1586,
								BGl_string1925z00zz__libraryz00);
						}
						{	/* Eval/library.scm 512 */

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

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

									BgL__ortest_1059z00_1585 =
										BGl_findzd2filezf2pathz20zz__osz00(BgL_heapz00_1582,
										BgL_pathz00_1580);
									if (CBOOL(BgL__ortest_1059z00_1585))
										{	/* Eval/library.scm 513 */
											BgL_arg1444z00_1584 = BgL__ortest_1059z00_1585;
										}
									else
										{	/* Eval/library.scm 513 */
											BgL_arg1444z00_1584 =
												BGl_findzd2filezf2pathz20zz__osz00(BgL_initz00_1583,
												BgL_pathz00_1580);
										}
								}
								return BBOOL(STRINGP(BgL_arg1444z00_1584));
							}
						}
					}
				}
			}
		}

	}



/* &library-exists? */
	obj_t BGl_z62libraryzd2existszf3z43zz__libraryz00(obj_t BgL_envz00_2763,
		obj_t BgL_libz00_2764, obj_t BgL_pathz00_2765)
	{
		{	/* Eval/library.scm 501 */
			{	/* Eval/library.scm 502 */
				obj_t BgL_auxz00_4055;

				if (SYMBOLP(BgL_libz00_2764))
					{	/* Eval/library.scm 502 */
						BgL_auxz00_4055 = BgL_libz00_2764;
					}
				else
					{
						obj_t BgL_auxz00_4058;

						BgL_auxz00_4058 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1867z00zz__libraryz00,
							BINT(18154L), BGl_string1967z00zz__libraryz00,
							BGl_string1883z00zz__libraryz00, BgL_libz00_2764);
						FAILURE(BgL_auxz00_4058, BFALSE, BFALSE);
					}
				return
					BGl_libraryzd2existszf3z21zz__libraryz00(BgL_auxz00_4055,
					BgL_pathz00_2765);
			}
		}

	}



/* 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_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__typez00(121046086L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__biglooz00(536217185L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__configurez00(35034923L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__evalz00(35539458L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(228151370L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			BGl_modulezd2initializa7ationz75zz__everrorz00(375872221L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
			return
				BGl_modulezd2initializa7ationz75zz__expander_srfi0z00(498124579L,
				BSTRING_TO_STRING(BGl_string1968z00zz__libraryz00));
		}

	}

#ifdef __cplusplus
}
#endif
