/*===========================================================================*/
/*   (Eval/evaluate_use.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/evaluate_use.scm -indent -o objs/obj_u/Eval/evaluate_use.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___EVALUATE_USE_TYPE_DEFINITIONS
#define BGL___EVALUATE_USE_TYPE_DEFINITIONS

/* object type definitions */
	typedef struct BgL_ev_exprz00_bgl
	{
		header_t header;
		obj_t widening;
	}                 *BgL_ev_exprz00_bglt;

	typedef struct BgL_ev_varz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_namez00;
		obj_t BgL_effz00;
		obj_t BgL_typez00;
	}                *BgL_ev_varz00_bglt;

	typedef struct BgL_ev_ifz00_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_ev_exprz00_bgl *BgL_pz00;
		struct BgL_ev_exprz00_bgl *BgL_tz00;
		struct BgL_ev_exprz00_bgl *BgL_ez00;
	}               *BgL_ev_ifz00_bglt;

	typedef struct BgL_ev_listz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_argsz00;
	}                 *BgL_ev_listz00_bglt;

	typedef struct BgL_ev_prog2z00_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_ev_exprz00_bgl *BgL_e1z00;
		struct BgL_ev_exprz00_bgl *BgL_e2z00;
	}                  *BgL_ev_prog2z00_bglt;

	typedef struct BgL_ev_hookz00_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_ev_exprz00_bgl *BgL_ez00;
	}                 *BgL_ev_hookz00_bglt;

	typedef struct BgL_ev_setlocalz00_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_ev_exprz00_bgl *BgL_ez00;
		struct BgL_ev_varz00_bgl *BgL_vz00;
	}                     *BgL_ev_setlocalz00_bglt;

	typedef struct BgL_ev_bindzd2exitzd2_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_ev_varz00_bgl *BgL_varz00;
		struct BgL_ev_exprz00_bgl *BgL_bodyz00;
	}                        *BgL_ev_bindzd2exitzd2_bglt;

	typedef struct BgL_ev_unwindzd2protectzd2_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_ev_exprz00_bgl *BgL_ez00;
		struct BgL_ev_exprz00_bgl *BgL_bodyz00;
	}                             *BgL_ev_unwindzd2protectzd2_bglt;

	typedef struct BgL_ev_withzd2handlerzd2_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_ev_exprz00_bgl *BgL_handlerz00;
		struct BgL_ev_exprz00_bgl *BgL_bodyz00;
	}                           *BgL_ev_withzd2handlerzd2_bglt;

	typedef struct BgL_ev_synchroniza7eza7_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_ev_exprz00_bgl *BgL_mutexz00;
		struct BgL_ev_exprz00_bgl *BgL_prelockz00;
		struct BgL_ev_exprz00_bgl *BgL_bodyz00;
	}                          *BgL_ev_synchroniza7eza7_bglt;

	typedef struct BgL_ev_binderz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_varsz00;
		obj_t BgL_valsz00;
		struct BgL_ev_exprz00_bgl *BgL_bodyz00;
	}                   *BgL_ev_binderz00_bglt;

	typedef struct BgL_ev_labelsz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_varsz00;
		obj_t BgL_valsz00;
		obj_t BgL_envz00;
		obj_t BgL_stkz00;
		struct BgL_ev_exprz00_bgl *BgL_bodyz00;
		obj_t BgL_boxesz00;
	}                   *BgL_ev_labelsz00_bglt;

	typedef struct BgL_ev_gotoz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_ev_varz00_bgl *BgL_labelz00;
		struct BgL_ev_labelsz00_bgl *BgL_labelsz00;
		obj_t BgL_argsz00;
	}                 *BgL_ev_gotoz00_bglt;

	typedef struct BgL_ev_appz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_ev_exprz00_bgl *BgL_funz00;
		obj_t BgL_argsz00;
		obj_t BgL_tailzf3zf3;
	}                *BgL_ev_appz00_bglt;

	typedef struct BgL_ev_absz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		obj_t BgL_wherez00;
		obj_t BgL_arityz00;
		obj_t BgL_varsz00;
		struct BgL_ev_exprz00_bgl *BgL_bodyz00;
		int BgL_siza7eza7;
		obj_t BgL_bindz00;
		obj_t BgL_freez00;
		obj_t BgL_innerz00;
		obj_t BgL_boxesz00;
	}                *BgL_ev_absz00_bglt;


#endif													// BGL___EVALUATE_USE_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_z62usezd2ev_synchroniza7e1159z17zz__evaluate_usez00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62usezd2ev_prog21147zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__evaluate_usez00 = BUNSPEC;
	extern obj_t BGl_ev_gotoz00zz__evaluate_typesz00;
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_modulezd2initializa7ationz75zz__evaluate_usez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__evaluate_typesz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__evmodulez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__everrorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__evcompilez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__evenvz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__expandz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__prognz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__ppz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonum_dtoaz00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(long, char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__dssslz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__osz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bignumz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__tvectorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__typez00(long, char *);
	extern obj_t BGl_za2classesza2z00zz__objectz00;
	extern obj_t BGl_ev_globalz00zz__evaluate_typesz00;
	static obj_t BGl_z62usezd2ev_app1169zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_binderz00zz__evaluate_typesz00;
	extern obj_t BGl_registerzd2genericz12zc0zz__objectz00(obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_listz00zz__evaluate_typesz00;
	static obj_t BGl_toplevelzd2initzd2zz__evaluate_usez00(void);
	extern obj_t BGl_ev_littz00zz__evaluate_typesz00;
	static obj_t BGl_z62use1134z62zz__evaluate_usez00(obj_t, obj_t, obj_t);
	extern obj_t BGl_ev_varz00zz__evaluate_typesz00;
	static obj_t BGl_cnstzd2initzd2zz__evaluate_usez00(void);
	static obj_t BGl_genericzd2initzd2zz__evaluate_usez00(void);
	extern obj_t BGl_ev_prog2z00zz__evaluate_typesz00;
	static obj_t BGl_importedzd2moduleszd2initz00zz__evaluate_usez00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__evaluate_usez00(void);
	static obj_t BGl_z62usez62zz__evaluate_usez00(obj_t, obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zz__evaluate_usez00(void);
	static obj_t BGl_z62usezd2ev_hook1149zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_bindzd2exitzd2zz__evaluate_typesz00;
	static obj_t BGl_z62usezd2ev_list1145zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_withzd2handlerzd2zz__evaluate_typesz00;
	static obj_t BGl_z62usezd2ev_withzd2handler1157z62zz__evaluate_usez00(obj_t,
		obj_t, obj_t);
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	extern obj_t BGl_za2inheritancesza2z00zz__objectz00;
	static obj_t BGl_z62usezd2ev_unwindzd2protec1155z62zz__evaluate_usez00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62usezd2ev_binder1161zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62usezd2ev_binder1163zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_unwindzd2protectzd2zz__evaluate_typesz00;
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_z62usezd2ev_global1139zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_exprz00zz__evaluate_typesz00;
	static obj_t BGl_z62usezd2ev_abs1171zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_appz00zz__evaluate_typesz00;
	extern obj_t BGl_ev_labelsz00zz__evaluate_typesz00;
	static obj_t BGl_z62usezd2ev_goto1167zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_methodzd2initzd2zz__evaluate_usez00(void);
	extern obj_t BGl_genericzd2addzd2methodz12z12zz__objectz00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62usezd2ev_bindzd2exit1153z62zz__evaluate_usez00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62usezd2ev_var1137zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_absz00zz__evaluate_typesz00;
	extern obj_t BGl_ev_synchroniza7eza7zz__evaluate_typesz00;
	static obj_t BGl_z62usezd2ev_labels1165zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62usezd2ev_litt1141zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_symbol1729z00zz__evaluate_usez00 = BUNSPEC;
	static obj_t BGl_z62usezd2ev_if1143zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_ev_ifz00zz__evaluate_typesz00;
	BGL_EXPORTED_DECL obj_t BGl_usez00zz__evaluate_usez00(BgL_ev_exprz00_bglt,
		obj_t);
	extern obj_t BGl_ev_setlocalz00zz__evaluate_typesz00;
	static obj_t BGl_z62usezd2ev_setlocal1151zb0zz__evaluate_usez00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_ev_hookz00zz__evaluate_typesz00;
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_GENERIC(BGl_usezd2envzd2zz__evaluate_usez00,
		BgL_bgl_za762useza762za7za7__eva1755z00, BGl_z62usez62zz__evaluate_usez00,
		0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string1728z00zz__evaluate_usez00,
		BgL_bgl_string1728za700za7za7_1756za7, "use1134", 7);
	      DEFINE_STRING(BGl_string1730z00zz__evaluate_usez00,
		BgL_bgl_string1730za700za7za7_1757za7, "No method for this object", 25);
	      DEFINE_STRING(BGl_string1731z00zz__evaluate_usez00,
		BgL_bgl_string1731za700za7za7_1758za7,
		"/tmp/bigloo/runtime/Eval/evaluate_use.scm", 41);
	      DEFINE_STRING(BGl_string1732z00zz__evaluate_usez00,
		BgL_bgl_string1732za700za7za7_1759za7, "&use", 4);
	      DEFINE_STRING(BGl_string1733z00zz__evaluate_usez00,
		BgL_bgl_string1733za700za7za7_1760za7, "ev_expr", 7);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1727z00zz__evaluate_usez00,
		BgL_bgl_za762use1134za762za7za7_1761z00,
		BGl_z62use1134z62zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string1735z00zz__evaluate_usez00,
		BgL_bgl_string1735za700za7za7_1762za7, "use", 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1734z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_var11763z00,
		BGl_z62usezd2ev_var1137zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1736z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_glob1764z00,
		BGl_z62usezd2ev_global1139zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1737z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_litt1765z00,
		BGl_z62usezd2ev_litt1141zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1738z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_if111766z00,
		BGl_z62usezd2ev_if1143zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1739z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_list1767z00,
		BGl_z62usezd2ev_list1145zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1740z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_prog1768z00,
		BGl_z62usezd2ev_prog21147zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1741z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_hook1769z00,
		BGl_z62usezd2ev_hook1149zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1742z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_setl1770z00,
		BGl_z62usezd2ev_setlocal1151zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1743z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_bind1771z00,
		BGl_z62usezd2ev_bindzd2exit1153z62zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1744z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_unwi1772z00,
		BGl_z62usezd2ev_unwindzd2protec1155z62zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1745z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_with1773z00,
		BGl_z62usezd2ev_withzd2handler1157z62zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1746z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_sync1774z00,
		BGl_z62usezd2ev_synchroniza7e1159z17zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string1753z00zz__evaluate_usez00,
		BgL_bgl_string1753za700za7za7_1775za7, "__evaluate_use", 14);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1747z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_bind1776z00,
		BGl_z62usezd2ev_binder1161zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1748z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_bind1777z00,
		BGl_z62usezd2ev_binder1163zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1749z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_labe1778z00,
		BGl_z62usezd2ev_labels1165zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1750z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_goto1779z00,
		BGl_z62usezd2ev_goto1167zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1751z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_app11780z00,
		BGl_z62usezd2ev_app1169zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1752z00zz__evaluate_usez00,
		BgL_bgl_za762useza7d2ev_abs11781z00,
		BGl_z62usezd2ev_abs1171zb0zz__evaluate_usez00, 0L, BUNSPEC, 2);

/* 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_requirezd2initializa7ationz75zz__evaluate_usez00));
		     ADD_ROOT((void *) (&BGl_symbol1729z00zz__evaluate_usez00));
#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__evaluate_usez00(long
		BgL_checksumz00_2379, char *BgL_fromz00_2380)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__evaluate_usez00))
				{
					BGl_requirezd2initializa7ationz75zz__evaluate_usez00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zz__evaluate_usez00();
					BGl_cnstzd2initzd2zz__evaluate_usez00();
					BGl_importedzd2moduleszd2initz00zz__evaluate_usez00();
					BGl_genericzd2initzd2zz__evaluate_usez00();
					BGl_methodzd2initzd2zz__evaluate_usez00();
					return BGl_toplevelzd2initzd2zz__evaluate_usez00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__evaluate_usez00(void)
	{
		{	/* Eval/evaluate_use.scm 15 */
			return (BGl_symbol1729z00zz__evaluate_usez00 =
				bstring_to_symbol(BGl_string1728z00zz__evaluate_usez00), BUNSPEC);
		}

	}



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

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__evaluate_usez00(void)
	{
		{	/* Eval/evaluate_use.scm 15 */
			return BUNSPEC;
		}

	}



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

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__evaluate_usez00(void)
	{
		{	/* Eval/evaluate_use.scm 15 */
			return
				BGl_registerzd2genericz12zc0zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_proc1727z00zz__evaluate_usez00, BGl_ev_exprz00zz__evaluate_typesz00,
				BGl_string1728z00zz__evaluate_usez00);
		}

	}



/* &use1134 */
	obj_t BGl_z62use1134z62zz__evaluate_usez00(obj_t BgL_envz00_2187,
		obj_t BgL_ez00_2188, obj_t BgL_donez00_2189)
	{
		{	/* Eval/evaluate_use.scm 62 */
			return
				BGl_errorz00zz__errorz00(BGl_symbol1729z00zz__evaluate_usez00,
				BGl_string1730z00zz__evaluate_usez00,
				((obj_t) ((BgL_ev_exprz00_bglt) BgL_ez00_2188)));
		}

	}



/* use */
	BGL_EXPORTED_DEF obj_t BGl_usez00zz__evaluate_usez00(BgL_ev_exprz00_bglt
		BgL_ez00_3, obj_t BgL_donez00_4)
	{
		{	/* Eval/evaluate_use.scm 62 */
			{	/* Eval/evaluate_use.scm 62 */
				obj_t BgL_method1135z00_1176;

				{	/* Eval/evaluate_use.scm 62 */
					obj_t BgL_res1713z00_1787;

					{	/* Eval/evaluate_use.scm 62 */
						long BgL_objzd2classzd2numz00_1758;

						BgL_objzd2classzd2numz00_1758 =
							BGL_OBJECT_CLASS_NUM(((BgL_objectz00_bglt) BgL_ez00_3));
						{	/* Eval/evaluate_use.scm 62 */
							obj_t BgL_arg1685z00_1759;

							BgL_arg1685z00_1759 =
								PROCEDURE_REF(BGl_usezd2envzd2zz__evaluate_usez00, (int) (1L));
							{	/* Eval/evaluate_use.scm 62 */
								int BgL_offsetz00_1762;

								BgL_offsetz00_1762 = (int) (BgL_objzd2classzd2numz00_1758);
								{	/* Eval/evaluate_use.scm 62 */
									long BgL_offsetz00_1763;

									BgL_offsetz00_1763 =
										((long) (BgL_offsetz00_1762) - OBJECT_TYPE);
									{	/* Eval/evaluate_use.scm 62 */
										long BgL_modz00_1764;

										BgL_modz00_1764 =
											(BgL_offsetz00_1763 >> (int) ((long) ((int) (4L))));
										{	/* Eval/evaluate_use.scm 62 */
											long BgL_restz00_1766;

											BgL_restz00_1766 =
												(BgL_offsetz00_1763 &
												(long) (
													(int) (
														((long) (
																(int) (
																	(1L <<
																		(int) ((long) ((int) (4L)))))) - 1L))));
											{	/* Eval/evaluate_use.scm 62 */

												{	/* Eval/evaluate_use.scm 62 */
													obj_t BgL_bucketz00_1768;

													BgL_bucketz00_1768 =
														VECTOR_REF(
														((obj_t) BgL_arg1685z00_1759), BgL_modz00_1764);
													BgL_res1713z00_1787 =
														VECTOR_REF(
														((obj_t) BgL_bucketz00_1768), BgL_restz00_1766);
					}}}}}}}}
					BgL_method1135z00_1176 = BgL_res1713z00_1787;
				}
				return
					(VA_PROCEDUREP(BgL_method1135z00_1176) ? ((obj_t(*)(obj_t,
								...))
						PROCEDURE_ENTRY(BgL_method1135z00_1176)) (BgL_method1135z00_1176,
						((obj_t) BgL_ez00_3), BgL_donez00_4, BEOA) : ((obj_t(*)(obj_t,
								obj_t,
								obj_t))
						PROCEDURE_ENTRY(BgL_method1135z00_1176)) (BgL_method1135z00_1176,
						((obj_t) BgL_ez00_3), BgL_donez00_4));
			}
		}

	}



/* &use */
	obj_t BGl_z62usez62zz__evaluate_usez00(obj_t BgL_envz00_2190,
		obj_t BgL_ez00_2191, obj_t BgL_donez00_2192)
	{
		{	/* Eval/evaluate_use.scm 62 */
			{	/* Eval/evaluate_use.scm 62 */
				BgL_ev_exprz00_bglt BgL_auxz00_2427;

				{	/* Eval/evaluate_use.scm 62 */
					bool_t BgL_test1783z00_2428;

					{	/* Eval/evaluate_use.scm 62 */
						obj_t BgL_classz00_2270;

						BgL_classz00_2270 = BGl_ev_exprz00zz__evaluate_typesz00;
						if (BGL_OBJECTP(BgL_ez00_2191))
							{	/* Eval/evaluate_use.scm 62 */
								BgL_objectz00_bglt BgL_arg1681z00_2272;
								long BgL_arg1684z00_2273;

								BgL_arg1681z00_2272 = (BgL_objectz00_bglt) (BgL_ez00_2191);
								BgL_arg1684z00_2273 = BGL_CLASS_DEPTH(BgL_classz00_2270);
								if (BGL_CONDEXPAND_ISA_ARCH64())
									{	/* Eval/evaluate_use.scm 62 */
										long BgL_idxz00_2281;

										BgL_idxz00_2281 =
											BGL_OBJECT_INHERITANCE_NUM(BgL_arg1681z00_2272);
										{	/* Eval/evaluate_use.scm 62 */
											obj_t BgL_arg1672z00_2282;

											{	/* Eval/evaluate_use.scm 62 */
												long BgL_arg1673z00_2283;

												BgL_arg1673z00_2283 =
													(BgL_idxz00_2281 + BgL_arg1684z00_2273);
												BgL_arg1672z00_2282 =
													VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
													BgL_arg1673z00_2283);
											}
											BgL_test1783z00_2428 =
												(BgL_arg1672z00_2282 == BgL_classz00_2270);
									}}
								else
									{	/* Eval/evaluate_use.scm 62 */
										bool_t BgL_res1754z00_2306;

										{	/* Eval/evaluate_use.scm 62 */
											obj_t BgL_oclassz00_2291;

											{	/* Eval/evaluate_use.scm 62 */
												long BgL_arg1690z00_2297;

												{	/* Eval/evaluate_use.scm 62 */
													long BgL_arg1693z00_2298;

													BgL_arg1693z00_2298 =
														BGL_OBJECT_CLASS_NUM(BgL_arg1681z00_2272);
													BgL_arg1690z00_2297 =
														(BgL_arg1693z00_2298 - OBJECT_TYPE);
												}
												BgL_oclassz00_2291 =
													VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
													BgL_arg1690z00_2297);
											}
											{	/* Eval/evaluate_use.scm 62 */
												bool_t BgL__ortest_1118z00_2292;

												BgL__ortest_1118z00_2292 =
													(BgL_classz00_2270 == BgL_oclassz00_2291);
												if (BgL__ortest_1118z00_2292)
													{	/* Eval/evaluate_use.scm 62 */
														BgL_res1754z00_2306 = BgL__ortest_1118z00_2292;
													}
												else
													{	/* Eval/evaluate_use.scm 62 */
														long BgL_odepthz00_2293;

														BgL_odepthz00_2293 =
															BGL_CLASS_DEPTH(BgL_oclassz00_2291);
														if ((BgL_arg1684z00_2273 < BgL_odepthz00_2293))
															{	/* Eval/evaluate_use.scm 62 */
																obj_t BgL_arg1675z00_2295;

																BgL_arg1675z00_2295 =
																	BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_2291,
																	BgL_arg1684z00_2273);
																BgL_res1754z00_2306 =
																	(BgL_arg1675z00_2295 == BgL_classz00_2270);
															}
														else
															{	/* Eval/evaluate_use.scm 62 */
																BgL_res1754z00_2306 = ((bool_t) 0);
															}
													}
											}
										}
										BgL_test1783z00_2428 = BgL_res1754z00_2306;
									}
							}
						else
							{	/* Eval/evaluate_use.scm 62 */
								BgL_test1783z00_2428 = ((bool_t) 0);
							}
					}
					if (BgL_test1783z00_2428)
						{	/* Eval/evaluate_use.scm 62 */
							BgL_auxz00_2427 = ((BgL_ev_exprz00_bglt) BgL_ez00_2191);
						}
					else
						{
							obj_t BgL_auxz00_2450;

							BgL_auxz00_2450 =
								BGl_typezd2errorzd2zz__errorz00
								(BGl_string1731z00zz__evaluate_usez00, BINT(1786L),
								BGl_string1732z00zz__evaluate_usez00,
								BGl_string1733z00zz__evaluate_usez00, BgL_ez00_2191);
							FAILURE(BgL_auxz00_2450, BFALSE, BFALSE);
						}
				}
				return BGl_usez00zz__evaluate_usez00(BgL_auxz00_2427, BgL_donez00_2192);
			}
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__evaluate_usez00(void)
	{
		{	/* Eval/evaluate_use.scm 15 */
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_varz00zz__evaluate_typesz00, BGl_proc1734z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_globalz00zz__evaluate_typesz00,
				BGl_proc1736z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_littz00zz__evaluate_typesz00, BGl_proc1737z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00, BGl_ev_ifz00zz__evaluate_typesz00,
				BGl_proc1738z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_listz00zz__evaluate_typesz00, BGl_proc1739z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_prog2z00zz__evaluate_typesz00,
				BGl_proc1740z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_hookz00zz__evaluate_typesz00, BGl_proc1741z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_setlocalz00zz__evaluate_typesz00,
				BGl_proc1742z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_bindzd2exitzd2zz__evaluate_typesz00,
				BGl_proc1743z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_unwindzd2protectzd2zz__evaluate_typesz00,
				BGl_proc1744z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_withzd2handlerzd2zz__evaluate_typesz00,
				BGl_proc1745z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_synchroniza7eza7zz__evaluate_typesz00,
				BGl_proc1746z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_binderz00zz__evaluate_typesz00,
				BGl_proc1747z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_binderz00zz__evaluate_typesz00,
				BGl_proc1748z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_labelsz00zz__evaluate_typesz00,
				BGl_proc1749z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_gotoz00zz__evaluate_typesz00, BGl_proc1750z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_appz00zz__evaluate_typesz00, BGl_proc1751z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
			return
				BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_usezd2envzd2zz__evaluate_usez00,
				BGl_ev_absz00zz__evaluate_typesz00, BGl_proc1752z00zz__evaluate_usez00,
				BGl_string1735z00zz__evaluate_usez00);
		}

	}



/* &use-ev_abs1171 */
	obj_t BGl_z62usezd2ev_abs1171zb0zz__evaluate_usez00(obj_t BgL_envz00_2211,
		obj_t BgL_ez00_2212, obj_t BgL_donez00_2213)
	{
		{	/* Eval/evaluate_use.scm 139 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_absz00_bglt) COBJECT(
							((BgL_ev_absz00_bglt) BgL_ez00_2212)))->BgL_bodyz00),
				BgL_donez00_2213);
		}

	}



/* &use-ev_app1169 */
	obj_t BGl_z62usezd2ev_app1169zb0zz__evaluate_usez00(obj_t BgL_envz00_2214,
		obj_t BgL_ez00_2215, obj_t BgL_donez00_2216)
	{
		{	/* Eval/evaluate_use.scm 135 */
			{	/* Eval/evaluate_use.scm 137 */
				BgL_ev_exprz00_bglt BgL_arg1344z00_2309;
				obj_t BgL_arg1345z00_2310;

				BgL_arg1344z00_2309 =
					(((BgL_ev_appz00_bglt) COBJECT(
							((BgL_ev_appz00_bglt) BgL_ez00_2215)))->BgL_funz00);
				{	/* Eval/evaluate_use.scm 137 */
					obj_t BgL_arg1346z00_2311;

					BgL_arg1346z00_2311 =
						(((BgL_ev_appz00_bglt) COBJECT(
								((BgL_ev_appz00_bglt) BgL_ez00_2215)))->BgL_argsz00);
					{
						obj_t BgL_lz00_2313;
						obj_t BgL_donez00_2314;

						BgL_lz00_2313 = BgL_arg1346z00_2311;
						BgL_donez00_2314 = BgL_donez00_2216;
					BgL_useza2za2_2312:
						if (NULLP(BgL_lz00_2313))
							{	/* Eval/evaluate_use.scm 65 */
								BgL_arg1345z00_2310 = BgL_donez00_2314;
							}
						else
							{	/* Eval/evaluate_use.scm 67 */
								obj_t BgL_arg1244z00_2315;
								obj_t BgL_arg1246z00_2316;

								BgL_arg1244z00_2315 = CDR(((obj_t) BgL_lz00_2313));
								{	/* Eval/evaluate_use.scm 67 */
									obj_t BgL_arg1247z00_2317;

									BgL_arg1247z00_2317 = CAR(((obj_t) BgL_lz00_2313));
									BgL_arg1246z00_2316 =
										BGl_usez00zz__evaluate_usez00(
										((BgL_ev_exprz00_bglt) BgL_arg1247z00_2317),
										BgL_donez00_2314);
								}
								{
									obj_t BgL_donez00_2489;
									obj_t BgL_lz00_2488;

									BgL_lz00_2488 = BgL_arg1244z00_2315;
									BgL_donez00_2489 = BgL_arg1246z00_2316;
									BgL_donez00_2314 = BgL_donez00_2489;
									BgL_lz00_2313 = BgL_lz00_2488;
									goto BgL_useza2za2_2312;
								}
							}
					}
				}
				return
					BGl_usez00zz__evaluate_usez00(BgL_arg1344z00_2309,
					BgL_arg1345z00_2310);
			}
		}

	}



/* &use-ev_goto1167 */
	obj_t BGl_z62usezd2ev_goto1167zb0zz__evaluate_usez00(obj_t BgL_envz00_2217,
		obj_t BgL_ez00_2218, obj_t BgL_donez00_2219)
	{
		{	/* Eval/evaluate_use.scm 131 */
			{	/* Eval/evaluate_use.scm 133 */
				obj_t BgL_arg1343z00_2319;

				BgL_arg1343z00_2319 =
					(((BgL_ev_gotoz00_bglt) COBJECT(
							((BgL_ev_gotoz00_bglt) BgL_ez00_2218)))->BgL_argsz00);
				{
					obj_t BgL_lz00_2321;
					obj_t BgL_donez00_2322;

					BgL_lz00_2321 = BgL_arg1343z00_2319;
					BgL_donez00_2322 = BgL_donez00_2219;
				BgL_useza2za2_2320:
					if (NULLP(BgL_lz00_2321))
						{	/* Eval/evaluate_use.scm 65 */
							return BgL_donez00_2322;
						}
					else
						{	/* Eval/evaluate_use.scm 67 */
							obj_t BgL_arg1244z00_2323;
							obj_t BgL_arg1246z00_2324;

							BgL_arg1244z00_2323 = CDR(((obj_t) BgL_lz00_2321));
							{	/* Eval/evaluate_use.scm 67 */
								obj_t BgL_arg1247z00_2325;

								BgL_arg1247z00_2325 = CAR(((obj_t) BgL_lz00_2321));
								BgL_arg1246z00_2324 =
									BGl_usez00zz__evaluate_usez00(
									((BgL_ev_exprz00_bglt) BgL_arg1247z00_2325),
									BgL_donez00_2322);
							}
							{
								obj_t BgL_donez00_2502;
								obj_t BgL_lz00_2501;

								BgL_lz00_2501 = BgL_arg1244z00_2323;
								BgL_donez00_2502 = BgL_arg1246z00_2324;
								BgL_donez00_2322 = BgL_donez00_2502;
								BgL_lz00_2321 = BgL_lz00_2501;
								goto BgL_useza2za2_2320;
							}
						}
				}
			}
		}

	}



/* &use-ev_labels1165 */
	obj_t BGl_z62usezd2ev_labels1165zb0zz__evaluate_usez00(obj_t BgL_envz00_2220,
		obj_t BgL_ez00_2221, obj_t BgL_donez00_2222)
	{
		{	/* Eval/evaluate_use.scm 124 */
			{	/* Eval/evaluate_use.scm 126 */
				obj_t BgL_arg1335z00_2327;

				BgL_arg1335z00_2327 =
					(((BgL_ev_labelsz00_bglt) COBJECT(
							((BgL_ev_labelsz00_bglt) BgL_ez00_2221)))->BgL_valsz00);
				{
					obj_t BgL_lz00_2329;
					obj_t BgL_donez00_2330;

					BgL_lz00_2329 = BgL_arg1335z00_2327;
					BgL_donez00_2330 = BgL_donez00_2222;
				BgL_recz00_2328:
					if (NULLP(BgL_lz00_2329))
						{	/* Eval/evaluate_use.scm 127 */
							return
								BGl_usez00zz__evaluate_usez00(
								(((BgL_ev_labelsz00_bglt) COBJECT(
											((BgL_ev_labelsz00_bglt) BgL_ez00_2221)))->BgL_bodyz00),
								BgL_donez00_2330);
						}
					else
						{	/* Eval/evaluate_use.scm 129 */
							obj_t BgL_arg1339z00_2331;
							obj_t BgL_arg1341z00_2332;

							BgL_arg1339z00_2331 = CDR(((obj_t) BgL_lz00_2329));
							{	/* Eval/evaluate_use.scm 129 */
								obj_t BgL_arg1342z00_2333;

								{	/* Eval/evaluate_use.scm 129 */
									obj_t BgL_pairz00_2334;

									BgL_pairz00_2334 = CAR(((obj_t) BgL_lz00_2329));
									BgL_arg1342z00_2333 = CDR(BgL_pairz00_2334);
								}
								BgL_arg1341z00_2332 =
									BGl_usez00zz__evaluate_usez00(
									((BgL_ev_exprz00_bglt) BgL_arg1342z00_2333),
									BgL_donez00_2330);
							}
							{
								obj_t BgL_donez00_2518;
								obj_t BgL_lz00_2517;

								BgL_lz00_2517 = BgL_arg1339z00_2331;
								BgL_donez00_2518 = BgL_arg1341z00_2332;
								BgL_donez00_2330 = BgL_donez00_2518;
								BgL_lz00_2329 = BgL_lz00_2517;
								goto BgL_recz00_2328;
							}
						}
				}
			}
		}

	}



/* &use-ev_binder1163 */
	obj_t BGl_z62usezd2ev_binder1163zb0zz__evaluate_usez00(obj_t BgL_envz00_2223,
		obj_t BgL_ez00_2224, obj_t BgL_donez00_2225)
	{
		{	/* Eval/evaluate_use.scm 120 */
			{	/* Eval/evaluate_use.scm 122 */
				BgL_ev_exprz00_bglt BgL_arg1332z00_2336;
				obj_t BgL_arg1333z00_2337;

				BgL_arg1332z00_2336 =
					(((BgL_ev_binderz00_bglt) COBJECT(
							((BgL_ev_binderz00_bglt) BgL_ez00_2224)))->BgL_bodyz00);
				{	/* Eval/evaluate_use.scm 122 */
					obj_t BgL_arg1334z00_2338;

					BgL_arg1334z00_2338 =
						(((BgL_ev_binderz00_bglt) COBJECT(
								((BgL_ev_binderz00_bglt) BgL_ez00_2224)))->BgL_valsz00);
					{
						obj_t BgL_lz00_2340;
						obj_t BgL_donez00_2341;

						BgL_lz00_2340 = BgL_arg1334z00_2338;
						BgL_donez00_2341 = BgL_donez00_2225;
					BgL_useza2za2_2339:
						if (NULLP(BgL_lz00_2340))
							{	/* Eval/evaluate_use.scm 65 */
								BgL_arg1333z00_2337 = BgL_donez00_2341;
							}
						else
							{	/* Eval/evaluate_use.scm 67 */
								obj_t BgL_arg1244z00_2342;
								obj_t BgL_arg1246z00_2343;

								BgL_arg1244z00_2342 = CDR(((obj_t) BgL_lz00_2340));
								{	/* Eval/evaluate_use.scm 67 */
									obj_t BgL_arg1247z00_2344;

									BgL_arg1247z00_2344 = CAR(((obj_t) BgL_lz00_2340));
									BgL_arg1246z00_2343 =
										BGl_usez00zz__evaluate_usez00(
										((BgL_ev_exprz00_bglt) BgL_arg1247z00_2344),
										BgL_donez00_2341);
								}
								{
									obj_t BgL_donez00_2532;
									obj_t BgL_lz00_2531;

									BgL_lz00_2531 = BgL_arg1244z00_2342;
									BgL_donez00_2532 = BgL_arg1246z00_2343;
									BgL_donez00_2341 = BgL_donez00_2532;
									BgL_lz00_2340 = BgL_lz00_2531;
									goto BgL_useza2za2_2339;
								}
							}
					}
				}
				return
					BGl_usez00zz__evaluate_usez00(BgL_arg1332z00_2336,
					BgL_arg1333z00_2337);
			}
		}

	}



/* &use-ev_binder1161 */
	obj_t BGl_z62usezd2ev_binder1161zb0zz__evaluate_usez00(obj_t BgL_envz00_2226,
		obj_t BgL_ez00_2227, obj_t BgL_donez00_2228)
	{
		{	/* Eval/evaluate_use.scm 116 */
			{	/* Eval/evaluate_use.scm 118 */
				BgL_ev_exprz00_bglt BgL_arg1327z00_2346;
				obj_t BgL_arg1330z00_2347;

				BgL_arg1327z00_2346 =
					(((BgL_ev_binderz00_bglt) COBJECT(
							((BgL_ev_binderz00_bglt) BgL_ez00_2227)))->BgL_bodyz00);
				{	/* Eval/evaluate_use.scm 118 */
					obj_t BgL_arg1331z00_2348;

					BgL_arg1331z00_2348 =
						(((BgL_ev_binderz00_bglt) COBJECT(
								((BgL_ev_binderz00_bglt) BgL_ez00_2227)))->BgL_valsz00);
					{
						obj_t BgL_lz00_2350;
						obj_t BgL_donez00_2351;

						BgL_lz00_2350 = BgL_arg1331z00_2348;
						BgL_donez00_2351 = BgL_donez00_2228;
					BgL_useza2za2_2349:
						if (NULLP(BgL_lz00_2350))
							{	/* Eval/evaluate_use.scm 65 */
								BgL_arg1330z00_2347 = BgL_donez00_2351;
							}
						else
							{	/* Eval/evaluate_use.scm 67 */
								obj_t BgL_arg1244z00_2352;
								obj_t BgL_arg1246z00_2353;

								BgL_arg1244z00_2352 = CDR(((obj_t) BgL_lz00_2350));
								{	/* Eval/evaluate_use.scm 67 */
									obj_t BgL_arg1247z00_2354;

									BgL_arg1247z00_2354 = CAR(((obj_t) BgL_lz00_2350));
									BgL_arg1246z00_2353 =
										BGl_usez00zz__evaluate_usez00(
										((BgL_ev_exprz00_bglt) BgL_arg1247z00_2354),
										BgL_donez00_2351);
								}
								{
									obj_t BgL_donez00_2547;
									obj_t BgL_lz00_2546;

									BgL_lz00_2546 = BgL_arg1244z00_2352;
									BgL_donez00_2547 = BgL_arg1246z00_2353;
									BgL_donez00_2351 = BgL_donez00_2547;
									BgL_lz00_2350 = BgL_lz00_2546;
									goto BgL_useza2za2_2349;
								}
							}
					}
				}
				return
					BGl_usez00zz__evaluate_usez00(BgL_arg1327z00_2346,
					BgL_arg1330z00_2347);
			}
		}

	}



/* &use-ev_synchronize1159 */
	obj_t BGl_z62usezd2ev_synchroniza7e1159z17zz__evaluate_usez00(obj_t
		BgL_envz00_2229, obj_t BgL_ez00_2230, obj_t BgL_donez00_2231)
	{
		{	/* Eval/evaluate_use.scm 112 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_synchroniza7eza7_bglt) COBJECT(
							((BgL_ev_synchroniza7eza7_bglt) BgL_ez00_2230)))->BgL_mutexz00),
				BGl_usez00zz__evaluate_usez00(
					(((BgL_ev_synchroniza7eza7_bglt) COBJECT(
								((BgL_ev_synchroniza7eza7_bglt) BgL_ez00_2230)))->
						BgL_prelockz00),
					BGl_usez00zz__evaluate_usez00((((BgL_ev_synchroniza7eza7_bglt)
								COBJECT(((BgL_ev_synchroniza7eza7_bglt) BgL_ez00_2230)))->
							BgL_bodyz00), BgL_donez00_2231)));
		}

	}



/* &use-ev_with-handler1157 */
	obj_t BGl_z62usezd2ev_withzd2handler1157z62zz__evaluate_usez00(obj_t
		BgL_envz00_2232, obj_t BgL_ez00_2233, obj_t BgL_donez00_2234)
	{
		{	/* Eval/evaluate_use.scm 108 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_withzd2handlerzd2_bglt) COBJECT(
							((BgL_ev_withzd2handlerzd2_bglt) BgL_ez00_2233)))->
					BgL_handlerz00),
				BGl_usez00zz__evaluate_usez00((((BgL_ev_withzd2handlerzd2_bglt)
							COBJECT(((BgL_ev_withzd2handlerzd2_bglt) BgL_ez00_2233)))->
						BgL_bodyz00), BgL_donez00_2234));
		}

	}



/* &use-ev_unwind-protec1155 */
	obj_t BGl_z62usezd2ev_unwindzd2protec1155z62zz__evaluate_usez00(obj_t
		BgL_envz00_2235, obj_t BgL_ez00_2236, obj_t BgL_donez00_2237)
	{
		{	/* Eval/evaluate_use.scm 104 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_unwindzd2protectzd2_bglt) COBJECT(
							((BgL_ev_unwindzd2protectzd2_bglt) BgL_ez00_2236)))->BgL_ez00),
				BGl_usez00zz__evaluate_usez00(
					(((BgL_ev_unwindzd2protectzd2_bglt) COBJECT(
								((BgL_ev_unwindzd2protectzd2_bglt) BgL_ez00_2236)))->
						BgL_bodyz00), BgL_donez00_2237));
		}

	}



/* &use-ev_bind-exit1153 */
	obj_t BGl_z62usezd2ev_bindzd2exit1153z62zz__evaluate_usez00(obj_t
		BgL_envz00_2238, obj_t BgL_ez00_2239, obj_t BgL_donez00_2240)
	{
		{	/* Eval/evaluate_use.scm 100 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_bindzd2exitzd2_bglt) COBJECT(
							((BgL_ev_bindzd2exitzd2_bglt) BgL_ez00_2239)))->BgL_bodyz00),
				BgL_donez00_2240);
		}

	}



/* &use-ev_setlocal1151 */
	obj_t BGl_z62usezd2ev_setlocal1151zb0zz__evaluate_usez00(obj_t
		BgL_envz00_2241, obj_t BgL_ez00_2242, obj_t BgL_donez00_2243)
	{
		{	/* Eval/evaluate_use.scm 95 */
			{	/* Eval/evaluate_use.scm 96 */
				obj_t BgL_donez00_2360;

				BgL_donez00_2360 = BgL_donez00_2243;
				{	/* Eval/evaluate_use.scm 97 */
					bool_t BgL_test1793z00_2573;

					{	/* Eval/evaluate_use.scm 97 */
						BgL_ev_varz00_bglt BgL_arg1281z00_2361;

						BgL_arg1281z00_2361 =
							(((BgL_ev_setlocalz00_bglt) COBJECT(
									((BgL_ev_setlocalz00_bglt) BgL_ez00_2242)))->BgL_vz00);
						BgL_test1793z00_2573 =
							CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
								((obj_t) BgL_arg1281z00_2361), BgL_donez00_2360));
					}
					if (BgL_test1793z00_2573)
						{	/* Eval/evaluate_use.scm 97 */
							BFALSE;
						}
					else
						{	/* Eval/evaluate_use.scm 97 */
							BgL_ev_varz00_bglt BgL_arg1279z00_2362;

							BgL_arg1279z00_2362 =
								(((BgL_ev_setlocalz00_bglt) COBJECT(
										((BgL_ev_setlocalz00_bglt) BgL_ez00_2242)))->BgL_vz00);
							BgL_donez00_2360 =
								MAKE_YOUNG_PAIR(
								((obj_t) BgL_arg1279z00_2362), BgL_donez00_2360);
						}
				}
				{	/* Eval/evaluate_use.scm 98 */
					BgL_ev_exprz00_bglt BgL_arg1282z00_2363;

					BgL_arg1282z00_2363 =
						(((BgL_ev_hookz00_bglt) COBJECT(
								((BgL_ev_hookz00_bglt)
									((BgL_ev_setlocalz00_bglt) BgL_ez00_2242))))->BgL_ez00);
					return
						BGl_usez00zz__evaluate_usez00(BgL_arg1282z00_2363,
						BgL_donez00_2360);
				}
			}
		}

	}



/* &use-ev_hook1149 */
	obj_t BGl_z62usezd2ev_hook1149zb0zz__evaluate_usez00(obj_t BgL_envz00_2244,
		obj_t BgL_ez00_2245, obj_t BgL_donez00_2246)
	{
		{	/* Eval/evaluate_use.scm 91 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_hookz00_bglt) COBJECT(
							((BgL_ev_hookz00_bglt) BgL_ez00_2245)))->BgL_ez00),
				BgL_donez00_2246);
		}

	}



/* &use-ev_prog21147 */
	obj_t BGl_z62usezd2ev_prog21147zb0zz__evaluate_usez00(obj_t BgL_envz00_2247,
		obj_t BgL_ez00_2248, obj_t BgL_donez00_2249)
	{
		{	/* Eval/evaluate_use.scm 87 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_prog2z00_bglt) COBJECT(
							((BgL_ev_prog2z00_bglt) BgL_ez00_2248)))->BgL_e1z00),
				BGl_usez00zz__evaluate_usez00(
					(((BgL_ev_prog2z00_bglt) COBJECT(
								((BgL_ev_prog2z00_bglt) BgL_ez00_2248)))->BgL_e2z00),
					BgL_donez00_2249));
		}

	}



/* &use-ev_list1145 */
	obj_t BGl_z62usezd2ev_list1145zb0zz__evaluate_usez00(obj_t BgL_envz00_2250,
		obj_t BgL_ez00_2251, obj_t BgL_donez00_2252)
	{
		{	/* Eval/evaluate_use.scm 83 */
			{	/* Eval/evaluate_use.scm 85 */
				obj_t BgL_arg1257z00_2367;

				BgL_arg1257z00_2367 =
					(((BgL_ev_listz00_bglt) COBJECT(
							((BgL_ev_listz00_bglt) BgL_ez00_2251)))->BgL_argsz00);
				{
					obj_t BgL_lz00_2369;
					obj_t BgL_donez00_2370;

					BgL_lz00_2369 = BgL_arg1257z00_2367;
					BgL_donez00_2370 = BgL_donez00_2252;
				BgL_useza2za2_2368:
					if (NULLP(BgL_lz00_2369))
						{	/* Eval/evaluate_use.scm 65 */
							return BgL_donez00_2370;
						}
					else
						{	/* Eval/evaluate_use.scm 67 */
							obj_t BgL_arg1244z00_2371;
							obj_t BgL_arg1246z00_2372;

							BgL_arg1244z00_2371 = CDR(((obj_t) BgL_lz00_2369));
							{	/* Eval/evaluate_use.scm 67 */
								obj_t BgL_arg1247z00_2373;

								BgL_arg1247z00_2373 = CAR(((obj_t) BgL_lz00_2369));
								BgL_arg1246z00_2372 =
									BGl_usez00zz__evaluate_usez00(
									((BgL_ev_exprz00_bglt) BgL_arg1247z00_2373),
									BgL_donez00_2370);
							}
							{
								obj_t BgL_donez00_2607;
								obj_t BgL_lz00_2606;

								BgL_lz00_2606 = BgL_arg1244z00_2371;
								BgL_donez00_2607 = BgL_arg1246z00_2372;
								BgL_donez00_2370 = BgL_donez00_2607;
								BgL_lz00_2369 = BgL_lz00_2606;
								goto BgL_useza2za2_2368;
							}
						}
				}
			}
		}

	}



/* &use-ev_if1143 */
	obj_t BGl_z62usezd2ev_if1143zb0zz__evaluate_usez00(obj_t BgL_envz00_2253,
		obj_t BgL_ez00_2254, obj_t BgL_donez00_2255)
	{
		{	/* Eval/evaluate_use.scm 79 */
			return
				BGl_usez00zz__evaluate_usez00(
				(((BgL_ev_ifz00_bglt) COBJECT(
							((BgL_ev_ifz00_bglt) BgL_ez00_2254)))->BgL_pz00),
				BGl_usez00zz__evaluate_usez00(
					(((BgL_ev_ifz00_bglt) COBJECT(
								((BgL_ev_ifz00_bglt) BgL_ez00_2254)))->BgL_tz00),
					BGl_usez00zz__evaluate_usez00(
						(((BgL_ev_ifz00_bglt) COBJECT(
									((BgL_ev_ifz00_bglt) BgL_ez00_2254)))->BgL_ez00),
						BgL_donez00_2255)));
		}

	}



/* &use-ev_litt1141 */
	obj_t BGl_z62usezd2ev_litt1141zb0zz__evaluate_usez00(obj_t BgL_envz00_2256,
		obj_t BgL_ez00_2257, obj_t BgL_donez00_2258)
	{
		{	/* Eval/evaluate_use.scm 76 */
			return BgL_donez00_2258;
		}

	}



/* &use-ev_global1139 */
	obj_t BGl_z62usezd2ev_global1139zb0zz__evaluate_usez00(obj_t BgL_envz00_2259,
		obj_t BgL_varz00_2260, obj_t BgL_donez00_2261)
	{
		{	/* Eval/evaluate_use.scm 73 */
			return BgL_donez00_2261;
		}

	}



/* &use-ev_var1137 */
	obj_t BGl_z62usezd2ev_var1137zb0zz__evaluate_usez00(obj_t BgL_envz00_2262,
		obj_t BgL_varz00_2263, obj_t BgL_donez00_2264)
	{
		{	/* Eval/evaluate_use.scm 69 */
			{	/* Eval/evaluate_use.scm 70 */
				obj_t BgL_donez00_2378;

				BgL_donez00_2378 = BgL_donez00_2264;
				if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
							((obj_t)
								((BgL_ev_varz00_bglt) BgL_varz00_2263)), BgL_donez00_2378)))
					{	/* Eval/evaluate_use.scm 70 */
						BFALSE;
					}
				else
					{	/* Eval/evaluate_use.scm 70 */
						BgL_donez00_2378 =
							MAKE_YOUNG_PAIR(
							((obj_t)
								((BgL_ev_varz00_bglt) BgL_varz00_2263)), BgL_donez00_2378);
					}
				return BgL_donez00_2378;
			}
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__evaluate_usez00(void)
	{
		{	/* Eval/evaluate_use.scm 15 */
			BGl_modulezd2initializa7ationz75zz__typez00(121046086L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__biglooz00(536217185L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__tvectorz00(135276775L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__structurez00(128218210L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(43287392L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__bignumz00(6519932L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__osz00(310000171L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__dssslz00(443936801L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__bitz00(377164741L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(481261960L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(54297095L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(237870368L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonum_dtoaz00
				(268155843L, BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(198620800L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(473309430L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(459519430L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(460262918L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(-44273703L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(9614678L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(376927882L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(228151370L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(43892022L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(496722665L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(86988580L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__ppz00(233942021L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__readerz00(220648206L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__prognz00(177147622L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__expandz00(414007149L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__evenvz00(528345299L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__evcompilez00(492754569L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__everrorz00(375872221L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			BGl_modulezd2initializa7ationz75zz__evmodulez00(505897955L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
			return BGl_modulezd2initializa7ationz75zz__evaluate_typesz00(0L,
				BSTRING_TO_STRING(BGl_string1753z00zz__evaluate_usez00));
		}

	}

#ifdef __cplusplus
}
#endif
