/*===========================================================================*/
/*   (Module/eval.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  -q -afile .afile -fsharing -fno-reflection -cc gcc -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -unsafev -gno-error-localization -no-hello -O2 -rm -unsafe -s -stdc -indent Module/eval.scm) */
/* 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_MODULE_EVAL_TYPE_DEFINITIONS
#define BGL_MODULE_EVAL_TYPE_DEFINITIONS

/* object type definitions */
	typedef struct BgL_typez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		obj_t BgL_siza7eza7;
		obj_t BgL_classz00;
		obj_t BgL_coercezd2tozd2;
		obj_t BgL_parentsz00;
		bool_t BgL_initzf3zf3;
		bool_t BgL_magiczf3zf3;
		obj_t BgL_z42z42;
		obj_t BgL_aliasz00;
		obj_t BgL_pointedzd2tozd2byz00;
		obj_t BgL_tvectorz00;
		obj_t BgL_locationz00;
		obj_t BgL_importzd2locationzd2;
		int BgL_occurrencez00;
	}              *BgL_typez00_bglt;

	typedef struct BgL_valuez00_bgl
	{
		header_t header;
		obj_t widening;
	}               *BgL_valuez00_bglt;

	typedef struct BgL_variablez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_valuez00_bgl *BgL_valuez00;
		obj_t BgL_accessz00;
		obj_t BgL_fastzd2alphazd2;
		obj_t BgL_removablez00;
		long BgL_occurrencez00;
		long BgL_occurrencewz00;
		bool_t BgL_userzf3zf3;
	}                  *BgL_variablez00_bglt;

	typedef struct BgL_globalz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_valuez00_bgl *BgL_valuez00;
		obj_t BgL_accessz00;
		obj_t BgL_fastzd2alphazd2;
		obj_t BgL_removablez00;
		long BgL_occurrencez00;
		long BgL_occurrencewz00;
		bool_t BgL_userzf3zf3;
		obj_t BgL_modulez00;
		obj_t BgL_importz00;
		bool_t BgL_evaluablezf3zf3;
		bool_t BgL_evalzf3zf3;
		obj_t BgL_libraryz00;
		obj_t BgL_pragmaz00;
		obj_t BgL_srcz00;
		obj_t BgL_jvmzd2typezd2namez00;
		obj_t BgL_initz00;
		obj_t BgL_aliasz00;
	}                *BgL_globalz00_bglt;

	typedef struct BgL_nodez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
	}              *BgL_nodez00_bglt;

	typedef struct BgL_ccompz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_producerz00;
		obj_t BgL_consumerz00;
		obj_t BgL_finaliza7erza7;
	}               *BgL_ccompz00_bglt;

	typedef struct BgL_tclassz00_bgl
	{
		obj_t BgL_itszd2superzd2;
		obj_t BgL_slotsz00;
		struct BgL_globalz00_bgl *BgL_holderz00;
		obj_t BgL_wideningz00;
		long BgL_depthz00;
		bool_t BgL_finalzf3zf3;
		obj_t BgL_constructorz00;
		obj_t BgL_virtualzd2slotszd2numberz00;
		bool_t BgL_abstractzf3zf3;
		obj_t BgL_widezd2typezd2;
		obj_t BgL_subclassesz00;
	}                *BgL_tclassz00_bglt;

	typedef struct BgL_backendz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_languagez00;
		obj_t BgL_srfi0z00;
		obj_t BgL_namez00;
		obj_t BgL_externzd2variableszd2;
		obj_t BgL_externzd2functionszd2;
		obj_t BgL_externzd2typeszd2;
		obj_t BgL_variablesz00;
		obj_t BgL_functionsz00;
		obj_t BgL_typesz00;
		bool_t BgL_typedz00;
		obj_t BgL_heapzd2suffixzd2;
		obj_t BgL_heapzd2compatiblezd2;
		bool_t BgL_callccz00;
		bool_t BgL_qualifiedzd2typeszd2;
		bool_t BgL_effectzb2zb2;
		bool_t BgL_removezd2emptyzd2letz00;
		bool_t BgL_foreignzd2closurezd2;
		bool_t BgL_typedzd2eqzd2;
		bool_t BgL_tracezd2supportzd2;
		obj_t BgL_foreignzd2clausezd2supportz00;
		obj_t BgL_debugzd2supportzd2;
		bool_t BgL_pragmazd2supportzd2;
		bool_t BgL_tvectorzd2descrzd2supportz00;
		bool_t BgL_requirezd2tailczd2;
		obj_t BgL_registersz00;
		obj_t BgL_pregistersz00;
		bool_t BgL_boundzd2checkzd2;
		bool_t BgL_typezd2checkzd2;
		bool_t BgL_typedzd2funcallzd2;
	}                 *BgL_backendz00_bglt;


#endif													// BGL_MODULE_EVAL_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t,
		obj_t);
	static obj_t BGl_z62makezd2evalzd2compilerz62zzmodule_evalz00(obj_t);
	static obj_t BGl_setzd2evalzd2typesz12z12zzmodule_evalz00(obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zzmodule_evalz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31944ze3ze5zzmodule_evalz00(obj_t,
		obj_t);
	extern obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62evalzd2finaliza7erz17zzmodule_evalz00(obj_t);
	static obj_t BGl_library_ez00zzmodule_evalz00(obj_t);
	extern obj_t BGl_za2srczd2filesza2zd2zzengine_paramz00;
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	BGL_IMPORT obj_t BGl_warningz00zz__errorz00(obj_t);
	extern obj_t BGl_sfunz00zzast_varz00;
	BGL_EXPORTED_DECL obj_t BGl_addzd2evalzd2libraryz12z12zzmodule_evalz00(obj_t);
	static obj_t BGl_toplevelzd2initzd2zzmodule_evalz00(void);
	extern obj_t BGl_forzd2eachzd2globalz12z12zzast_envz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
	BGL_IMPORT obj_t bigloo_module_mangle(obj_t, obj_t);
	extern obj_t BGl_getzd2toplevelzd2unitzd2weightzd2zzmodule_includez00(void);
	static obj_t BGl_evmodulezd2compzd2zzmodule_evalz00(void);
	static obj_t BGl_genericzd2initzd2zzmodule_evalz00(void);
	BGL_IMPORT obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_za2evalzd2librariesza2zd2zzmodule_evalz00 = BUNSPEC;
	static obj_t BGl_objectzd2initzd2zzmodule_evalz00(void);
	BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	static obj_t BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00(obj_t,
		obj_t, obj_t);
	BGL_IMPORT obj_t bgl_reverse_bang(obj_t);
	BGL_IMPORT obj_t BGl_libraryzd2initzd2filez00zz__libraryz00(obj_t);
	static obj_t BGl_za2evalzd2classesza2zd2zzmodule_evalz00 = BUNSPEC;
	extern obj_t BGl_za2libzd2modeza2zd2zzengine_paramz00;
	extern obj_t BGl_thezd2backendzd2zzbackend_backendz00(void);
	extern BgL_typez00_bglt BGl_findzd2typezf2locationz20zztype_envz00(obj_t,
		obj_t);
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	extern BgL_globalz00_bglt
		BGl_declarezd2globalzd2cfunz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_appendzd221011zd2zzmodule_evalz00(obj_t, obj_t);
	extern BgL_nodez00_bglt
		BGl_definezd2primopzd2refzf2srczd2ze3nodezc3zzast_sexpz00
		(BgL_globalz00_bglt, BgL_nodez00_bglt, obj_t);
	static obj_t BGl_methodzd2initzd2zzmodule_evalz00(void);
	BGL_IMPORT obj_t BGl_makezd2promisezd2zz__r4_control_features_6_9z00(obj_t);
	BGL_IMPORT obj_t BGl_libraryzd2infozd2zz__libraryz00(obj_t);
	static obj_t BGl_getzd2evalzd2srfizd2librarieszd2zzmodule_evalz00(void);
	static obj_t BGl_z62getzd2evalzd2librariesz62zzmodule_evalz00(obj_t);
	BGL_EXPORTED_DEF obj_t BGl_za2allzd2exportzd2mutablezf3za2zf3zzmodule_evalz00
		= BUNSPEC;
	extern obj_t BGl_findzd2globalzd2zzast_envz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_makezd2evalzd2compilerz00zzmodule_evalz00(void);
	static obj_t BGl_getzd2evaluatedzd2classzd2holderszd2zzmodule_evalz00(void);
	BGL_IMPORT obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_za2_za2z00zztype_cachez00;
	extern obj_t BGl_svarz00zzast_varz00;
	static obj_t BGl_z62addzd2evalzd2libraryz12z70zzmodule_evalz00(obj_t, obj_t);
	extern obj_t BGl_za2objza2z00zztype_cachez00;
	extern BgL_nodez00_bglt
		BGl_definezd2primopzd2ze3nodeze3zzast_sexpz00(BgL_globalz00_bglt);
	extern obj_t BGl_ccompz00zzmodule_modulez00;
	extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
	extern BgL_nodez00_bglt
		BGl_locationzd2ze3nodez31zzast_sexpz00(BgL_globalz00_bglt);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmodule_evalz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzbackend_backendz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzmodule_includez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__libraryz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__evalz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__osz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
	static bool_t BGl_za2onezd2evalzf3za2z21zzmodule_evalz00;
	static obj_t BGl_getzd2evaluatedzd2globalsz00zzmodule_evalz00(obj_t);
	static obj_t BGl_z62evalzd2producerzb0zzmodule_evalz00(obj_t, obj_t);
	BGL_EXPORTED_DEF obj_t BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00 =
		BUNSPEC;
	BGL_IMPORT obj_t BGl_loadqz00zz__evalz00(obj_t, obj_t);
	extern obj_t BGl_za2libzd2dirza2zd2zzengine_paramz00;
	BGL_IMPORT obj_t create_struct(obj_t, int);
	BGL_EXPORTED_DEF obj_t BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00 =
		BUNSPEC;
	static obj_t BGl_cnstzd2initzd2zzmodule_evalz00(void);
	static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_evalz00(void);
	BGL_EXPORTED_DEF obj_t BGl_za2allzd2evalzf3za2z21zzmodule_evalz00 = BUNSPEC;
	extern obj_t BGl_scnstz00zzast_varz00;
	static obj_t BGl_importedzd2moduleszd2initz00zzmodule_evalz00(void);
	static obj_t BGl_gczd2rootszd2initz00zzmodule_evalz00(void);
	extern BgL_globalz00_bglt
		BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_za2modulezd2locationza2zd2zzmodule_modulez00;
	extern obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
	extern BgL_nodez00_bglt
		BGl_definezd2primopzd2refzd2ze3nodez31zzast_sexpz00(BgL_globalz00_bglt,
		BgL_nodez00_bglt);
	extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_evalzd2parserzd2zzmodule_evalz00(obj_t, obj_t);
	static obj_t BGl_za2evalzd2exportedza2zd2zzmodule_evalz00 = BUNSPEC;
	static obj_t BGl_getzd2libraryzd2infoz00zzmodule_evalz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_getzd2evalzd2librariesz00zzmodule_evalz00(void);
	static obj_t BGl_exportzd2globalze70z35zzmodule_evalz00(obj_t);
	BGL_IMPORT obj_t BGl_findzd2filezf2pathz20zz__osz00(obj_t, obj_t);
	extern bool_t BGl_bigloozd2typezf3z21zztype_typez00(BgL_typez00_bglt);
	extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_getzd2evaluatedzd2classzd2macroszd2zzmodule_evalz00(void);
	extern obj_t BGl_modulezd2initializa7ationzd2idza7zzmodule_modulez00(obj_t);
	static obj_t BGl_z62zc3z04anonymousza31398ze3ze5zzmodule_evalz00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_globalz00zzast_varz00;
	static obj_t BGl_z62zc3z04anonymousza31682ze3ze5zzmodule_evalz00(obj_t);
	BGL_IMPORT obj_t BGl_defaultzd2environmentzd2zz__evalz00(void);
	static obj_t __cnst[39];


	   
		 
		DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2113z00zzmodule_evalz00,
		BgL_bgl_za762za7c3za704anonymo2129za7,
		BGl_z62zc3z04anonymousza31398ze3ze5zzmodule_evalz00, 0L, BUNSPEC, 2);
	      DEFINE_STRING(BGl_string2120z00zzmodule_evalz00,
		BgL_bgl_string2120za700za7za7m2130za7, "cannot initialize library for eval",
		34);
	      DEFINE_STRING(BGl_string2121z00zzmodule_evalz00,
		BgL_bgl_string2121za700za7za7m2131za7, "eval", 4);
	      DEFINE_STRING(BGl_string2122z00zzmodule_evalz00,
		BgL_bgl_string2122za700za7za7m2132za7,
		"Non bigloo prototyped value can't be evaluated", 46);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2116z00zzmodule_evalz00,
		BgL_bgl_za762za7c3za704anonymo2133za7,
		BGl_z62zc3z04anonymousza31682ze3ze5zzmodule_evalz00, 0L, BUNSPEC, 0);
	      DEFINE_STRING(BGl_string2123z00zzmodule_evalz00,
		BgL_bgl_string2123za700za7za7m2134za7, "eval-init", 9);
	      DEFINE_STRING(BGl_string2124z00zzmodule_evalz00,
		BgL_bgl_string2124za700za7za7m2135za7,
		"This variable cannot be known by eval", 37);
	      DEFINE_STRING(BGl_string2125z00zzmodule_evalz00,
		BgL_bgl_string2125za700za7za7m2136za7, "Unbound eval variable", 21);
	      DEFINE_STRING(BGl_string2126z00zzmodule_evalz00,
		BgL_bgl_string2126za700za7za7m2137za7, "module_eval", 11);
	      DEFINE_STRING(BGl_string2127z00zzmodule_evalz00,
		BgL_bgl_string2127za700za7za7m2138za7,
		"eval-expand-with-access eval-expand-duplicate eval-expand-instantiate register-eval-srfi! (export) (import static export) (all module export) library-load library-mark-loaded! pragma::string bigloo-library-path library-load-init __library (int string) obj libinfo vector __evmeaning_address value module quote evmodule-comp! __evmodule begin (#unspecified) one all write void unit library import class @ export export-module export-exports export-all eval ",
		456);
	     
		DEFINE_STATIC_BGL_PROCEDURE(BGl_evalzd2producerzd2envz00zzmodule_evalz00,
		BgL_bgl_za762evalza7d2produc2139z00,
		BGl_z62evalzd2producerzb0zzmodule_evalz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_addzd2evalzd2libraryz12zd2envzc0zzmodule_evalz00,
		BgL_bgl_za762addza7d2evalza7d22140za7,
		BGl_z62addzd2evalzd2libraryz12z70zzmodule_evalz00, 0L, BUNSPEC, 1);
	     
		DEFINE_STATIC_BGL_PROCEDURE(BGl_evalzd2finaliza7erzd2envza7zzmodule_evalz00,
		BgL_bgl_za762evalza7d2finali2141z00,
		BGl_z62evalzd2finaliza7erz17zzmodule_evalz00, 0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_getzd2evalzd2librarieszd2envzd2zzmodule_evalz00,
		BgL_bgl_za762getza7d2evalza7d22142za7,
		BGl_z62getzd2evalzd2librariesz62zzmodule_evalz00, 0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_makezd2evalzd2compilerzd2envzd2zzmodule_evalz00,
		BgL_bgl_za762makeza7d2evalza7d2143za7,
		BGl_z62makezd2evalzd2compilerz62zzmodule_evalz00, 0L, BUNSPEC, 0);
	      DEFINE_STRING(BGl_string2114z00zzmodule_evalz00,
		BgL_bgl_string2114za700za7za7m2144za7, "Parse error", 11);
	      DEFINE_STRING(BGl_string2115z00zzmodule_evalz00,
		BgL_bgl_string2115za700za7za7m2145za7, "Illegal `eval' clause", 21);
	      DEFINE_STRING(BGl_string2117z00zzmodule_evalz00,
		BgL_bgl_string2117za700za7za7m2146za7, "cannot find info \"~a\"", 21);
	      DEFINE_STRING(BGl_string2118z00zzmodule_evalz00,
		BgL_bgl_string2118za700za7za7m2147za7,
		"cannot find file \"~a\" in lib path", 33);
	      DEFINE_STRING(BGl_string2119z00zzmodule_evalz00,
		BgL_bgl_string2119za700za7za7m2148za7, "~s", 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_requirezd2initializa7ationz75zzmodule_evalz00));
		     ADD_ROOT((void *) (&BGl_za2evalzd2librariesza2zd2zzmodule_evalz00));
		     ADD_ROOT((void *) (&BGl_za2evalzd2classesza2zd2zzmodule_evalz00));
		   
			 ADD_ROOT((void
				*) (&BGl_za2allzd2exportzd2mutablezf3za2zf3zzmodule_evalz00));
		     ADD_ROOT((void
				*) (&BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00));
		     ADD_ROOT((void
				*) (&BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00));
		     ADD_ROOT((void *) (&BGl_za2allzd2evalzf3za2z21zzmodule_evalz00));
		     ADD_ROOT((void *) (&BGl_za2evalzd2exportedza2zd2zzmodule_evalz00));
#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_modulezd2initializa7ationz75zzmodule_evalz00(long
		BgL_checksumz00_3140, char *BgL_fromz00_3141)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzmodule_evalz00))
				{
					BGl_requirezd2initializa7ationz75zzmodule_evalz00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzmodule_evalz00();
					BGl_libraryzd2moduleszd2initz00zzmodule_evalz00();
					BGl_cnstzd2initzd2zzmodule_evalz00();
					BGl_importedzd2moduleszd2initz00zzmodule_evalz00();
					return BGl_toplevelzd2initzd2zzmodule_evalz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"module_eval");
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__errorz00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(0L,
				"module_eval");
			BGl_modulezd2initializa7ationz75zz__biglooz00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__libraryz00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(0L,
				"module_eval");
			BGl_modulezd2initializa7ationz75zz__evalz00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__osz00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L,
				"module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"module_eval");
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(0L, "module_eval");
			BGl_modulezd2initializa7ationz75zz__structurez00(0L, "module_eval");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			{	/* Module/eval.scm 15 */
				obj_t BgL_cportz00_3048;

				{	/* Module/eval.scm 15 */
					obj_t BgL_stringz00_3055;

					BgL_stringz00_3055 = BGl_string2127z00zzmodule_evalz00;
					{	/* Module/eval.scm 15 */
						obj_t BgL_startz00_3056;

						BgL_startz00_3056 = BINT(0L);
						{	/* Module/eval.scm 15 */
							obj_t BgL_endz00_3057;

							BgL_endz00_3057 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_3055)));
							{	/* Module/eval.scm 15 */

								BgL_cportz00_3048 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_3055, BgL_startz00_3056, BgL_endz00_3057);
				}}}}
				{
					long BgL_iz00_3049;

					BgL_iz00_3049 = 38L;
				BgL_loopz00_3050:
					if ((BgL_iz00_3049 == -1L))
						{	/* Module/eval.scm 15 */
							return BUNSPEC;
						}
					else
						{	/* Module/eval.scm 15 */
							{	/* Module/eval.scm 15 */
								obj_t BgL_arg2128z00_3051;

								{	/* Module/eval.scm 15 */

									{	/* Module/eval.scm 15 */
										obj_t BgL_locationz00_3053;

										BgL_locationz00_3053 = BBOOL(((bool_t) 0));
										{	/* Module/eval.scm 15 */

											BgL_arg2128z00_3051 =
												BGl_readz00zz__readerz00(BgL_cportz00_3048,
												BgL_locationz00_3053);
										}
									}
								}
								{	/* Module/eval.scm 15 */
									int BgL_tmpz00_3176;

									BgL_tmpz00_3176 = (int) (BgL_iz00_3049);
									CNST_TABLE_SET(BgL_tmpz00_3176, BgL_arg2128z00_3051);
							}}
							{	/* Module/eval.scm 15 */
								int BgL_auxz00_3054;

								BgL_auxz00_3054 = (int) ((BgL_iz00_3049 - 1L));
								{
									long BgL_iz00_3181;

									BgL_iz00_3181 = (long) (BgL_auxz00_3054);
									BgL_iz00_3049 = BgL_iz00_3181;
									goto BgL_loopz00_3050;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			BGl_za2evalzd2librariesza2zd2zzmodule_evalz00 = BNIL;
			BGl_za2evalzd2exportedza2zd2zzmodule_evalz00 = BNIL;
			BGl_za2evalzd2classesza2zd2zzmodule_evalz00 = BNIL;
			BGl_za2allzd2evalzf3za2z21zzmodule_evalz00 = BFALSE;
			BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00 = BFALSE;
			BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00 = BFALSE;
			BGl_za2allzd2exportzd2mutablezf3za2zf3zzmodule_evalz00 = BFALSE;
			return (BGl_za2onezd2evalzf3za2z21zzmodule_evalz00 =
				((bool_t) 0), BUNSPEC);
		}

	}



/* append-21011 */
	obj_t BGl_appendzd221011zd2zzmodule_evalz00(obj_t BgL_l1z00_1,
		obj_t BgL_l2z00_2)
	{
		{
			{
				obj_t BgL_headz00_1782;

				BgL_headz00_1782 = MAKE_YOUNG_PAIR(BNIL, BgL_l2z00_2);
				{
					obj_t BgL_prevz00_1783;
					obj_t BgL_tailz00_1784;

					BgL_prevz00_1783 = BgL_headz00_1782;
					BgL_tailz00_1784 = BgL_l1z00_1;
				BgL_loopz00_1785:
					if (PAIRP(BgL_tailz00_1784))
						{
							obj_t BgL_newzd2prevzd2_1787;

							BgL_newzd2prevzd2_1787 =
								MAKE_YOUNG_PAIR(CAR(BgL_tailz00_1784), BgL_l2z00_2);
							SET_CDR(BgL_prevz00_1783, BgL_newzd2prevzd2_1787);
							{
								obj_t BgL_tailz00_3191;
								obj_t BgL_prevz00_3190;

								BgL_prevz00_3190 = BgL_newzd2prevzd2_1787;
								BgL_tailz00_3191 = CDR(BgL_tailz00_1784);
								BgL_tailz00_1784 = BgL_tailz00_3191;
								BgL_prevz00_1783 = BgL_prevz00_3190;
								goto BgL_loopz00_1785;
							}
						}
					else
						{
							BNIL;
						}
					return CDR(BgL_headz00_1782);
				}
			}
		}

	}



/* make-eval-compiler */
	BGL_EXPORTED_DEF obj_t BGl_makezd2evalzd2compilerz00zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 45 */
			{	/* Module/eval.scm 46 */
				BgL_ccompz00_bglt BgL_new1109z00_1825;

				{	/* Module/eval.scm 47 */
					BgL_ccompz00_bglt BgL_new1108z00_1829;

					BgL_new1108z00_1829 =
						((BgL_ccompz00_bglt) BOBJECT(GC_MALLOC(sizeof(struct
									BgL_ccompz00_bgl))));
					{	/* Module/eval.scm 47 */
						long BgL_arg1407z00_1830;

						BgL_arg1407z00_1830 = BGL_CLASS_NUM(BGl_ccompz00zzmodule_modulez00);
						BGL_OBJECT_CLASS_NUM_SET(
							((BgL_objectz00_bglt) BgL_new1108z00_1829), BgL_arg1407z00_1830);
					}
					BgL_new1109z00_1825 = BgL_new1108z00_1829;
				}
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1109z00_1825))->BgL_idz00) =
					((obj_t) CNST_TABLE_REF(0L)), BUNSPEC);
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1109z00_1825))->BgL_producerz00) =
					((obj_t) BGl_evalzd2producerzd2envz00zzmodule_evalz00), BUNSPEC);
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1109z00_1825))->BgL_consumerz00) =
					((obj_t) BGl_proc2113z00zzmodule_evalz00), BUNSPEC);
				((((BgL_ccompz00_bglt) COBJECT(BgL_new1109z00_1825))->
						BgL_finaliza7erza7) =
					((obj_t) BGl_evalzd2finaliza7erzd2envza7zzmodule_evalz00), BUNSPEC);
				return ((obj_t) BgL_new1109z00_1825);
			}
		}

	}



/* &make-eval-compiler */
	obj_t BGl_z62makezd2evalzd2compilerz62zzmodule_evalz00(obj_t BgL_envz00_3026)
	{
		{	/* Module/eval.scm 45 */
			return BGl_makezd2evalzd2compilerz00zzmodule_evalz00();
		}

	}



/* &<@anonymous:1398> */
	obj_t BGl_z62zc3z04anonymousza31398ze3ze5zzmodule_evalz00(obj_t
		BgL_envz00_3027, obj_t BgL_mz00_3028, obj_t BgL_cz00_3029)
	{
		{	/* Module/module.scm 53 */
			return BNIL;
		}

	}



/* &eval-producer */
	obj_t BGl_z62evalzd2producerzb0zzmodule_evalz00(obj_t BgL_envz00_3030,
		obj_t BgL_clausez00_3031)
	{
		{	/* Module/eval.scm 54 */
			{
				obj_t BgL_protosz00_3061;

				if (PAIRP(BgL_clausez00_3031))
					{	/* Module/eval.scm 55 */
						obj_t BgL_arg1420z00_3065;

						BgL_arg1420z00_3065 = CDR(((obj_t) BgL_clausez00_3031));
						BgL_protosz00_3061 = BgL_arg1420z00_3065;
						{
							obj_t BgL_l1304z00_3063;

							BgL_l1304z00_3063 = BgL_protosz00_3061;
						BgL_zc3z04anonymousza31421ze3z87_3062:
							if (PAIRP(BgL_l1304z00_3063))
								{	/* Module/eval.scm 57 */
									BGl_evalzd2parserzd2zzmodule_evalz00(CAR(BgL_l1304z00_3063),
										BgL_clausez00_3031);
									{
										obj_t BgL_l1304z00_3213;

										BgL_l1304z00_3213 = CDR(BgL_l1304z00_3063);
										BgL_l1304z00_3063 = BgL_l1304z00_3213;
										goto BgL_zc3z04anonymousza31421ze3z87_3062;
									}
								}
							else
								{	/* Module/eval.scm 57 */
									((bool_t) 1);
								}
						}
						return BNIL;
					}
				else
					{	/* Module/eval.scm 55 */
						{	/* Module/eval.scm 60 */
							obj_t BgL_list1432z00_3064;

							BgL_list1432z00_3064 = MAKE_YOUNG_PAIR(BNIL, BNIL);
							return
								BGl_userzd2errorzd2zztools_errorz00
								(BGl_string2114z00zzmodule_evalz00,
								BGl_string2115z00zzmodule_evalz00, BgL_clausez00_3031,
								BgL_list1432z00_3064);
						}
					}
			}
		}

	}



/* eval-parser */
	obj_t BGl_evalzd2parserzd2zzmodule_evalz00(obj_t BgL_protoz00_76,
		obj_t BgL_clausez00_77)
	{
		{	/* Module/eval.scm 68 */
			{
				obj_t BgL_libsz00_1857;

				if (PAIRP(BgL_protoz00_76))
					{	/* Module/eval.scm 69 */
						if ((CAR(((obj_t) BgL_protoz00_76)) == CNST_TABLE_REF(1L)))
							{	/* Module/eval.scm 69 */
								if (NULLP(CDR(((obj_t) BgL_protoz00_76))))
									{	/* Module/eval.scm 69 */
										return (BGl_za2allzd2evalzf3za2z21zzmodule_evalz00 =
											BTRUE, BUNSPEC);
									}
								else
									{	/* Module/eval.scm 69 */
									BgL_tagzd2117zd2_1859:
										{	/* Module/eval.scm 95 */
											obj_t BgL_list1640z00_1943;

											BgL_list1640z00_1943 = MAKE_YOUNG_PAIR(BNIL, BNIL);
											return
												BGl_userzd2errorzd2zztools_errorz00
												(BGl_string2114z00zzmodule_evalz00,
												BGl_string2115z00zzmodule_evalz00, BgL_clausez00_77,
												BgL_list1640z00_1943);
										}
									}
							}
						else
							{	/* Module/eval.scm 69 */
								if ((CAR(((obj_t) BgL_protoz00_76)) == CNST_TABLE_REF(2L)))
									{	/* Module/eval.scm 69 */
										if (NULLP(CDR(((obj_t) BgL_protoz00_76))))
											{	/* Module/eval.scm 69 */
												return
													(BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00 =
													BTRUE, BUNSPEC);
											}
										else
											{	/* Module/eval.scm 69 */
												goto BgL_tagzd2117zd2_1859;
											}
									}
								else
									{	/* Module/eval.scm 69 */
										if ((CAR(((obj_t) BgL_protoz00_76)) == CNST_TABLE_REF(3L)))
											{	/* Module/eval.scm 69 */
												if (NULLP(CDR(((obj_t) BgL_protoz00_76))))
													{	/* Module/eval.scm 69 */
														return
															(BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00
															= BTRUE, BUNSPEC);
													}
												else
													{	/* Module/eval.scm 69 */
														goto BgL_tagzd2117zd2_1859;
													}
											}
										else
											{	/* Module/eval.scm 69 */
												obj_t BgL_cdrzd2215zd2_1877;

												BgL_cdrzd2215zd2_1877 = CDR(((obj_t) BgL_protoz00_76));
												if (
													(CAR(
															((obj_t) BgL_protoz00_76)) == CNST_TABLE_REF(4L)))
													{	/* Module/eval.scm 69 */
														if (PAIRP(BgL_cdrzd2215zd2_1877))
															{	/* Module/eval.scm 69 */
																obj_t BgL_carzd2217zd2_1881;

																BgL_carzd2217zd2_1881 =
																	CAR(BgL_cdrzd2215zd2_1877);
																if (SYMBOLP(BgL_carzd2217zd2_1881))
																	{	/* Module/eval.scm 69 */
																		if (NULLP(CDR(BgL_cdrzd2215zd2_1877)))
																			{	/* Module/eval.scm 69 */
																				BGl_za2onezd2evalzf3za2z21zzmodule_evalz00
																					= ((bool_t) 1);
																				return
																					BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00
																					(BgL_carzd2217zd2_1881, BFALSE,
																					BgL_protoz00_76);
																			}
																		else
																			{	/* Module/eval.scm 69 */
																				goto BgL_tagzd2117zd2_1859;
																			}
																	}
																else
																	{	/* Module/eval.scm 69 */
																		obj_t BgL_carzd2247zd2_1887;

																		BgL_carzd2247zd2_1887 =
																			CAR(((obj_t) BgL_cdrzd2215zd2_1877));
																		if (PAIRP(BgL_carzd2247zd2_1887))
																			{	/* Module/eval.scm 69 */
																				obj_t BgL_cdrzd2252zd2_1889;

																				BgL_cdrzd2252zd2_1889 =
																					CDR(BgL_carzd2247zd2_1887);
																				if (
																					(CAR(BgL_carzd2247zd2_1887) ==
																						CNST_TABLE_REF(5L)))
																					{	/* Module/eval.scm 69 */
																						if (PAIRP(BgL_cdrzd2252zd2_1889))
																							{	/* Module/eval.scm 69 */
																								obj_t BgL_carzd2255zd2_1893;
																								obj_t BgL_cdrzd2256zd2_1894;

																								BgL_carzd2255zd2_1893 =
																									CAR(BgL_cdrzd2252zd2_1889);
																								BgL_cdrzd2256zd2_1894 =
																									CDR(BgL_cdrzd2252zd2_1889);
																								if (SYMBOLP
																									(BgL_carzd2255zd2_1893))
																									{	/* Module/eval.scm 69 */
																										if (PAIRP
																											(BgL_cdrzd2256zd2_1894))
																											{	/* Module/eval.scm 69 */
																												obj_t
																													BgL_carzd2261zd2_1897;
																												BgL_carzd2261zd2_1897 =
																													CAR
																													(BgL_cdrzd2256zd2_1894);
																												if (SYMBOLP
																													(BgL_carzd2261zd2_1897))
																													{	/* Module/eval.scm 69 */
																														if (NULLP(CDR
																																(BgL_cdrzd2256zd2_1894)))
																															{	/* Module/eval.scm 69 */
																																if (NULLP(CDR(
																																			((obj_t)
																																				BgL_cdrzd2215zd2_1877))))
																																	{	/* Module/eval.scm 69 */
																																		BGl_za2onezd2evalzf3za2z21zzmodule_evalz00
																																			=
																																			((bool_t)
																																			1);
																																		return
																																			BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00
																																			(BgL_carzd2255zd2_1893,
																																			BgL_carzd2261zd2_1897,
																																			BgL_protoz00_76);
																																	}
																																else
																																	{	/* Module/eval.scm 69 */
																																		goto
																																			BgL_tagzd2117zd2_1859;
																																	}
																															}
																														else
																															{	/* Module/eval.scm 69 */
																																goto
																																	BgL_tagzd2117zd2_1859;
																															}
																													}
																												else
																													{	/* Module/eval.scm 69 */
																														goto
																															BgL_tagzd2117zd2_1859;
																													}
																											}
																										else
																											{	/* Module/eval.scm 69 */
																												goto
																													BgL_tagzd2117zd2_1859;
																											}
																									}
																								else
																									{	/* Module/eval.scm 69 */
																										goto BgL_tagzd2117zd2_1859;
																									}
																							}
																						else
																							{	/* Module/eval.scm 69 */
																								goto BgL_tagzd2117zd2_1859;
																							}
																					}
																				else
																					{	/* Module/eval.scm 69 */
																						goto BgL_tagzd2117zd2_1859;
																					}
																			}
																		else
																			{	/* Module/eval.scm 69 */
																				goto BgL_tagzd2117zd2_1859;
																			}
																	}
															}
														else
															{	/* Module/eval.scm 69 */
																goto BgL_tagzd2117zd2_1859;
															}
													}
												else
													{	/* Module/eval.scm 69 */
														if (
															(CAR(
																	((obj_t) BgL_protoz00_76)) ==
																CNST_TABLE_REF(6L)))
															{	/* Module/eval.scm 69 */
																if (PAIRP(BgL_cdrzd2215zd2_1877))
																	{	/* Module/eval.scm 69 */
																		obj_t BgL_carzd2366zd2_1910;

																		BgL_carzd2366zd2_1910 =
																			CAR(BgL_cdrzd2215zd2_1877);
																		if (SYMBOLP(BgL_carzd2366zd2_1910))
																			{	/* Module/eval.scm 69 */
																				if (NULLP(CDR(BgL_cdrzd2215zd2_1877)))
																					{	/* Module/eval.scm 69 */
																						return
																							(BGl_za2evalzd2classesza2zd2zzmodule_evalz00
																							=
																							MAKE_YOUNG_PAIR(BgL_protoz00_76,
																								BGl_za2evalzd2classesza2zd2zzmodule_evalz00),
																							BUNSPEC);
																					}
																				else
																					{	/* Module/eval.scm 69 */
																						goto BgL_tagzd2117zd2_1859;
																					}
																			}
																		else
																			{	/* Module/eval.scm 69 */
																				goto BgL_tagzd2117zd2_1859;
																			}
																	}
																else
																	{	/* Module/eval.scm 69 */
																		goto BgL_tagzd2117zd2_1859;
																	}
															}
														else
															{	/* Module/eval.scm 69 */
																obj_t BgL_cdrzd2390zd2_1915;

																BgL_cdrzd2390zd2_1915 =
																	CDR(((obj_t) BgL_protoz00_76));
																if (
																	(CAR(
																			((obj_t) BgL_protoz00_76)) ==
																		CNST_TABLE_REF(7L)))
																	{	/* Module/eval.scm 69 */
																		if (PAIRP(BgL_cdrzd2390zd2_1915))
																			{	/* Module/eval.scm 69 */
																				obj_t BgL_carzd2392zd2_1919;

																				BgL_carzd2392zd2_1919 =
																					CAR(BgL_cdrzd2390zd2_1915);
																				if (SYMBOLP(BgL_carzd2392zd2_1919))
																					{	/* Module/eval.scm 69 */
																						if (NULLP(CDR
																								(BgL_cdrzd2390zd2_1915)))
																							{	/* Module/eval.scm 69 */
																								return
																									((obj_t)
																									BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2
																									(BgL_carzd2392zd2_1919,
																										BFALSE, CNST_TABLE_REF(0L),
																										CNST_TABLE_REF(0L),
																										BgL_clausez00_77, BFALSE));
																							}
																						else
																							{	/* Module/eval.scm 69 */
																								goto BgL_tagzd2117zd2_1859;
																							}
																					}
																				else
																					{	/* Module/eval.scm 69 */
																						goto BgL_tagzd2117zd2_1859;
																					}
																			}
																		else
																			{	/* Module/eval.scm 69 */
																				goto BgL_tagzd2117zd2_1859;
																			}
																	}
																else
																	{	/* Module/eval.scm 69 */
																		if (
																			(CAR(
																					((obj_t) BgL_protoz00_76)) ==
																				CNST_TABLE_REF(8L)))
																			{	/* Module/eval.scm 69 */
																				bool_t BgL_tmpz00_3330;

																				BgL_libsz00_1857 =
																					BgL_cdrzd2390zd2_1915;
																				{
																					obj_t BgL_l1306z00_1935;

																					BgL_l1306z00_1935 = BgL_libsz00_1857;
																				BgL_zc3z04anonymousza31630ze3z87_1936:
																					if (PAIRP(BgL_l1306z00_1935))
																						{	/* Module/eval.scm 87 */
																							{	/* Module/eval.scm 88 */
																								obj_t BgL_libz00_1938;

																								BgL_libz00_1938 =
																									CAR(BgL_l1306z00_1935);
																								if (SYMBOLP(BgL_libz00_1938))
																									{	/* Module/eval.scm 88 */
																										BGl_za2evalzd2librariesza2zd2zzmodule_evalz00
																											=
																											MAKE_YOUNG_PAIR
																											(BgL_libz00_1938,
																											BGl_za2evalzd2librariesza2zd2zzmodule_evalz00);
																									}
																								else
																									{	/* Module/eval.scm 89 */
																										obj_t BgL_list1633z00_1940;

																										BgL_list1633z00_1940 =
																											MAKE_YOUNG_PAIR(BNIL,
																											BNIL);
																										BGl_userzd2errorzd2zztools_errorz00
																											(BGl_string2114z00zzmodule_evalz00,
																											BGl_string2115z00zzmodule_evalz00,
																											BgL_clausez00_77,
																											BgL_list1633z00_1940);
																									}
																							}
																							{
																								obj_t BgL_l1306z00_3339;

																								BgL_l1306z00_3339 =
																									CDR(BgL_l1306z00_1935);
																								BgL_l1306z00_1935 =
																									BgL_l1306z00_3339;
																								goto
																									BgL_zc3z04anonymousza31630ze3z87_1936;
																							}
																						}
																					else
																						{	/* Module/eval.scm 87 */
																							BgL_tmpz00_3330 = ((bool_t) 1);
																						}
																				}
																				return BBOOL(BgL_tmpz00_3330);
																			}
																		else
																			{	/* Module/eval.scm 69 */
																				goto BgL_tagzd2117zd2_1859;
																			}
																	}
															}
													}
											}
									}
							}
					}
				else
					{	/* Module/eval.scm 69 */
						goto BgL_tagzd2117zd2_1859;
					}
			}
		}

	}



/* get-eval-libraries */
	BGL_EXPORTED_DEF obj_t BGl_getzd2evalzd2librariesz00zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 105 */
			return BGl_za2evalzd2librariesza2zd2zzmodule_evalz00;
		}

	}



/* &get-eval-libraries */
	obj_t BGl_z62getzd2evalzd2librariesz62zzmodule_evalz00(obj_t BgL_envz00_3033)
	{
		{	/* Module/eval.scm 105 */
			return BGl_getzd2evalzd2librariesz00zzmodule_evalz00();
		}

	}



/* add-eval-library! */
	BGL_EXPORTED_DEF obj_t BGl_addzd2evalzd2libraryz12z12zzmodule_evalz00(obj_t
		BgL_libz00_78)
	{
		{	/* Module/eval.scm 111 */
			return (BGl_za2evalzd2librariesza2zd2zzmodule_evalz00 =
				MAKE_YOUNG_PAIR(BgL_libz00_78,
					BGl_za2evalzd2librariesza2zd2zzmodule_evalz00), BUNSPEC);
		}

	}



/* &add-eval-library! */
	obj_t BGl_z62addzd2evalzd2libraryz12z70zzmodule_evalz00(obj_t BgL_envz00_3034,
		obj_t BgL_libz00_3035)
	{
		{	/* Module/eval.scm 111 */
			return BGl_addzd2evalzd2libraryz12z12zzmodule_evalz00(BgL_libz00_3035);
		}

	}



/* remember-eval-exported! */
	obj_t BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00(obj_t
		BgL_varz00_79, obj_t BgL_modulez00_80, obj_t BgL_locz00_81)
	{
		{	/* Module/eval.scm 127 */
			{	/* Module/eval.scm 128 */
				obj_t BgL_arg1649z00_1944;

				{	/* Module/eval.scm 128 */
					obj_t BgL_list1650z00_1945;

					{	/* Module/eval.scm 128 */
						obj_t BgL_arg1658z00_1946;

						{	/* Module/eval.scm 128 */
							obj_t BgL_arg1661z00_1947;

							BgL_arg1661z00_1947 = MAKE_YOUNG_PAIR(BgL_locz00_81, BNIL);
							BgL_arg1658z00_1946 =
								MAKE_YOUNG_PAIR(BgL_modulez00_80, BgL_arg1661z00_1947);
						}
						BgL_list1650z00_1945 =
							MAKE_YOUNG_PAIR(BgL_varz00_79, BgL_arg1658z00_1946);
					}
					BgL_arg1649z00_1944 = BgL_list1650z00_1945;
				}
				return (BGl_za2evalzd2exportedza2zd2zzmodule_evalz00 =
					MAKE_YOUNG_PAIR(BgL_arg1649z00_1944,
						BGl_za2evalzd2exportedza2zd2zzmodule_evalz00), BUNSPEC);
			}
		}

	}



/* &eval-finalizer */
	obj_t BGl_z62evalzd2finaliza7erz17zzmodule_evalz00(obj_t BgL_envz00_3032)
	{
		{	/* Module/eval.scm 146 */
			{	/* Module/eval.scm 159 */
				bool_t BgL_test2184z00_3349;

				if (BGl_za2onezd2evalzf3za2z21zzmodule_evalz00)
					{	/* Module/eval.scm 159 */
						BgL_test2184z00_3349 = ((bool_t) 1);
					}
				else
					{	/* Module/eval.scm 159 */
						if (CBOOL(BGl_za2allzd2evalzf3za2z21zzmodule_evalz00))
							{	/* Module/eval.scm 159 */
								BgL_test2184z00_3349 = ((bool_t) 1);
							}
						else
							{	/* Module/eval.scm 159 */
								if (CBOOL(BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00))
									{	/* Module/eval.scm 159 */
										BgL_test2184z00_3349 = ((bool_t) 1);
									}
								else
									{	/* Module/eval.scm 159 */
										if (CBOOL
											(BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00))
											{	/* Module/eval.scm 159 */
												BgL_test2184z00_3349 = ((bool_t) 1);
											}
										else
											{	/* Module/eval.scm 159 */
												if (NULLP
													(BGl_za2evalzd2librariesza2zd2zzmodule_evalz00))
													{	/* Module/eval.scm 163 */
														BgL_test2184z00_3349 =
															PAIRP
															(BGl_za2evalzd2classesza2zd2zzmodule_evalz00);
													}
												else
													{	/* Module/eval.scm 163 */
														BgL_test2184z00_3349 = ((bool_t) 1);
													}
											}
									}
							}
					}
				if (BgL_test2184z00_3349)
					{	/* Module/eval.scm 167 */
						obj_t BgL_arg1669z00_3066;

						{	/* Module/eval.scm 167 */
							long BgL_arg1673z00_3067;
							obj_t BgL_arg1675z00_3068;

							{	/* Module/eval.scm 167 */
								obj_t BgL_arg1678z00_3069;

								BgL_arg1678z00_3069 =
									BGl_getzd2toplevelzd2unitzd2weightzd2zzmodule_includez00();
								BgL_arg1673z00_3067 = ((long) CINT(BgL_arg1678z00_3069) - 2L);
							}
							BgL_arg1675z00_3068 =
								BGl_makezd2promisezd2zz__r4_control_features_6_9z00
								(BGl_proc2116z00zzmodule_evalz00);
							{	/* Module/eval.scm 166 */
								obj_t BgL_idz00_3070;

								BgL_idz00_3070 = CNST_TABLE_REF(0L);
								{	/* Module/eval.scm 166 */
									obj_t BgL_newz00_3071;

									BgL_newz00_3071 =
										create_struct(CNST_TABLE_REF(9L), (int) (5L));
									{	/* Module/eval.scm 166 */
										int BgL_tmpz00_3368;

										BgL_tmpz00_3368 = (int) (4L);
										STRUCT_SET(BgL_newz00_3071, BgL_tmpz00_3368, BFALSE);
									}
									{	/* Module/eval.scm 166 */
										int BgL_tmpz00_3371;

										BgL_tmpz00_3371 = (int) (3L);
										STRUCT_SET(BgL_newz00_3071, BgL_tmpz00_3371, BFALSE);
									}
									{	/* Module/eval.scm 166 */
										int BgL_tmpz00_3374;

										BgL_tmpz00_3374 = (int) (2L);
										STRUCT_SET(BgL_newz00_3071, BgL_tmpz00_3374,
											BgL_arg1675z00_3068);
									}
									{	/* Module/eval.scm 166 */
										obj_t BgL_auxz00_3379;
										int BgL_tmpz00_3377;

										BgL_auxz00_3379 = BINT(BgL_arg1673z00_3067);
										BgL_tmpz00_3377 = (int) (1L);
										STRUCT_SET(BgL_newz00_3071, BgL_tmpz00_3377,
											BgL_auxz00_3379);
									}
									{	/* Module/eval.scm 166 */
										int BgL_tmpz00_3382;

										BgL_tmpz00_3382 = (int) (0L);
										STRUCT_SET(BgL_newz00_3071, BgL_tmpz00_3382,
											BgL_idz00_3070);
									}
									BgL_arg1669z00_3066 = BgL_newz00_3071;
						}}}
						{	/* Module/eval.scm 165 */
							obj_t BgL_list1670z00_3072;

							BgL_list1670z00_3072 = MAKE_YOUNG_PAIR(BgL_arg1669z00_3066, BNIL);
							return BgL_list1670z00_3072;
						}
					}
				else
					{	/* Module/eval.scm 159 */
						return CNST_TABLE_REF(10L);
					}
			}
		}

	}



/* &<@anonymous:1682> */
	obj_t BGl_z62zc3z04anonymousza31682ze3ze5zzmodule_evalz00(obj_t
		BgL_envz00_3037)
	{
		{	/* Module/eval.scm 168 */
			{
				obj_t BgL_gz00_3074;

				{	/* Module/eval.scm 169 */
					obj_t BgL_g1110z00_3105;
					obj_t BgL_g1111z00_3106;

					{	/* Module/eval.scm 171 */
						obj_t BgL_arg1735z00_3107;
						obj_t BgL_arg1736z00_3108;

						{	/* Module/eval.scm 171 */
							obj_t BgL_arg1739z00_3109;

							if (CBOOL(BGl_za2allzd2evalzf3za2z21zzmodule_evalz00))
								{	/* Module/eval.scm 171 */
									BgL_arg1739z00_3109 = CNST_TABLE_REF(12L);
								}
							else
								{	/* Module/eval.scm 171 */
									if (CBOOL
										(BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00))
										{	/* Module/eval.scm 172 */
											BgL_arg1739z00_3109 = CNST_TABLE_REF(4L);
										}
									else
										{	/* Module/eval.scm 172 */
											BgL_arg1739z00_3109 = CNST_TABLE_REF(13L);
										}
								}
							BgL_arg1735z00_3107 =
								BGl_getzd2evaluatedzd2globalsz00zzmodule_evalz00
								(BgL_arg1739z00_3109);
						}
						BgL_arg1736z00_3108 =
							BGl_getzd2evaluatedzd2classzd2holderszd2zzmodule_evalz00();
						BgL_g1110z00_3105 =
							BGl_appendzd221011zd2zzmodule_evalz00(BgL_arg1735z00_3107,
							BgL_arg1736z00_3108);
					}
					BgL_g1111z00_3106 = CNST_TABLE_REF(14L);
					{
						obj_t BgL_globalsz00_3111;
						obj_t BgL_initza2za2_3112;

						BgL_globalsz00_3111 = BgL_g1110z00_3105;
						BgL_initza2za2_3112 = BgL_g1111z00_3106;
					BgL_loopz00_3110:
						if (NULLP(BgL_globalsz00_3111))
							{	/* Module/eval.scm 179 */
								obj_t BgL_arg1686z00_3113;

								{	/* Module/eval.scm 179 */
									obj_t BgL_arg1690z00_3114;
									obj_t BgL_arg1693z00_3115;

									{	/* Module/eval.scm 179 */
										obj_t BgL_l1308z00_3116;

										BgL_l1308z00_3116 =
											BGl_za2evalzd2librariesza2zd2zzmodule_evalz00;
										if (NULLP(BgL_l1308z00_3116))
											{	/* Module/eval.scm 179 */
												BgL_arg1690z00_3114 = BNIL;
											}
										else
											{	/* Module/eval.scm 179 */
												obj_t BgL_head1310z00_3117;

												BgL_head1310z00_3117 =
													MAKE_YOUNG_PAIR(BGl_library_ez00zzmodule_evalz00(CAR
														(BgL_l1308z00_3116)), BNIL);
												{	/* Module/eval.scm 179 */
													obj_t BgL_g1313z00_3118;

													BgL_g1313z00_3118 = CDR(BgL_l1308z00_3116);
													{
														obj_t BgL_l1308z00_3120;
														obj_t BgL_tail1311z00_3121;

														BgL_l1308z00_3120 = BgL_g1313z00_3118;
														BgL_tail1311z00_3121 = BgL_head1310z00_3117;
													BgL_zc3z04anonymousza31695ze3z87_3119:
														if (NULLP(BgL_l1308z00_3120))
															{	/* Module/eval.scm 179 */
																BgL_arg1690z00_3114 = BgL_head1310z00_3117;
															}
														else
															{	/* Module/eval.scm 179 */
																obj_t BgL_newtail1312z00_3122;

																{	/* Module/eval.scm 179 */
																	obj_t BgL_arg1706z00_3123;

																	{	/* Module/eval.scm 179 */
																		obj_t BgL_arg1707z00_3124;

																		BgL_arg1707z00_3124 =
																			CAR(((obj_t) BgL_l1308z00_3120));
																		BgL_arg1706z00_3123 =
																			BGl_library_ez00zzmodule_evalz00
																			(BgL_arg1707z00_3124);
																	}
																	BgL_newtail1312z00_3122 =
																		MAKE_YOUNG_PAIR(BgL_arg1706z00_3123, BNIL);
																}
																SET_CDR(BgL_tail1311z00_3121,
																	BgL_newtail1312z00_3122);
																{	/* Module/eval.scm 179 */
																	obj_t BgL_arg1698z00_3125;

																	BgL_arg1698z00_3125 =
																		CDR(((obj_t) BgL_l1308z00_3120));
																	{
																		obj_t BgL_tail1311z00_3416;
																		obj_t BgL_l1308z00_3415;

																		BgL_l1308z00_3415 = BgL_arg1698z00_3125;
																		BgL_tail1311z00_3416 =
																			BgL_newtail1312z00_3122;
																		BgL_tail1311z00_3121 = BgL_tail1311z00_3416;
																		BgL_l1308z00_3120 = BgL_l1308z00_3415;
																		goto BgL_zc3z04anonymousza31695ze3z87_3119;
																	}
																}
															}
													}
												}
											}
									}
									{	/* Module/eval.scm 181 */
										obj_t BgL_arg1710z00_3126;
										obj_t BgL_arg1712z00_3127;

										BgL_arg1710z00_3126 =
											BGl_getzd2evalzd2srfizd2librarieszd2zzmodule_evalz00();
										{	/* Module/eval.scm 183 */
											obj_t BgL_arg1714z00_3128;
											obj_t BgL_arg1715z00_3129;

											BgL_arg1714z00_3128 =
												BGl_getzd2evaluatedzd2classzd2macroszd2zzmodule_evalz00
												();
											{	/* Module/eval.scm 185 */
												obj_t BgL_arg1717z00_3130;
												obj_t BgL_arg1718z00_3131;

												BgL_arg1717z00_3130 =
													bgl_reverse_bang(BgL_initza2za2_3112);
												{	/* Module/eval.scm 187 */
													obj_t BgL_arg1729z00_3132;
													obj_t BgL_arg1730z00_3133;

													BgL_arg1729z00_3132 =
														BGl_evmodulezd2compzd2zzmodule_evalz00();
													BgL_arg1730z00_3133 = MAKE_YOUNG_PAIR(BUNSPEC, BNIL);
													BgL_arg1718z00_3131 =
														BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
														(BgL_arg1729z00_3132, BgL_arg1730z00_3133);
												}
												BgL_arg1715z00_3129 =
													BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
													(BgL_arg1717z00_3130, BgL_arg1718z00_3131);
											}
											BgL_arg1712z00_3127 =
												BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
												(BgL_arg1714z00_3128, BgL_arg1715z00_3129);
										}
										BgL_arg1693z00_3115 =
											BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
											(BgL_arg1710z00_3126, BgL_arg1712z00_3127);
									}
									BgL_arg1686z00_3113 =
										BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
										(BgL_arg1690z00_3114, BgL_arg1693z00_3115);
								}
								return
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L), BgL_arg1686z00_3113);
							}
						else
							{	/* Module/eval.scm 189 */
								obj_t BgL_gz00_3134;

								BgL_gz00_3134 = CAR(((obj_t) BgL_globalsz00_3111));
								BGl_setzd2evalzd2typesz12z12zzmodule_evalz00(BgL_gz00_3134);
								{	/* Module/eval.scm 191 */
									obj_t BgL_arg1731z00_3135;
									obj_t BgL_arg1732z00_3136;

									BgL_arg1731z00_3135 = CDR(((obj_t) BgL_globalsz00_3111));
									if (
										(((BgL_globalz00_bglt) COBJECT(
													((BgL_globalz00_bglt) BgL_gz00_3134)))->
											BgL_evalzf3zf3))
										{	/* Module/eval.scm 192 */
											BgL_arg1732z00_3136 = BgL_initza2za2_3112;
										}
									else
										{	/* Module/eval.scm 194 */
											BgL_nodez00_bglt BgL_arg1734z00_3137;

											BgL_gz00_3074 = BgL_gz00_3134;
											((((BgL_globalz00_bglt) COBJECT(
															((BgL_globalz00_bglt) BgL_gz00_3074)))->
													BgL_evalzf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
											{	/* Module/eval.scm 151 */
												bool_t BgL_test2196z00_3439;

												{	/* Module/eval.scm 151 */
													BgL_valuez00_bglt BgL_arg1752z00_3075;

													BgL_arg1752z00_3075 =
														(((BgL_variablez00_bglt) COBJECT(
																((BgL_variablez00_bglt)
																	((BgL_globalz00_bglt) BgL_gz00_3074))))->
														BgL_valuez00);
													{	/* Module/eval.scm 151 */
														obj_t BgL_classz00_3076;

														BgL_classz00_3076 = BGl_svarz00zzast_varz00;
														{	/* Module/eval.scm 151 */
															BgL_objectz00_bglt BgL_arg1801z00_3077;

															{	/* Module/eval.scm 151 */
																obj_t BgL_tmpz00_3443;

																BgL_tmpz00_3443 =
																	((obj_t)
																	((BgL_objectz00_bglt) BgL_arg1752z00_3075));
																BgL_arg1801z00_3077 =
																	(BgL_objectz00_bglt) (BgL_tmpz00_3443);
															}
															if (BGL_CONDEXPAND_ISA_ARCH64())
																{	/* Module/eval.scm 151 */
																	long BgL_idxz00_3078;

																	BgL_idxz00_3078 =
																		BGL_OBJECT_INHERITANCE_NUM
																		(BgL_arg1801z00_3077);
																	BgL_test2196z00_3439 =
																		(VECTOR_REF
																		(BGl_za2inheritancesza2z00zz__objectz00,
																			(BgL_idxz00_3078 + 2L)) ==
																		BgL_classz00_3076);
																}
															else
																{	/* Module/eval.scm 151 */
																	bool_t BgL_res2100z00_3081;

																	{	/* Module/eval.scm 151 */
																		obj_t BgL_oclassz00_3082;

																		{	/* Module/eval.scm 151 */
																			long BgL_arg1808z00_3083;

																			{	/* Module/eval.scm 151 */
																				long BgL_arg1809z00_3084;

																				BgL_arg1809z00_3084 =
																					BGL_OBJECT_CLASS_NUM
																					(BgL_arg1801z00_3077);
																				BgL_arg1808z00_3083 =
																					(BgL_arg1809z00_3084 - OBJECT_TYPE);
																			}
																			BgL_oclassz00_3082 =
																				VECTOR_REF
																				(BGl_za2classesza2z00zz__objectz00,
																				BgL_arg1808z00_3083);
																		}
																		{	/* Module/eval.scm 151 */
																			bool_t BgL__ortest_1115z00_3085;

																			BgL__ortest_1115z00_3085 =
																				(BgL_classz00_3076 ==
																				BgL_oclassz00_3082);
																			if (BgL__ortest_1115z00_3085)
																				{	/* Module/eval.scm 151 */
																					BgL_res2100z00_3081 =
																						BgL__ortest_1115z00_3085;
																				}
																			else
																				{	/* Module/eval.scm 151 */
																					long BgL_odepthz00_3086;

																					BgL_odepthz00_3086 =
																						BGL_CLASS_DEPTH(BgL_oclassz00_3082);
																					if ((2L < BgL_odepthz00_3086))
																						{	/* Module/eval.scm 151 */
																							obj_t BgL_arg1797z00_3087;

																							BgL_arg1797z00_3087 =
																								BGL_CLASS_ANCESTORS_REF
																								(BgL_oclassz00_3082, 2L);
																							BgL_res2100z00_3081 =
																								(BgL_arg1797z00_3087 ==
																								BgL_classz00_3076);
																						}
																					else
																						{	/* Module/eval.scm 151 */
																							BgL_res2100z00_3081 =
																								((bool_t) 0);
																						}
																				}
																		}
																	}
																	BgL_test2196z00_3439 = BgL_res2100z00_3081;
																}
														}
													}
												}
												if (BgL_test2196z00_3439)
													{	/* Module/eval.scm 151 */
														{	/* Module/eval.scm 152 */
															obj_t BgL_vz00_3088;

															BgL_vz00_3088 = CNST_TABLE_REF(11L);
															((((BgL_variablez00_bglt) COBJECT(
																			((BgL_variablez00_bglt) BgL_gz00_3074)))->
																	BgL_accessz00) =
																((obj_t) BgL_vz00_3088), BUNSPEC);
														}
														{	/* Module/eval.scm 153 */
															BgL_nodez00_bglt BgL_arg1745z00_3089;
															obj_t BgL_arg1746z00_3090;

															BgL_arg1745z00_3089 =
																BGl_locationzd2ze3nodez31zzast_sexpz00(
																((BgL_globalz00_bglt) BgL_gz00_3074));
															BgL_arg1746z00_3090 =
																(((BgL_globalz00_bglt) COBJECT(
																		((BgL_globalz00_bglt) BgL_gz00_3074)))->
																BgL_srcz00);
															BgL_arg1734z00_3137 =
																BGl_definezd2primopzd2refzf2srczd2ze3nodezc3zzast_sexpz00
																(((BgL_globalz00_bglt) BgL_gz00_3074),
																BgL_arg1745z00_3089, BgL_arg1746z00_3090);
														}
													}
												else
													{	/* Module/eval.scm 154 */
														bool_t BgL_test2200z00_3472;

														{	/* Module/eval.scm 154 */
															BgL_valuez00_bglt BgL_arg1751z00_3091;

															BgL_arg1751z00_3091 =
																(((BgL_variablez00_bglt) COBJECT(
																		((BgL_variablez00_bglt)
																			((BgL_globalz00_bglt) BgL_gz00_3074))))->
																BgL_valuez00);
															{	/* Module/eval.scm 154 */
																obj_t BgL_classz00_3092;

																BgL_classz00_3092 = BGl_scnstz00zzast_varz00;
																{	/* Module/eval.scm 154 */
																	BgL_objectz00_bglt BgL_arg1801z00_3093;

																	{	/* Module/eval.scm 154 */
																		obj_t BgL_tmpz00_3476;

																		BgL_tmpz00_3476 =
																			((obj_t)
																			((BgL_objectz00_bglt)
																				BgL_arg1751z00_3091));
																		BgL_arg1801z00_3093 =
																			(BgL_objectz00_bglt) (BgL_tmpz00_3476);
																	}
																	if (BGL_CONDEXPAND_ISA_ARCH64())
																		{	/* Module/eval.scm 154 */
																			long BgL_idxz00_3094;

																			BgL_idxz00_3094 =
																				BGL_OBJECT_INHERITANCE_NUM
																				(BgL_arg1801z00_3093);
																			BgL_test2200z00_3472 =
																				(VECTOR_REF
																				(BGl_za2inheritancesza2z00zz__objectz00,
																					(BgL_idxz00_3094 + 2L)) ==
																				BgL_classz00_3092);
																		}
																	else
																		{	/* Module/eval.scm 154 */
																			bool_t BgL_res2101z00_3097;

																			{	/* Module/eval.scm 154 */
																				obj_t BgL_oclassz00_3098;

																				{	/* Module/eval.scm 154 */
																					long BgL_arg1808z00_3099;

																					{	/* Module/eval.scm 154 */
																						long BgL_arg1809z00_3100;

																						BgL_arg1809z00_3100 =
																							BGL_OBJECT_CLASS_NUM
																							(BgL_arg1801z00_3093);
																						BgL_arg1808z00_3099 =
																							(BgL_arg1809z00_3100 -
																							OBJECT_TYPE);
																					}
																					BgL_oclassz00_3098 =
																						VECTOR_REF
																						(BGl_za2classesza2z00zz__objectz00,
																						BgL_arg1808z00_3099);
																				}
																				{	/* Module/eval.scm 154 */
																					bool_t BgL__ortest_1115z00_3101;

																					BgL__ortest_1115z00_3101 =
																						(BgL_classz00_3092 ==
																						BgL_oclassz00_3098);
																					if (BgL__ortest_1115z00_3101)
																						{	/* Module/eval.scm 154 */
																							BgL_res2101z00_3097 =
																								BgL__ortest_1115z00_3101;
																						}
																					else
																						{	/* Module/eval.scm 154 */
																							long BgL_odepthz00_3102;

																							BgL_odepthz00_3102 =
																								BGL_CLASS_DEPTH
																								(BgL_oclassz00_3098);
																							if ((2L < BgL_odepthz00_3102))
																								{	/* Module/eval.scm 154 */
																									obj_t BgL_arg1797z00_3103;

																									BgL_arg1797z00_3103 =
																										BGL_CLASS_ANCESTORS_REF
																										(BgL_oclassz00_3098, 2L);
																									BgL_res2101z00_3097 =
																										(BgL_arg1797z00_3103 ==
																										BgL_classz00_3092);
																								}
																							else
																								{	/* Module/eval.scm 154 */
																									BgL_res2101z00_3097 =
																										((bool_t) 0);
																								}
																						}
																				}
																			}
																			BgL_test2200z00_3472 =
																				BgL_res2101z00_3097;
																		}
																}
															}
														}
														if (BgL_test2200z00_3472)
															{	/* Module/eval.scm 155 */
																BgL_nodez00_bglt BgL_arg1750z00_3104;

																BgL_arg1750z00_3104 =
																	BGl_locationzd2ze3nodez31zzast_sexpz00(
																	((BgL_globalz00_bglt) BgL_gz00_3074));
																BgL_arg1734z00_3137 =
																	BGl_definezd2primopzd2refzd2ze3nodez31zzast_sexpz00
																	(((BgL_globalz00_bglt) BgL_gz00_3074),
																	BgL_arg1750z00_3104);
															}
														else
															{	/* Module/eval.scm 154 */
																BgL_arg1734z00_3137 =
																	BGl_definezd2primopzd2ze3nodeze3zzast_sexpz00(
																	((BgL_globalz00_bglt) BgL_gz00_3074));
															}
													}
											}
											BgL_arg1732z00_3136 =
												MAKE_YOUNG_PAIR(
												((obj_t) BgL_arg1734z00_3137), BgL_initza2za2_3112);
										}
									{
										obj_t BgL_initza2za2_3505;
										obj_t BgL_globalsz00_3504;

										BgL_globalsz00_3504 = BgL_arg1731z00_3135;
										BgL_initza2za2_3505 = BgL_arg1732z00_3136;
										BgL_initza2za2_3112 = BgL_initza2za2_3505;
										BgL_globalsz00_3111 = BgL_globalsz00_3504;
										goto BgL_loopz00_3110;
									}
								}
							}
					}
				}
			}
		}

	}



/* evmodule-comp */
	obj_t BGl_evmodulezd2compzd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 202 */
			if (CBOOL(BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00))
				{	/* Module/eval.scm 219 */
					BgL_nodez00_bglt BgL_arg1753z00_2016;

					{	/* Module/eval.scm 219 */
						obj_t BgL_arg1759z00_2018;

						{	/* Module/eval.scm 219 */
							obj_t BgL_arg1760z00_2019;
							obj_t BgL_arg1763z00_2020;

							{	/* Module/eval.scm 219 */
								obj_t BgL_arg1768z00_2021;

								{	/* Module/eval.scm 219 */
									obj_t BgL_arg1771z00_2022;

									BgL_arg1771z00_2022 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(16L), BNIL);
									BgL_arg1768z00_2021 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(17L), BgL_arg1771z00_2022);
								}
								BgL_arg1760z00_2019 =
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L), BgL_arg1768z00_2021);
							}
							{	/* Module/eval.scm 220 */
								obj_t BgL_arg1773z00_2023;
								obj_t BgL_arg1776z00_2024;

								{	/* Module/eval.scm 220 */
									obj_t BgL_arg1793z00_2025;

									BgL_arg1793z00_2025 =
										MAKE_YOUNG_PAIR(BGl_za2moduleza2z00zzmodule_modulez00,
										BNIL);
									BgL_arg1773z00_2023 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L), BgL_arg1793z00_2025);
								}
								{	/* Module/eval.scm 220 */
									obj_t BgL_arg1794z00_2026;
									obj_t BgL_arg1798z00_2027;

									{	/* Module/eval.scm 220 */
										obj_t BgL_arg1799z00_2028;

										BgL_arg1799z00_2028 =
											MAKE_YOUNG_PAIR(BGl_za2srczd2filesza2zd2zzengine_paramz00,
											BNIL);
										BgL_arg1794z00_2026 =
											MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L), BgL_arg1799z00_2028);
									}
									{	/* Module/eval.scm 220 */
										obj_t BgL_arg1800z00_2029;
										obj_t BgL_arg1802z00_2030;

										{	/* Module/eval.scm 220 */
											obj_t BgL_arg1816z00_2031;

											BgL_arg1816z00_2031 =
												MAKE_YOUNG_PAIR
												(BGl_za2modulezd2locationza2zd2zzmodule_modulez00,
												BNIL);
											BgL_arg1800z00_2029 =
												MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
												BgL_arg1816z00_2031);
										}
										{	/* Module/eval.scm 221 */
											obj_t BgL_arg1822z00_2032;

											{	/* Module/eval.scm 221 */
												obj_t BgL_l1314z00_2033;

												BgL_l1314z00_2033 =
													BGl_getzd2evaluatedzd2globalsz00zzmodule_evalz00
													(CNST_TABLE_REF(19L));
												if (NULLP(BgL_l1314z00_2033))
													{	/* Module/eval.scm 221 */
														BgL_arg1822z00_2032 = BNIL;
													}
												else
													{	/* Module/eval.scm 221 */
														obj_t BgL_head1316z00_2035;

														{	/* Module/eval.scm 221 */
															obj_t BgL_arg1829z00_2047;

															{	/* Module/eval.scm 221 */
																obj_t BgL_arg1830z00_2048;

																BgL_arg1830z00_2048 =
																	CAR(((obj_t) BgL_l1314z00_2033));
																BgL_arg1829z00_2047 =
																	BGl_exportzd2globalze70z35zzmodule_evalz00
																	(BgL_arg1830z00_2048);
															}
															BgL_head1316z00_2035 =
																MAKE_YOUNG_PAIR(BgL_arg1829z00_2047, BNIL);
														}
														{	/* Module/eval.scm 221 */
															obj_t BgL_g1319z00_2036;

															BgL_g1319z00_2036 =
																CDR(((obj_t) BgL_l1314z00_2033));
															{
																obj_t BgL_l1314z00_2038;
																obj_t BgL_tail1317z00_2039;

																BgL_l1314z00_2038 = BgL_g1319z00_2036;
																BgL_tail1317z00_2039 = BgL_head1316z00_2035;
															BgL_zc3z04anonymousza31824ze3z87_2040:
																if (NULLP(BgL_l1314z00_2038))
																	{	/* Module/eval.scm 221 */
																		BgL_arg1822z00_2032 = BgL_head1316z00_2035;
																	}
																else
																	{	/* Module/eval.scm 221 */
																		obj_t BgL_newtail1318z00_2042;

																		{	/* Module/eval.scm 221 */
																			obj_t BgL_arg1827z00_2044;

																			{	/* Module/eval.scm 221 */
																				obj_t BgL_arg1828z00_2045;

																				BgL_arg1828z00_2045 =
																					CAR(((obj_t) BgL_l1314z00_2038));
																				BgL_arg1827z00_2044 =
																					BGl_exportzd2globalze70z35zzmodule_evalz00
																					(BgL_arg1828z00_2045);
																			}
																			BgL_newtail1318z00_2042 =
																				MAKE_YOUNG_PAIR(BgL_arg1827z00_2044,
																				BNIL);
																		}
																		SET_CDR(BgL_tail1317z00_2039,
																			BgL_newtail1318z00_2042);
																		{	/* Module/eval.scm 221 */
																			obj_t BgL_arg1826z00_2043;

																			BgL_arg1826z00_2043 =
																				CDR(((obj_t) BgL_l1314z00_2038));
																			{
																				obj_t BgL_tail1317z00_3543;
																				obj_t BgL_l1314z00_3542;

																				BgL_l1314z00_3542 = BgL_arg1826z00_2043;
																				BgL_tail1317z00_3543 =
																					BgL_newtail1318z00_2042;
																				BgL_tail1317z00_2039 =
																					BgL_tail1317z00_3543;
																				BgL_l1314z00_2038 = BgL_l1314z00_3542;
																				goto
																					BgL_zc3z04anonymousza31824ze3z87_2040;
																			}
																		}
																	}
															}
														}
													}
											}
											BgL_arg1802z00_2030 =
												BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
												(BgL_arg1822z00_2032, BNIL);
										}
										BgL_arg1798z00_2027 =
											MAKE_YOUNG_PAIR(BgL_arg1800z00_2029, BgL_arg1802z00_2030);
									}
									BgL_arg1776z00_2024 =
										MAKE_YOUNG_PAIR(BgL_arg1794z00_2026, BgL_arg1798z00_2027);
								}
								BgL_arg1763z00_2020 =
									MAKE_YOUNG_PAIR(BgL_arg1773z00_2023, BgL_arg1776z00_2024);
							}
							BgL_arg1759z00_2018 =
								MAKE_YOUNG_PAIR(BgL_arg1760z00_2019, BgL_arg1763z00_2020);
						}
						BgL_arg1753z00_2016 =
							BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg1759z00_2018, BNIL,
							BFALSE, CNST_TABLE_REF(20L));
					}
					{	/* Module/eval.scm 217 */
						obj_t BgL_list1754z00_2017;

						BgL_list1754z00_2017 =
							MAKE_YOUNG_PAIR(((obj_t) BgL_arg1753z00_2016), BNIL);
						return BgL_list1754z00_2017;
					}
				}
			else
				{	/* Module/eval.scm 216 */
					return BNIL;
				}
		}

	}



/* export-global~0 */
	obj_t BGl_exportzd2globalze70z35zzmodule_evalz00(obj_t BgL_gz00_2049)
	{
		{	/* Module/eval.scm 205 */
			((((BgL_globalz00_bglt) COBJECT(
							((BgL_globalz00_bglt) BgL_gz00_2049)))->BgL_evalzf3zf3) =
				((bool_t) ((bool_t) 1)), BUNSPEC);
			{	/* Module/eval.scm 206 */
				obj_t BgL_idz00_2051;

				BgL_idz00_2051 =
					(((BgL_variablez00_bglt) COBJECT(
							((BgL_variablez00_bglt)
								((BgL_globalz00_bglt) BgL_gz00_2049))))->BgL_idz00);
				{	/* Module/eval.scm 208 */
					bool_t BgL_test2207z00_3558;

					{	/* Module/eval.scm 208 */
						BgL_valuez00_bglt BgL_arg1870z00_2082;

						BgL_arg1870z00_2082 =
							(((BgL_variablez00_bglt) COBJECT(
									((BgL_variablez00_bglt)
										((BgL_globalz00_bglt) BgL_gz00_2049))))->BgL_valuez00);
						{	/* Module/eval.scm 208 */
							obj_t BgL_classz00_2677;

							BgL_classz00_2677 = BGl_svarz00zzast_varz00;
							{	/* Module/eval.scm 208 */
								BgL_objectz00_bglt BgL_arg1801z00_2679;

								{	/* Module/eval.scm 208 */
									obj_t BgL_tmpz00_3562;

									BgL_tmpz00_3562 =
										((obj_t) ((BgL_objectz00_bglt) BgL_arg1870z00_2082));
									BgL_arg1801z00_2679 = (BgL_objectz00_bglt) (BgL_tmpz00_3562);
								}
								if (BGL_CONDEXPAND_ISA_ARCH64())
									{	/* Module/eval.scm 208 */
										long BgL_idxz00_2685;

										BgL_idxz00_2685 =
											BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2679);
										BgL_test2207z00_3558 =
											(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
												(BgL_idxz00_2685 + 2L)) == BgL_classz00_2677);
									}
								else
									{	/* Module/eval.scm 208 */
										bool_t BgL_res2103z00_2707;

										{	/* Module/eval.scm 208 */
											obj_t BgL_oclassz00_2693;

											{	/* Module/eval.scm 208 */
												long BgL_arg1808z00_2699;

												{	/* Module/eval.scm 208 */
													long BgL_arg1809z00_2700;

													BgL_arg1809z00_2700 =
														BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2679);
													BgL_arg1808z00_2699 =
														(BgL_arg1809z00_2700 - OBJECT_TYPE);
												}
												BgL_oclassz00_2693 =
													VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
													BgL_arg1808z00_2699);
											}
											{	/* Module/eval.scm 208 */
												bool_t BgL__ortest_1115z00_2694;

												BgL__ortest_1115z00_2694 =
													(BgL_classz00_2677 == BgL_oclassz00_2693);
												if (BgL__ortest_1115z00_2694)
													{	/* Module/eval.scm 208 */
														BgL_res2103z00_2707 = BgL__ortest_1115z00_2694;
													}
												else
													{	/* Module/eval.scm 208 */
														long BgL_odepthz00_2695;

														BgL_odepthz00_2695 =
															BGL_CLASS_DEPTH(BgL_oclassz00_2693);
														if ((2L < BgL_odepthz00_2695))
															{	/* Module/eval.scm 208 */
																obj_t BgL_arg1797z00_2697;

																BgL_arg1797z00_2697 =
																	BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_2693,
																	2L);
																BgL_res2103z00_2707 =
																	(BgL_arg1797z00_2697 == BgL_classz00_2677);
															}
														else
															{	/* Module/eval.scm 208 */
																BgL_res2103z00_2707 = ((bool_t) 0);
															}
													}
											}
										}
										BgL_test2207z00_3558 = BgL_res2103z00_2707;
									}
							}
						}
					}
					if (BgL_test2207z00_3558)
						{	/* Module/eval.scm 208 */
							{	/* Module/eval.scm 209 */
								obj_t BgL_vz00_2709;

								BgL_vz00_2709 = CNST_TABLE_REF(11L);
								((((BgL_variablez00_bglt) COBJECT(
												((BgL_variablez00_bglt) BgL_gz00_2049)))->
										BgL_accessz00) = ((obj_t) BgL_vz00_2709), BUNSPEC);
							}
							{	/* Module/eval.scm 210 */
								obj_t BgL_arg1834z00_2054;

								{	/* Module/eval.scm 210 */
									obj_t BgL_arg1835z00_2055;

									{	/* Module/eval.scm 210 */
										obj_t BgL_arg1836z00_2056;
										obj_t BgL_arg1837z00_2057;

										{	/* Module/eval.scm 210 */
											obj_t BgL_arg1838z00_2058;

											BgL_arg1838z00_2058 =
												MAKE_YOUNG_PAIR(BgL_idz00_2051, BNIL);
											BgL_arg1836z00_2056 =
												MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
												BgL_arg1838z00_2058);
										}
										{	/* Module/eval.scm 210 */
											obj_t BgL_arg1839z00_2059;
											obj_t BgL_arg1840z00_2060;

											{	/* Module/eval.scm 210 */
												obj_t BgL_arg1841z00_2061;

												BgL_arg1841z00_2061 =
													MAKE_YOUNG_PAIR(BgL_idz00_2051, BNIL);
												BgL_arg1839z00_2059 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(21L),
													BgL_arg1841z00_2061);
											}
											{	/* Module/eval.scm 210 */
												obj_t BgL_arg1842z00_2062;

												BgL_arg1842z00_2062 = MAKE_YOUNG_PAIR(BFALSE, BNIL);
												BgL_arg1840z00_2060 =
													MAKE_YOUNG_PAIR(BFALSE, BgL_arg1842z00_2062);
											}
											BgL_arg1837z00_2057 =
												MAKE_YOUNG_PAIR(BgL_arg1839z00_2059,
												BgL_arg1840z00_2060);
										}
										BgL_arg1835z00_2055 =
											MAKE_YOUNG_PAIR(BgL_arg1836z00_2056, BgL_arg1837z00_2057);
									}
									BgL_arg1834z00_2054 =
										MAKE_YOUNG_PAIR(BINT(1L), BgL_arg1835z00_2055);
								}
								return
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(22L), BgL_arg1834z00_2054);
							}
						}
					else
						{	/* Module/eval.scm 211 */
							bool_t BgL_test2211z00_3599;

							{	/* Module/eval.scm 211 */
								BgL_valuez00_bglt BgL_arg1868z00_2081;

								BgL_arg1868z00_2081 =
									(((BgL_variablez00_bglt) COBJECT(
											((BgL_variablez00_bglt)
												((BgL_globalz00_bglt) BgL_gz00_2049))))->BgL_valuez00);
								{	/* Module/eval.scm 211 */
									obj_t BgL_classz00_2711;

									BgL_classz00_2711 = BGl_scnstz00zzast_varz00;
									{	/* Module/eval.scm 211 */
										BgL_objectz00_bglt BgL_arg1801z00_2713;

										{	/* Module/eval.scm 211 */
											obj_t BgL_tmpz00_3603;

											BgL_tmpz00_3603 =
												((obj_t) ((BgL_objectz00_bglt) BgL_arg1868z00_2081));
											BgL_arg1801z00_2713 =
												(BgL_objectz00_bglt) (BgL_tmpz00_3603);
										}
										if (BGL_CONDEXPAND_ISA_ARCH64())
											{	/* Module/eval.scm 211 */
												long BgL_idxz00_2719;

												BgL_idxz00_2719 =
													BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2713);
												BgL_test2211z00_3599 =
													(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
														(BgL_idxz00_2719 + 2L)) == BgL_classz00_2711);
											}
										else
											{	/* Module/eval.scm 211 */
												bool_t BgL_res2104z00_2741;

												{	/* Module/eval.scm 211 */
													obj_t BgL_oclassz00_2727;

													{	/* Module/eval.scm 211 */
														long BgL_arg1808z00_2733;

														{	/* Module/eval.scm 211 */
															long BgL_arg1809z00_2734;

															BgL_arg1809z00_2734 =
																BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2713);
															BgL_arg1808z00_2733 =
																(BgL_arg1809z00_2734 - OBJECT_TYPE);
														}
														BgL_oclassz00_2727 =
															VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
															BgL_arg1808z00_2733);
													}
													{	/* Module/eval.scm 211 */
														bool_t BgL__ortest_1115z00_2728;

														BgL__ortest_1115z00_2728 =
															(BgL_classz00_2711 == BgL_oclassz00_2727);
														if (BgL__ortest_1115z00_2728)
															{	/* Module/eval.scm 211 */
																BgL_res2104z00_2741 = BgL__ortest_1115z00_2728;
															}
														else
															{	/* Module/eval.scm 211 */
																long BgL_odepthz00_2729;

																BgL_odepthz00_2729 =
																	BGL_CLASS_DEPTH(BgL_oclassz00_2727);
																if ((2L < BgL_odepthz00_2729))
																	{	/* Module/eval.scm 211 */
																		obj_t BgL_arg1797z00_2731;

																		BgL_arg1797z00_2731 =
																			BGL_CLASS_ANCESTORS_REF
																			(BgL_oclassz00_2727, 2L);
																		BgL_res2104z00_2741 =
																			(BgL_arg1797z00_2731 ==
																			BgL_classz00_2711);
																	}
																else
																	{	/* Module/eval.scm 211 */
																		BgL_res2104z00_2741 = ((bool_t) 0);
																	}
															}
													}
												}
												BgL_test2211z00_3599 = BgL_res2104z00_2741;
											}
									}
								}
							}
							if (BgL_test2211z00_3599)
								{	/* Module/eval.scm 212 */
									obj_t BgL_arg1845z00_2065;

									{	/* Module/eval.scm 212 */
										obj_t BgL_arg1846z00_2066;

										{	/* Module/eval.scm 212 */
											obj_t BgL_arg1848z00_2067;
											obj_t BgL_arg1850z00_2068;

											{	/* Module/eval.scm 212 */
												obj_t BgL_arg1851z00_2069;

												BgL_arg1851z00_2069 =
													MAKE_YOUNG_PAIR(BgL_idz00_2051, BNIL);
												BgL_arg1848z00_2067 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
													BgL_arg1851z00_2069);
											}
											{	/* Module/eval.scm 212 */
												obj_t BgL_arg1852z00_2070;
												obj_t BgL_arg1853z00_2071;

												{	/* Module/eval.scm 212 */
													obj_t BgL_arg1854z00_2072;

													BgL_arg1854z00_2072 =
														MAKE_YOUNG_PAIR(BgL_idz00_2051, BNIL);
													BgL_arg1852z00_2070 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(21L),
														BgL_arg1854z00_2072);
												}
												{	/* Module/eval.scm 212 */
													obj_t BgL_arg1855z00_2073;

													BgL_arg1855z00_2073 = MAKE_YOUNG_PAIR(BFALSE, BNIL);
													BgL_arg1853z00_2071 =
														MAKE_YOUNG_PAIR(BFALSE, BgL_arg1855z00_2073);
												}
												BgL_arg1850z00_2068 =
													MAKE_YOUNG_PAIR(BgL_arg1852z00_2070,
													BgL_arg1853z00_2071);
											}
											BgL_arg1846z00_2066 =
												MAKE_YOUNG_PAIR(BgL_arg1848z00_2067,
												BgL_arg1850z00_2068);
										}
										BgL_arg1845z00_2065 =
											MAKE_YOUNG_PAIR(BINT(1L), BgL_arg1846z00_2066);
									}
									return
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(22L), BgL_arg1845z00_2065);
								}
							else
								{	/* Module/eval.scm 214 */
									obj_t BgL_arg1856z00_2074;

									{	/* Module/eval.scm 214 */
										obj_t BgL_arg1857z00_2075;

										{	/* Module/eval.scm 214 */
											obj_t BgL_arg1860z00_2076;
											obj_t BgL_arg1861z00_2077;

											{	/* Module/eval.scm 214 */
												obj_t BgL_arg1864z00_2078;

												BgL_arg1864z00_2078 =
													MAKE_YOUNG_PAIR(BgL_idz00_2051, BNIL);
												BgL_arg1860z00_2076 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
													BgL_arg1864z00_2078);
											}
											{	/* Module/eval.scm 214 */
												obj_t BgL_arg1866z00_2079;

												{	/* Module/eval.scm 214 */
													obj_t BgL_arg1867z00_2080;

													BgL_arg1867z00_2080 = MAKE_YOUNG_PAIR(BFALSE, BNIL);
													BgL_arg1866z00_2079 =
														MAKE_YOUNG_PAIR(BFALSE, BgL_arg1867z00_2080);
												}
												BgL_arg1861z00_2077 =
													MAKE_YOUNG_PAIR(BgL_idz00_2051, BgL_arg1866z00_2079);
											}
											BgL_arg1857z00_2075 =
												MAKE_YOUNG_PAIR(BgL_arg1860z00_2076,
												BgL_arg1861z00_2077);
										}
										BgL_arg1856z00_2074 =
											MAKE_YOUNG_PAIR(BINT(0L), BgL_arg1857z00_2075);
									}
									return
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(22L), BgL_arg1856z00_2074);
								}
						}
				}
			}
		}

	}



/* get-library-info */
	obj_t BGl_getzd2libraryzd2infoz00zzmodule_evalz00(obj_t BgL_libraryz00_82)
	{
		{	/* Module/eval.scm 228 */
			{	/* Module/eval.scm 229 */
				obj_t BgL__ortest_1112z00_2084;

				BgL__ortest_1112z00_2084 =
					BGl_libraryzd2infozd2zz__libraryz00(BgL_libraryz00_82);
				if (CBOOL(BgL__ortest_1112z00_2084))
					{	/* Module/eval.scm 229 */
						return BgL__ortest_1112z00_2084;
					}
				else
					{	/* Module/eval.scm 230 */
						obj_t BgL_initz00_2085;

						BgL_initz00_2085 =
							BGl_libraryzd2initzd2filez00zz__libraryz00(BgL_libraryz00_82);
						{	/* Module/eval.scm 230 */
							obj_t BgL_pathz00_2086;

							BgL_pathz00_2086 =
								BGl_findzd2filezf2pathz20zz__osz00(BgL_initz00_2085,
								BGl_za2libzd2dirza2zd2zzengine_paramz00);
							{	/* Module/eval.scm 231 */

								if (CBOOL(BgL_pathz00_2086))
									{	/* Module/eval.scm 232 */
										{	/* Module/eval.scm 234 */
											obj_t BgL_envz00_2088;

											BgL_envz00_2088 =
												BGl_defaultzd2environmentzd2zz__evalz00();
											{	/* Module/eval.scm 234 */

												BGl_loadqz00zz__evalz00(BgL_pathz00_2086,
													BgL_envz00_2088);
											}
										}
										{	/* Module/eval.scm 235 */
											obj_t BgL_iz00_2089;

											BgL_iz00_2089 =
												BGl_libraryzd2infozd2zz__libraryz00(BgL_libraryz00_82);
											if (CBOOL(BgL_iz00_2089))
												{	/* Module/eval.scm 236 */
													return BgL_iz00_2089;
												}
											else
												{	/* Module/eval.scm 238 */
													obj_t BgL_arg1872z00_2090;

													{	/* Module/eval.scm 238 */
														obj_t BgL_list1876z00_2093;

														BgL_list1876z00_2093 =
															MAKE_YOUNG_PAIR(BgL_initz00_2085, BNIL);
														BgL_arg1872z00_2090 =
															BGl_formatz00zz__r4_output_6_10_3z00
															(BGl_string2117z00zzmodule_evalz00,
															BgL_list1876z00_2093);
													}
													{	/* Module/eval.scm 238 */
														obj_t BgL_list1873z00_2091;

														{	/* Module/eval.scm 238 */
															obj_t BgL_arg1875z00_2092;

															BgL_arg1875z00_2092 =
																MAKE_YOUNG_PAIR(BgL_arg1872z00_2090, BNIL);
															BgL_list1873z00_2091 =
																MAKE_YOUNG_PAIR(BgL_libraryz00_82,
																BgL_arg1875z00_2092);
														}
														BGL_TAIL return
															BGl_warningz00zz__errorz00(BgL_list1873z00_2091);
													}
												}
										}
									}
								else
									{	/* Module/eval.scm 239 */
										obj_t BgL_arg1877z00_2094;

										{	/* Module/eval.scm 239 */
											obj_t BgL_list1880z00_2097;

											BgL_list1880z00_2097 =
												MAKE_YOUNG_PAIR(BgL_initz00_2085, BNIL);
											BgL_arg1877z00_2094 =
												BGl_formatz00zz__r4_output_6_10_3z00
												(BGl_string2118z00zzmodule_evalz00,
												BgL_list1880z00_2097);
										}
										{	/* Module/eval.scm 239 */
											obj_t BgL_list1878z00_2095;

											{	/* Module/eval.scm 239 */
												obj_t BgL_arg1879z00_2096;

												BgL_arg1879z00_2096 =
													MAKE_YOUNG_PAIR(BgL_arg1877z00_2094, BNIL);
												BgL_list1878z00_2095 =
													MAKE_YOUNG_PAIR(BgL_libraryz00_82,
													BgL_arg1879z00_2096);
											}
											BGL_TAIL return
												BGl_warningz00zz__errorz00(BgL_list1878z00_2095);
										}
									}
							}
						}
					}
			}
		}

	}



/* library_e */
	obj_t BGl_library_ez00zzmodule_evalz00(obj_t BgL_libz00_83)
	{
		{	/* Module/eval.scm 246 */
			{	/* Module/eval.scm 247 */
				obj_t BgL_infoz00_2098;

				BgL_infoz00_2098 =
					BGl_getzd2libraryzd2infoz00zzmodule_evalz00(BgL_libz00_83);
				{	/* Module/eval.scm 248 */
					bool_t BgL_test2218z00_3671;

					{	/* Module/eval.scm 248 */
						bool_t BgL_test2219z00_3672;

						if (STRUCTP(BgL_infoz00_2098))
							{	/* Module/eval.scm 248 */
								BgL_test2219z00_3672 =
									(STRUCT_KEY(BgL_infoz00_2098) == CNST_TABLE_REF(23L));
							}
						else
							{	/* Module/eval.scm 248 */
								BgL_test2219z00_3672 = ((bool_t) 0);
							}
						if (BgL_test2219z00_3672)
							{	/* Module/eval.scm 248 */
								BgL_test2218z00_3671 =
									CBOOL(STRUCT_REF(BgL_infoz00_2098, (int) (6L)));
							}
						else
							{	/* Module/eval.scm 248 */
								BgL_test2218z00_3671 = ((bool_t) 0);
							}
					}
					if (BgL_test2218z00_3671)
						{	/* Module/eval.scm 249 */
							obj_t BgL_initz00_2101;

							BgL_initz00_2101 =
								BGl_modulezd2initializa7ationzd2idza7zzmodule_modulez00
								(STRUCT_REF(BgL_infoz00_2098, (int) (6L)));
							{	/* Module/eval.scm 249 */
								BgL_globalz00_bglt BgL_gloz00_2102;

								{	/* Module/eval.scm 252 */
									obj_t BgL_arg1929z00_2139;
									obj_t BgL_arg1930z00_2140;

									BgL_arg1929z00_2139 =
										STRUCT_REF(BgL_infoz00_2098, (int) (6L));
									{	/* Module/eval.scm 254 */
										obj_t BgL_arg1931z00_2141;
										obj_t BgL_arg1933z00_2142;

										{	/* Module/eval.scm 254 */
											obj_t BgL_arg1454z00_2756;

											BgL_arg1454z00_2756 = SYMBOL_TO_STRING(BgL_initz00_2101);
											BgL_arg1931z00_2141 =
												BGl_stringzd2copyzd2zz__r4_strings_6_7z00
												(BgL_arg1454z00_2756);
										}
										{	/* Module/eval.scm 255 */
											obj_t BgL_arg1934z00_2143;

											BgL_arg1934z00_2143 =
												STRUCT_REF(BgL_infoz00_2098, (int) (6L));
											{	/* Module/eval.scm 255 */
												obj_t BgL_arg1454z00_2759;

												BgL_arg1454z00_2759 =
													SYMBOL_TO_STRING(((obj_t) BgL_arg1934z00_2143));
												BgL_arg1933z00_2142 =
													BGl_stringzd2copyzd2zz__r4_strings_6_7z00
													(BgL_arg1454z00_2759);
										}}
										BgL_arg1930z00_2140 =
											bigloo_module_mangle(BgL_arg1931z00_2141,
											BgL_arg1933z00_2142);
									}
									BgL_gloz00_2102 =
										BGl_declarezd2globalzd2cfunz12z12zzast_glozd2declzd2
										(BgL_initz00_2101, BgL_initz00_2101, BgL_arg1929z00_2139,
										BgL_arg1930z00_2140, CNST_TABLE_REF(24L),
										CNST_TABLE_REF(25L), ((bool_t) 0), ((bool_t) 0), BFALSE,
										BFALSE);
								}
								{	/* Module/eval.scm 250 */

									{	/* Module/eval.scm 257 */
										bool_t BgL_test2221z00_3697;

										{	/* Module/eval.scm 257 */
											obj_t BgL_arg1928z00_2138;

											BgL_arg1928z00_2138 =
												BGl_thezd2backendzd2zzbackend_backendz00();
											BgL_test2221z00_3697 =
												(((BgL_backendz00_bglt) COBJECT(
														((BgL_backendz00_bglt) BgL_arg1928z00_2138)))->
												BgL_pragmazd2supportzd2);
										}
										if (BgL_test2221z00_3697)
											{	/* Module/eval.scm 259 */
												obj_t BgL_arg1885z00_2105;

												{	/* Module/eval.scm 259 */
													obj_t BgL_arg1886z00_2106;
													obj_t BgL_arg1888z00_2107;

													{	/* Module/eval.scm 259 */
														obj_t BgL_arg1889z00_2108;
														obj_t BgL_arg1890z00_2109;

														{	/* Module/eval.scm 259 */
															obj_t BgL_arg1892z00_2110;

															{	/* Module/eval.scm 259 */
																obj_t BgL_arg1893z00_2111;

																BgL_arg1893z00_2111 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(26L), BNIL);
																BgL_arg1892z00_2110 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(27L),
																	BgL_arg1893z00_2111);
															}
															BgL_arg1889z00_2108 =
																MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																BgL_arg1892z00_2110);
														}
														{	/* Module/eval.scm 259 */
															obj_t BgL_arg1894z00_2112;
															obj_t BgL_arg1895z00_2113;

															{	/* Module/eval.scm 259 */
																obj_t BgL_arg1896z00_2114;

																BgL_arg1896z00_2114 =
																	MAKE_YOUNG_PAIR(BgL_libz00_83, BNIL);
																BgL_arg1894z00_2112 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
																	BgL_arg1896z00_2114);
															}
															{	/* Module/eval.scm 259 */
																obj_t BgL_arg1897z00_2115;

																BgL_arg1897z00_2115 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(28L), BNIL);
																BgL_arg1895z00_2113 =
																	MAKE_YOUNG_PAIR(BgL_arg1897z00_2115, BNIL);
															}
															BgL_arg1890z00_2109 =
																MAKE_YOUNG_PAIR(BgL_arg1894z00_2112,
																BgL_arg1895z00_2113);
														}
														BgL_arg1886z00_2106 =
															MAKE_YOUNG_PAIR(BgL_arg1889z00_2108,
															BgL_arg1890z00_2109);
													}
													{	/* Module/eval.scm 260 */
														obj_t BgL_arg1898z00_2116;
														obj_t BgL_arg1899z00_2117;

														{	/* Module/eval.scm 260 */
															obj_t BgL_arg1900z00_2118;

															{	/* Module/eval.scm 260 */
																obj_t BgL_arg1901z00_2119;

																{	/* Module/eval.scm 260 */
																	obj_t BgL_arg1905z00_2120;

																	{	/* Module/eval.scm 260 */
																		obj_t BgL_arg1908z00_2121;

																		{	/* Module/eval.scm 260 */
																			obj_t BgL_arg1909z00_2122;

																			{	/* Module/eval.scm 260 */
																				obj_t BgL_arg1911z00_2123;

																				{	/* Module/eval.scm 260 */
																					obj_t BgL_symbolz00_2762;

																					BgL_symbolz00_2762 =
																						BGl_za2moduleza2z00zzmodule_modulez00;
																					{	/* Module/eval.scm 260 */
																						obj_t BgL_arg1454z00_2763;

																						BgL_arg1454z00_2763 =
																							SYMBOL_TO_STRING
																							(BgL_symbolz00_2762);
																						BgL_arg1911z00_2123 =
																							BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																							(BgL_arg1454z00_2763);
																					}
																				}
																				{	/* Module/eval.scm 260 */
																					obj_t BgL_list1912z00_2124;

																					BgL_list1912z00_2124 =
																						MAKE_YOUNG_PAIR(BgL_arg1911z00_2123,
																						BNIL);
																					BgL_arg1909z00_2122 =
																						BGl_formatz00zz__r4_output_6_10_3z00
																						(BGl_string2119z00zzmodule_evalz00,
																						BgL_list1912z00_2124);
																				}
																			}
																			BgL_arg1908z00_2121 =
																				MAKE_YOUNG_PAIR(BgL_arg1909z00_2122,
																				BNIL);
																		}
																		BgL_arg1905z00_2120 =
																			MAKE_YOUNG_PAIR(CNST_TABLE_REF(29L),
																			BgL_arg1908z00_2121);
																	}
																	BgL_arg1901z00_2119 =
																		MAKE_YOUNG_PAIR(BgL_arg1905z00_2120, BNIL);
																}
																BgL_arg1900z00_2118 =
																	MAKE_YOUNG_PAIR(BINT(0L),
																	BgL_arg1901z00_2119);
															}
															BgL_arg1898z00_2116 =
																MAKE_YOUNG_PAIR(
																((obj_t) BgL_gloz00_2102), BgL_arg1900z00_2118);
														}
														{	/* Module/eval.scm 261 */
															obj_t BgL_arg1914z00_2125;

															{	/* Module/eval.scm 261 */
																obj_t BgL_arg1915z00_2126;
																obj_t BgL_arg1916z00_2127;

																{	/* Module/eval.scm 261 */
																	obj_t BgL_arg1917z00_2128;

																	{	/* Module/eval.scm 261 */
																		obj_t BgL_arg1918z00_2129;

																		BgL_arg1918z00_2129 =
																			MAKE_YOUNG_PAIR(CNST_TABLE_REF(26L),
																			BNIL);
																		BgL_arg1917z00_2128 =
																			MAKE_YOUNG_PAIR(CNST_TABLE_REF(30L),
																			BgL_arg1918z00_2129);
																	}
																	BgL_arg1915z00_2126 =
																		MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																		BgL_arg1917z00_2128);
																}
																{	/* Module/eval.scm 261 */
																	obj_t BgL_arg1920z00_2130;

																	{	/* Module/eval.scm 261 */
																		obj_t BgL_arg1921z00_2131;

																		BgL_arg1921z00_2131 =
																			MAKE_YOUNG_PAIR(BgL_libz00_83, BNIL);
																		BgL_arg1920z00_2130 =
																			MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
																			BgL_arg1921z00_2131);
																	}
																	BgL_arg1916z00_2127 =
																		MAKE_YOUNG_PAIR(BgL_arg1920z00_2130, BNIL);
																}
																BgL_arg1914z00_2125 =
																	MAKE_YOUNG_PAIR(BgL_arg1915z00_2126,
																	BgL_arg1916z00_2127);
															}
															BgL_arg1899z00_2117 =
																MAKE_YOUNG_PAIR(BgL_arg1914z00_2125, BNIL);
														}
														BgL_arg1888z00_2107 =
															MAKE_YOUNG_PAIR(BgL_arg1898z00_2116,
															BgL_arg1899z00_2117);
													}
													BgL_arg1885z00_2105 =
														MAKE_YOUNG_PAIR(BgL_arg1886z00_2106,
														BgL_arg1888z00_2107);
												}
												return
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L),
													BgL_arg1885z00_2105);
											}
										else
											{	/* Module/eval.scm 262 */
												obj_t BgL_arg1922z00_2132;
												obj_t BgL_arg1923z00_2133;

												{	/* Module/eval.scm 262 */
													obj_t BgL_arg1924z00_2134;

													{	/* Module/eval.scm 262 */
														obj_t BgL_arg1925z00_2135;

														BgL_arg1925z00_2135 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(26L), BNIL);
														BgL_arg1924z00_2134 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(31L),
															BgL_arg1925z00_2135);
													}
													BgL_arg1922z00_2132 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
														BgL_arg1924z00_2134);
												}
												{	/* Module/eval.scm 262 */
													obj_t BgL_arg1926z00_2136;

													{	/* Module/eval.scm 262 */
														obj_t BgL_arg1927z00_2137;

														BgL_arg1927z00_2137 =
															MAKE_YOUNG_PAIR(BgL_libz00_83, BNIL);
														BgL_arg1926z00_2136 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
															BgL_arg1927z00_2137);
													}
													BgL_arg1923z00_2133 =
														MAKE_YOUNG_PAIR(BgL_arg1926z00_2136, BNIL);
												}
												return
													MAKE_YOUNG_PAIR(BgL_arg1922z00_2132,
													BgL_arg1923z00_2133);
											}
									}
								}
							}
						}
					else
						{	/* Module/eval.scm 263 */
							obj_t BgL_list1936z00_2145;

							{	/* Module/eval.scm 263 */
								obj_t BgL_arg1937z00_2146;

								BgL_arg1937z00_2146 =
									MAKE_YOUNG_PAIR(BGl_string2120z00zzmodule_evalz00, BNIL);
								BgL_list1936z00_2145 =
									MAKE_YOUNG_PAIR(BgL_libz00_83, BgL_arg1937z00_2146);
							}
							BGL_TAIL return BGl_warningz00zz__errorz00(BgL_list1936z00_2145);
						}
				}
			}
		}

	}



/* set-eval-types! */
	obj_t BGl_setzd2evalzd2typesz12z12zzmodule_evalz00(obj_t BgL_globalz00_84)
	{
		{	/* Module/eval.scm 271 */
			{	/* Module/eval.scm 272 */
				BgL_valuez00_bglt BgL_valz00_2148;

				BgL_valz00_2148 =
					(((BgL_variablez00_bglt) COBJECT(
							((BgL_variablez00_bglt)
								((BgL_globalz00_bglt) BgL_globalz00_84))))->BgL_valuez00);
				{	/* Module/eval.scm 273 */
					bool_t BgL_test2222z00_3760;

					{	/* Module/eval.scm 273 */
						obj_t BgL_classz00_2765;

						BgL_classz00_2765 = BGl_sfunz00zzast_varz00;
						{	/* Module/eval.scm 273 */
							BgL_objectz00_bglt BgL_arg1801z00_2767;

							{	/* Module/eval.scm 273 */
								obj_t BgL_tmpz00_3761;

								BgL_tmpz00_3761 =
									((obj_t) ((BgL_objectz00_bglt) BgL_valz00_2148));
								BgL_arg1801z00_2767 = (BgL_objectz00_bglt) (BgL_tmpz00_3761);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Module/eval.scm 273 */
									long BgL_idxz00_2773;

									BgL_idxz00_2773 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2767);
									BgL_test2222z00_3760 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_2773 + 3L)) == BgL_classz00_2765);
								}
							else
								{	/* Module/eval.scm 273 */
									bool_t BgL_res2107z00_2795;

									{	/* Module/eval.scm 273 */
										obj_t BgL_oclassz00_2781;

										{	/* Module/eval.scm 273 */
											long BgL_arg1808z00_2787;

											{	/* Module/eval.scm 273 */
												long BgL_arg1809z00_2788;

												BgL_arg1809z00_2788 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2767);
												BgL_arg1808z00_2787 =
													(BgL_arg1809z00_2788 - OBJECT_TYPE);
											}
											BgL_oclassz00_2781 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_2787);
										}
										{	/* Module/eval.scm 273 */
											bool_t BgL__ortest_1115z00_2782;

											BgL__ortest_1115z00_2782 =
												(BgL_classz00_2765 == BgL_oclassz00_2781);
											if (BgL__ortest_1115z00_2782)
												{	/* Module/eval.scm 273 */
													BgL_res2107z00_2795 = BgL__ortest_1115z00_2782;
												}
											else
												{	/* Module/eval.scm 273 */
													long BgL_odepthz00_2783;

													BgL_odepthz00_2783 =
														BGL_CLASS_DEPTH(BgL_oclassz00_2781);
													if ((3L < BgL_odepthz00_2783))
														{	/* Module/eval.scm 273 */
															obj_t BgL_arg1797z00_2785;

															BgL_arg1797z00_2785 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_2781, 3L);
															BgL_res2107z00_2795 =
																(BgL_arg1797z00_2785 == BgL_classz00_2765);
														}
													else
														{	/* Module/eval.scm 273 */
															BgL_res2107z00_2795 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2222z00_3760 = BgL_res2107z00_2795;
								}
						}
					}
					if (BgL_test2222z00_3760)
						{	/* Module/eval.scm 273 */
							return BFALSE;
						}
					else
						{	/* Module/eval.scm 274 */
							BgL_typez00_bglt BgL_typez00_2150;

							BgL_typez00_2150 =
								(((BgL_variablez00_bglt) COBJECT(
										((BgL_variablez00_bglt)
											((BgL_globalz00_bglt) BgL_globalz00_84))))->BgL_typez00);
							if ((((obj_t) BgL_typez00_2150) == BGl_za2_za2z00zztype_cachez00))
								{	/* Module/eval.scm 277 */
									BgL_typez00_bglt BgL_vz00_2798;

									BgL_vz00_2798 =
										((BgL_typez00_bglt) BGl_za2objza2z00zztype_cachez00);
									return
										((((BgL_variablez00_bglt) COBJECT(
													((BgL_variablez00_bglt)
														((BgL_globalz00_bglt) BgL_globalz00_84))))->
											BgL_typez00) =
										((BgL_typez00_bglt) BgL_vz00_2798), BUNSPEC);
								}
							else
								{	/* Module/eval.scm 276 */
									if (BGl_bigloozd2typezf3z21zztype_typez00(BgL_typez00_2150))
										{	/* Module/eval.scm 278 */
											return BFALSE;
										}
									else
										{	/* Module/eval.scm 281 */
											obj_t BgL_arg1940z00_2152;

											BgL_arg1940z00_2152 =
												(((BgL_variablez00_bglt) COBJECT(
														((BgL_variablez00_bglt)
															((BgL_globalz00_bglt) BgL_globalz00_84))))->
												BgL_idz00);
											return
												BGl_errorz00zz__errorz00
												(BGl_string2121z00zzmodule_evalz00,
												BGl_string2122z00zzmodule_evalz00, BgL_arg1940z00_2152);
										}
								}
						}
				}
			}
		}

	}



/* get-evaluated-globals */
	obj_t BGl_getzd2evaluatedzd2globalsz00zzmodule_evalz00(obj_t BgL_scopez00_85)
	{
		{	/* Module/eval.scm 286 */
			{	/* Module/eval.scm 287 */
				obj_t BgL_globalsz00_3044;

				BgL_globalsz00_3044 = MAKE_CELL(BNIL);
				{	/* Module/eval.scm 287 */

					if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_scopez00_85,
								CNST_TABLE_REF(32L))))
						{	/* Module/eval.scm 289 */
							obj_t BgL_scopezd2lstzd2_2155;

							if ((BgL_scopez00_85 == CNST_TABLE_REF(12L)))
								{	/* Module/eval.scm 289 */
									BgL_scopezd2lstzd2_2155 = CNST_TABLE_REF(33L);
								}
							else
								{	/* Module/eval.scm 289 */
									if ((BgL_scopez00_85 == CNST_TABLE_REF(19L)))
										{	/* Module/eval.scm 289 */
											BgL_scopezd2lstzd2_2155 = CNST_TABLE_REF(34L);
										}
									else
										{	/* Module/eval.scm 289 */
											BgL_scopezd2lstzd2_2155 = CNST_TABLE_REF(34L);
										}
								}
							{	/* Module/eval.scm 295 */
								obj_t BgL_zc3z04anonymousza31944ze3z87_3038;

								BgL_zc3z04anonymousza31944ze3z87_3038 =
									MAKE_FX_PROCEDURE
									(BGl_z62zc3z04anonymousza31944ze3ze5zzmodule_evalz00,
									(int) (1L), (int) (2L));
								PROCEDURE_SET(BgL_zc3z04anonymousza31944ze3z87_3038, (int) (0L),
									((obj_t) BgL_globalsz00_3044));
								PROCEDURE_SET(BgL_zc3z04anonymousza31944ze3z87_3038, (int) (1L),
									BgL_scopezd2lstzd2_2155);
								BGl_forzd2eachzd2globalz12z12zzast_envz00
									(BgL_zc3z04anonymousza31944ze3z87_3038, BNIL);
						}}
					else
						{	/* Module/eval.scm 288 */
							BFALSE;
						}
					{
						obj_t BgL_evalzd2exportedzd2_2177;
						obj_t BgL_resz00_2178;

						BgL_evalzd2exportedzd2_2177 =
							BGl_za2evalzd2exportedza2zd2zzmodule_evalz00;
						BgL_resz00_2178 = CELL_REF(BgL_globalsz00_3044);
					BgL_zc3z04anonymousza31954ze3z87_2179:
						if (NULLP(BgL_evalzd2exportedzd2_2177))
							{	/* Module/eval.scm 301 */
								return BgL_resz00_2178;
							}
						else
							{	/* Module/eval.scm 303 */
								obj_t BgL_varzd2modulezd2posz00_2181;

								BgL_varzd2modulezd2posz00_2181 =
									CAR(((obj_t) BgL_evalzd2exportedzd2_2177));
								{	/* Module/eval.scm 304 */
									obj_t BgL_gz00_2182;

									{	/* Module/eval.scm 304 */
										bool_t BgL_test2232z00_3823;

										{	/* Module/eval.scm 304 */
											obj_t BgL_pairz00_2809;

											BgL_pairz00_2809 =
												CDR(((obj_t) BgL_varzd2modulezd2posz00_2181));
											BgL_test2232z00_3823 = CBOOL(CAR(BgL_pairz00_2809));
										}
										if (BgL_test2232z00_3823)
											{	/* Module/eval.scm 305 */
												obj_t BgL_arg1971z00_2198;
												obj_t BgL_arg1972z00_2199;

												BgL_arg1971z00_2198 =
													CAR(((obj_t) BgL_varzd2modulezd2posz00_2181));
												{	/* Module/eval.scm 306 */
													obj_t BgL_pairz00_2814;

													BgL_pairz00_2814 =
														CDR(((obj_t) BgL_varzd2modulezd2posz00_2181));
													BgL_arg1972z00_2199 = CAR(BgL_pairz00_2814);
												}
												BgL_gz00_2182 =
													BGl_findzd2globalzf2modulez20zzast_envz00
													(BgL_arg1971z00_2198, BgL_arg1972z00_2199);
											}
										else
											{	/* Module/eval.scm 307 */
												obj_t BgL_arg1973z00_2200;

												BgL_arg1973z00_2200 =
													CAR(((obj_t) BgL_varzd2modulezd2posz00_2181));
												BgL_gz00_2182 =
													BGl_findzd2globalzd2zzast_envz00(BgL_arg1973z00_2200,
													BNIL);
											}
									}
									{	/* Module/eval.scm 309 */
										bool_t BgL_test2233z00_3837;

										{	/* Module/eval.scm 309 */
											obj_t BgL_classz00_2816;

											BgL_classz00_2816 = BGl_globalz00zzast_varz00;
											if (BGL_OBJECTP(BgL_gz00_2182))
												{	/* Module/eval.scm 309 */
													BgL_objectz00_bglt BgL_arg1801z00_2818;

													BgL_arg1801z00_2818 =
														(BgL_objectz00_bglt) (BgL_gz00_2182);
													if (BGL_CONDEXPAND_ISA_ARCH64())
														{	/* Module/eval.scm 309 */
															long BgL_idxz00_2824;

															BgL_idxz00_2824 =
																BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2818);
															BgL_test2233z00_3837 =
																(VECTOR_REF
																(BGl_za2inheritancesza2z00zz__objectz00,
																	(BgL_idxz00_2824 + 2L)) == BgL_classz00_2816);
														}
													else
														{	/* Module/eval.scm 309 */
															bool_t BgL_res2108z00_2846;

															{	/* Module/eval.scm 309 */
																obj_t BgL_oclassz00_2832;

																{	/* Module/eval.scm 309 */
																	long BgL_arg1808z00_2838;

																	{	/* Module/eval.scm 309 */
																		long BgL_arg1809z00_2839;

																		BgL_arg1809z00_2839 =
																			BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2818);
																		BgL_arg1808z00_2838 =
																			(BgL_arg1809z00_2839 - OBJECT_TYPE);
																	}
																	BgL_oclassz00_2832 =
																		VECTOR_REF
																		(BGl_za2classesza2z00zz__objectz00,
																		BgL_arg1808z00_2838);
																}
																{	/* Module/eval.scm 309 */
																	bool_t BgL__ortest_1115z00_2833;

																	BgL__ortest_1115z00_2833 =
																		(BgL_classz00_2816 == BgL_oclassz00_2832);
																	if (BgL__ortest_1115z00_2833)
																		{	/* Module/eval.scm 309 */
																			BgL_res2108z00_2846 =
																				BgL__ortest_1115z00_2833;
																		}
																	else
																		{	/* Module/eval.scm 309 */
																			long BgL_odepthz00_2834;

																			BgL_odepthz00_2834 =
																				BGL_CLASS_DEPTH(BgL_oclassz00_2832);
																			if ((2L < BgL_odepthz00_2834))
																				{	/* Module/eval.scm 309 */
																					obj_t BgL_arg1797z00_2836;

																					BgL_arg1797z00_2836 =
																						BGL_CLASS_ANCESTORS_REF
																						(BgL_oclassz00_2832, 2L);
																					BgL_res2108z00_2846 =
																						(BgL_arg1797z00_2836 ==
																						BgL_classz00_2816);
																				}
																			else
																				{	/* Module/eval.scm 309 */
																					BgL_res2108z00_2846 = ((bool_t) 0);
																				}
																		}
																}
															}
															BgL_test2233z00_3837 = BgL_res2108z00_2846;
														}
												}
											else
												{	/* Module/eval.scm 309 */
													BgL_test2233z00_3837 = ((bool_t) 0);
												}
										}
										if (BgL_test2233z00_3837)
											{	/* Module/eval.scm 309 */
												if (
													(((BgL_globalz00_bglt) COBJECT(
																((BgL_globalz00_bglt) BgL_gz00_2182)))->
														BgL_evaluablezf3zf3))
													{	/* Module/eval.scm 326 */
														obj_t BgL_arg1958z00_2185;
														obj_t BgL_arg1959z00_2186;

														BgL_arg1958z00_2185 =
															CDR(((obj_t) BgL_evalzd2exportedzd2_2177));
														BgL_arg1959z00_2186 =
															MAKE_YOUNG_PAIR(BgL_gz00_2182, BgL_resz00_2178);
														{
															obj_t BgL_resz00_3864;
															obj_t BgL_evalzd2exportedzd2_3863;

															BgL_evalzd2exportedzd2_3863 = BgL_arg1958z00_2185;
															BgL_resz00_3864 = BgL_arg1959z00_2186;
															BgL_resz00_2178 = BgL_resz00_3864;
															BgL_evalzd2exportedzd2_2177 =
																BgL_evalzd2exportedzd2_3863;
															goto BgL_zc3z04anonymousza31954ze3z87_2179;
														}
													}
												else
													{	/* Module/eval.scm 317 */
														{	/* Module/eval.scm 319 */
															obj_t BgL_arg1960z00_2187;
															obj_t BgL_arg1961z00_2188;

															{	/* Module/eval.scm 319 */
																obj_t BgL_arg1963z00_2190;

																{	/* Module/eval.scm 319 */
																	obj_t BgL_pairz00_2854;

																	{	/* Module/eval.scm 319 */
																		obj_t BgL_pairz00_2853;

																		BgL_pairz00_2853 =
																			CDR(
																			((obj_t) BgL_varzd2modulezd2posz00_2181));
																		BgL_pairz00_2854 = CDR(BgL_pairz00_2853);
																	}
																	BgL_arg1963z00_2190 = CAR(BgL_pairz00_2854);
																}
																BgL_arg1960z00_2187 =
																	BGl_findzd2locationzd2zztools_locationz00
																	(BgL_arg1963z00_2190);
															}
															BgL_arg1961z00_2188 =
																CAR(((obj_t) BgL_varzd2modulezd2posz00_2181));
															{	/* Module/eval.scm 318 */
																obj_t BgL_list1962z00_2189;

																BgL_list1962z00_2189 =
																	MAKE_YOUNG_PAIR(BNIL, BNIL);
																BGl_userzd2errorzf2locationz20zztools_errorz00
																	(BgL_arg1960z00_2187,
																	BGl_string2123z00zzmodule_evalz00,
																	BGl_string2124z00zzmodule_evalz00,
																	BgL_arg1961z00_2188, BgL_list1962z00_2189);
															}
														}
														{	/* Module/eval.scm 324 */
															obj_t BgL_arg1964z00_2191;

															BgL_arg1964z00_2191 =
																CDR(((obj_t) BgL_evalzd2exportedzd2_2177));
															{
																obj_t BgL_evalzd2exportedzd2_3876;

																BgL_evalzd2exportedzd2_3876 =
																	BgL_arg1964z00_2191;
																BgL_evalzd2exportedzd2_2177 =
																	BgL_evalzd2exportedzd2_3876;
																goto BgL_zc3z04anonymousza31954ze3z87_2179;
															}
														}
													}
											}
										else
											{	/* Module/eval.scm 309 */
												{	/* Module/eval.scm 311 */
													obj_t BgL_arg1965z00_2192;
													obj_t BgL_arg1966z00_2193;

													{	/* Module/eval.scm 311 */
														obj_t BgL_arg1968z00_2195;

														{	/* Module/eval.scm 311 */
															obj_t BgL_pairz00_2862;

															{	/* Module/eval.scm 311 */
																obj_t BgL_pairz00_2861;

																BgL_pairz00_2861 =
																	CDR(((obj_t) BgL_varzd2modulezd2posz00_2181));
																BgL_pairz00_2862 = CDR(BgL_pairz00_2861);
															}
															BgL_arg1968z00_2195 = CAR(BgL_pairz00_2862);
														}
														BgL_arg1965z00_2192 =
															BGl_findzd2locationzd2zztools_locationz00
															(BgL_arg1968z00_2195);
													}
													BgL_arg1966z00_2193 =
														CAR(((obj_t) BgL_varzd2modulezd2posz00_2181));
													{	/* Module/eval.scm 310 */
														obj_t BgL_list1967z00_2194;

														BgL_list1967z00_2194 = MAKE_YOUNG_PAIR(BNIL, BNIL);
														BGl_userzd2errorzf2locationz20zztools_errorz00
															(BgL_arg1965z00_2192,
															BGl_string2123z00zzmodule_evalz00,
															BGl_string2125z00zzmodule_evalz00,
															BgL_arg1966z00_2193, BgL_list1967z00_2194);
													}
												}
												{	/* Module/eval.scm 316 */
													obj_t BgL_arg1969z00_2196;

													BgL_arg1969z00_2196 =
														CDR(((obj_t) BgL_evalzd2exportedzd2_2177));
													{
														obj_t BgL_evalzd2exportedzd2_3888;

														BgL_evalzd2exportedzd2_3888 = BgL_arg1969z00_2196;
														BgL_evalzd2exportedzd2_2177 =
															BgL_evalzd2exportedzd2_3888;
														goto BgL_zc3z04anonymousza31954ze3z87_2179;
													}
												}
											}
									}
								}
							}
					}
				}
			}
		}

	}



/* &<@anonymous:1944> */
	obj_t BGl_z62zc3z04anonymousza31944ze3ze5zzmodule_evalz00(obj_t
		BgL_envz00_3039, obj_t BgL_gz00_3042)
	{
		{	/* Module/eval.scm 294 */
			{	/* Module/eval.scm 295 */
				obj_t BgL_globalsz00_3040;
				obj_t BgL_scopezd2lstzd2_3041;

				BgL_globalsz00_3040 = PROCEDURE_REF(BgL_envz00_3039, (int) (0L));
				BgL_scopezd2lstzd2_3041 =
					((obj_t) PROCEDURE_REF(BgL_envz00_3039, (int) (1L)));
				{	/* Module/eval.scm 295 */
					bool_t BgL_test2239z00_3894;

					if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
								(((BgL_globalz00_bglt) COBJECT(
											((BgL_globalz00_bglt) BgL_gz00_3042)))->BgL_importz00),
								BgL_scopezd2lstzd2_3041)))
						{	/* Module/eval.scm 295 */
							if (
								(((BgL_globalz00_bglt) COBJECT(
											((BgL_globalz00_bglt) BgL_gz00_3042)))->
									BgL_evaluablezf3zf3))
								{	/* Module/eval.scm 297 */
									obj_t BgL__ortest_1113z00_3138;

									BgL__ortest_1113z00_3138 =
										BGl_za2libzd2modeza2zd2zzengine_paramz00;
									if (CBOOL(BgL__ortest_1113z00_3138))
										{	/* Module/eval.scm 297 */
											BgL_test2239z00_3894 = CBOOL(BgL__ortest_1113z00_3138);
										}
									else
										{	/* Module/eval.scm 297 */
											if (CBOOL(
													(((BgL_globalz00_bglt) COBJECT(
																((BgL_globalz00_bglt) BgL_gz00_3042)))->
														BgL_libraryz00)))
												{	/* Module/eval.scm 297 */
													BgL_test2239z00_3894 = ((bool_t) 0);
												}
											else
												{	/* Module/eval.scm 297 */
													BgL_test2239z00_3894 = ((bool_t) 1);
												}
										}
								}
							else
								{	/* Module/eval.scm 296 */
									BgL_test2239z00_3894 = ((bool_t) 0);
								}
						}
					else
						{	/* Module/eval.scm 295 */
							BgL_test2239z00_3894 = ((bool_t) 0);
						}
					if (BgL_test2239z00_3894)
						{	/* Module/eval.scm 298 */
							obj_t BgL_auxz00_3139;

							BgL_auxz00_3139 =
								MAKE_YOUNG_PAIR(BgL_gz00_3042, CELL_REF(BgL_globalsz00_3040));
							return CELL_SET(BgL_globalsz00_3040, BgL_auxz00_3139);
						}
					else
						{	/* Module/eval.scm 295 */
							return BFALSE;
						}
				}
			}
		}

	}



/* get-eval-srfi-libraries */
	obj_t BGl_getzd2evalzd2srfizd2librarieszd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 337 */
			{	/* Module/eval.scm 338 */
				obj_t BgL_l1320z00_2203;

				BgL_l1320z00_2203 = BGl_za2evalzd2librariesza2zd2zzmodule_evalz00;
				if (NULLP(BgL_l1320z00_2203))
					{	/* Module/eval.scm 338 */
						return BNIL;
					}
				else
					{	/* Module/eval.scm 338 */
						obj_t BgL_head1322z00_2205;

						BgL_head1322z00_2205 = MAKE_YOUNG_PAIR(BNIL, BNIL);
						{
							obj_t BgL_l1320z00_2207;
							obj_t BgL_tail1323z00_2208;

							BgL_l1320z00_2207 = BgL_l1320z00_2203;
							BgL_tail1323z00_2208 = BgL_head1322z00_2205;
						BgL_zc3z04anonymousza31976ze3z87_2209:
							if (NULLP(BgL_l1320z00_2207))
								{	/* Module/eval.scm 338 */
									return CDR(BgL_head1322z00_2205);
								}
							else
								{	/* Module/eval.scm 338 */
									obj_t BgL_newtail1324z00_2211;

									{	/* Module/eval.scm 338 */
										obj_t BgL_arg1979z00_2213;

										{	/* Module/eval.scm 338 */
											obj_t BgL_lz00_2214;

											BgL_lz00_2214 = CAR(((obj_t) BgL_l1320z00_2207));
											{	/* Module/eval.scm 340 */
												obj_t BgL_arg1980z00_2215;

												{	/* Module/eval.scm 340 */
													obj_t BgL_arg1981z00_2216;

													{	/* Module/eval.scm 340 */
														obj_t BgL_arg1982z00_2217;

														{	/* Module/eval.scm 340 */
															obj_t BgL_arg1983z00_2218;

															{	/* Module/eval.scm 340 */
																obj_t BgL_arg1984z00_2219;

																BgL_arg1984z00_2219 =
																	MAKE_YOUNG_PAIR(BgL_lz00_2214, BNIL);
																BgL_arg1983z00_2218 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
																	BgL_arg1984z00_2219);
															}
															BgL_arg1982z00_2217 =
																MAKE_YOUNG_PAIR(BgL_arg1983z00_2218, BNIL);
														}
														BgL_arg1981z00_2216 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(35L),
															BgL_arg1982z00_2217);
													}
													BgL_arg1980z00_2215 =
														MAKE_YOUNG_PAIR(BgL_arg1981z00_2216, BNIL);
												}
												BgL_arg1979z00_2213 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L),
													BgL_arg1980z00_2215);
											}
										}
										BgL_newtail1324z00_2211 =
											MAKE_YOUNG_PAIR(BgL_arg1979z00_2213, BNIL);
									}
									SET_CDR(BgL_tail1323z00_2208, BgL_newtail1324z00_2211);
									{	/* Module/eval.scm 338 */
										obj_t BgL_arg1978z00_2212;

										BgL_arg1978z00_2212 = CDR(((obj_t) BgL_l1320z00_2207));
										{
											obj_t BgL_tail1323z00_3933;
											obj_t BgL_l1320z00_3932;

											BgL_l1320z00_3932 = BgL_arg1978z00_2212;
											BgL_tail1323z00_3933 = BgL_newtail1324z00_2211;
											BgL_tail1323z00_2208 = BgL_tail1323z00_3933;
											BgL_l1320z00_2207 = BgL_l1320z00_3932;
											goto BgL_zc3z04anonymousza31976ze3z87_2209;
										}
									}
								}
						}
					}
			}
		}

	}



/* get-evaluated-class-macros */
	obj_t BGl_getzd2evaluatedzd2classzd2macroszd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 346 */
			{	/* Module/eval.scm 347 */
				obj_t BgL_l1325z00_2221;

				BgL_l1325z00_2221 = BGl_za2evalzd2classesza2zd2zzmodule_evalz00;
				if (NULLP(BgL_l1325z00_2221))
					{	/* Module/eval.scm 347 */
						return BNIL;
					}
				else
					{	/* Module/eval.scm 347 */
						obj_t BgL_head1327z00_2223;

						BgL_head1327z00_2223 = MAKE_YOUNG_PAIR(BNIL, BNIL);
						{
							obj_t BgL_l1325z00_2225;
							obj_t BgL_tail1328z00_2226;

							BgL_l1325z00_2225 = BgL_l1325z00_2221;
							BgL_tail1328z00_2226 = BgL_head1327z00_2223;
						BgL_zc3z04anonymousza31986ze3z87_2227:
							if (NULLP(BgL_l1325z00_2225))
								{	/* Module/eval.scm 347 */
									return CDR(BgL_head1327z00_2223);
								}
							else
								{	/* Module/eval.scm 347 */
									obj_t BgL_newtail1329z00_2229;

									{	/* Module/eval.scm 347 */
										obj_t BgL_arg1989z00_2231;

										{	/* Module/eval.scm 347 */
											obj_t BgL_sz00_2232;

											BgL_sz00_2232 = CAR(((obj_t) BgL_l1325z00_2225));
											{	/* Module/eval.scm 348 */
												BgL_typez00_bglt BgL_tz00_2233;

												{	/* Module/eval.scm 348 */
													obj_t BgL_arg2011z00_2258;
													obj_t BgL_arg2012z00_2259;

													{	/* Module/eval.scm 348 */
														obj_t BgL_pairz00_2874;

														BgL_pairz00_2874 = CDR(((obj_t) BgL_sz00_2232));
														BgL_arg2011z00_2258 = CAR(BgL_pairz00_2874);
													}
													BgL_arg2012z00_2259 =
														BGl_findzd2locationzd2zztools_locationz00
														(BgL_sz00_2232);
													BgL_tz00_2233 =
														BGl_findzd2typezf2locationz20zztype_envz00
														(BgL_arg2011z00_2258, BgL_arg2012z00_2259);
												}
												{	/* Module/eval.scm 350 */
													BgL_globalz00_bglt BgL_holderz00_2236;

													{
														BgL_tclassz00_bglt BgL_auxz00_3947;

														{
															obj_t BgL_auxz00_3948;

															{	/* Module/eval.scm 351 */
																BgL_objectz00_bglt BgL_tmpz00_3949;

																BgL_tmpz00_3949 =
																	((BgL_objectz00_bglt)
																	((BgL_typez00_bglt) BgL_tz00_2233));
																BgL_auxz00_3948 =
																	BGL_OBJECT_WIDENING(BgL_tmpz00_3949);
															}
															BgL_auxz00_3947 =
																((BgL_tclassz00_bglt) BgL_auxz00_3948);
														}
														BgL_holderz00_2236 =
															(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_3947))->
															BgL_holderz00);
													}
													{	/* Module/eval.scm 351 */
														obj_t BgL_holderez00_2237;

														{	/* Module/eval.scm 352 */
															obj_t BgL_arg2006z00_2253;

															{	/* Module/eval.scm 352 */
																obj_t BgL_arg2007z00_2254;
																obj_t BgL_arg2008z00_2255;

																BgL_arg2007z00_2254 =
																	(((BgL_variablez00_bglt) COBJECT(
																			((BgL_variablez00_bglt)
																				BgL_holderz00_2236)))->BgL_idz00);
																BgL_arg2008z00_2255 =
																	MAKE_YOUNG_PAIR((((BgL_globalz00_bglt)
																			COBJECT(BgL_holderz00_2236))->
																		BgL_modulez00), BNIL);
																BgL_arg2006z00_2253 =
																	MAKE_YOUNG_PAIR(BgL_arg2007z00_2254,
																	BgL_arg2008z00_2255);
															}
															BgL_holderez00_2237 =
																MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																BgL_arg2006z00_2253);
														}
														{	/* Module/eval.scm 352 */

															{	/* Module/eval.scm 354 */
																obj_t BgL_arg1990z00_2238;

																{	/* Module/eval.scm 354 */
																	obj_t BgL_arg1991z00_2239;
																	obj_t BgL_arg1992z00_2240;

																	{	/* Module/eval.scm 354 */
																		bool_t BgL_test2248z00_3962;

																		{
																			BgL_tclassz00_bglt BgL_auxz00_3963;

																			{
																				obj_t BgL_auxz00_3964;

																				{	/* Module/eval.scm 354 */
																					BgL_objectz00_bglt BgL_tmpz00_3965;

																					BgL_tmpz00_3965 =
																						((BgL_objectz00_bglt)
																						((BgL_typez00_bglt) BgL_tz00_2233));
																					BgL_auxz00_3964 =
																						BGL_OBJECT_WIDENING
																						(BgL_tmpz00_3965);
																				}
																				BgL_auxz00_3963 =
																					((BgL_tclassz00_bglt)
																					BgL_auxz00_3964);
																			}
																			BgL_test2248z00_3962 =
																				(((BgL_tclassz00_bglt)
																					COBJECT(BgL_auxz00_3963))->
																				BgL_abstractzf3zf3);
																		}
																		if (BgL_test2248z00_3962)
																			{	/* Module/eval.scm 354 */
																				BgL_arg1991z00_2239 = BUNSPEC;
																			}
																		else
																			{	/* Module/eval.scm 357 */
																				obj_t BgL_arg1994z00_2242;

																				{	/* Module/eval.scm 357 */
																					obj_t BgL_arg1995z00_2243;
																					obj_t BgL_arg1996z00_2244;

																					{	/* Module/eval.scm 357 */
																						obj_t BgL_arg1997z00_2245;

																						BgL_arg1997z00_2245 =
																							MAKE_YOUNG_PAIR
																							(BgL_holderez00_2237, BNIL);
																						BgL_arg1995z00_2243 =
																							MAKE_YOUNG_PAIR(CNST_TABLE_REF
																							(36L), BgL_arg1997z00_2245);
																					}
																					{	/* Module/eval.scm 358 */
																						obj_t BgL_arg1998z00_2246;

																						{	/* Module/eval.scm 358 */
																							obj_t BgL_arg1999z00_2247;

																							BgL_arg1999z00_2247 =
																								MAKE_YOUNG_PAIR
																								(BgL_holderez00_2237, BNIL);
																							BgL_arg1998z00_2246 =
																								MAKE_YOUNG_PAIR(CNST_TABLE_REF
																								(37L), BgL_arg1999z00_2247);
																						}
																						BgL_arg1996z00_2244 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1998z00_2246, BNIL);
																					}
																					BgL_arg1994z00_2242 =
																						MAKE_YOUNG_PAIR(BgL_arg1995z00_2243,
																						BgL_arg1996z00_2244);
																				}
																				BgL_arg1991z00_2239 =
																					MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L),
																					BgL_arg1994z00_2242);
																			}
																	}
																	{	/* Module/eval.scm 359 */
																		obj_t BgL_arg2000z00_2248;
																		obj_t BgL_arg2001z00_2249;

																		{	/* Module/eval.scm 359 */
																			obj_t BgL_arg2002z00_2250;

																			BgL_arg2002z00_2250 =
																				MAKE_YOUNG_PAIR(BgL_holderez00_2237,
																				BNIL);
																			BgL_arg2000z00_2248 =
																				MAKE_YOUNG_PAIR(CNST_TABLE_REF(38L),
																				BgL_arg2002z00_2250);
																		}
																		{	/* Module/eval.scm 360 */
																			obj_t BgL_arg2003z00_2251;

																			{	/* Module/eval.scm 360 */
																				obj_t BgL_arg2004z00_2252;

																				BgL_arg2004z00_2252 =
																					MAKE_YOUNG_PAIR(BNIL, BNIL);
																				BgL_arg2003z00_2251 =
																					MAKE_YOUNG_PAIR(CNST_TABLE_REF(18L),
																					BgL_arg2004z00_2252);
																			}
																			BgL_arg2001z00_2249 =
																				MAKE_YOUNG_PAIR(BgL_arg2003z00_2251,
																				BNIL);
																		}
																		BgL_arg1992z00_2240 =
																			MAKE_YOUNG_PAIR(BgL_arg2000z00_2248,
																			BgL_arg2001z00_2249);
																	}
																	BgL_arg1990z00_2238 =
																		MAKE_YOUNG_PAIR(BgL_arg1991z00_2239,
																		BgL_arg1992z00_2240);
																}
																BgL_arg1989z00_2231 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(15L),
																	BgL_arg1990z00_2238);
															}
														}
													}
												}
											}
										}
										BgL_newtail1329z00_2229 =
											MAKE_YOUNG_PAIR(BgL_arg1989z00_2231, BNIL);
									}
									SET_CDR(BgL_tail1328z00_2226, BgL_newtail1329z00_2229);
									{	/* Module/eval.scm 347 */
										obj_t BgL_arg1988z00_2230;

										BgL_arg1988z00_2230 = CDR(((obj_t) BgL_l1325z00_2225));
										{
											obj_t BgL_tail1328z00_3997;
											obj_t BgL_l1325z00_3996;

											BgL_l1325z00_3996 = BgL_arg1988z00_2230;
											BgL_tail1328z00_3997 = BgL_newtail1329z00_2229;
											BgL_tail1328z00_2226 = BgL_tail1328z00_3997;
											BgL_l1325z00_2225 = BgL_l1325z00_3996;
											goto BgL_zc3z04anonymousza31986ze3z87_2227;
										}
									}
								}
						}
					}
			}
		}

	}



/* get-evaluated-class-holders */
	obj_t BGl_getzd2evaluatedzd2classzd2holderszd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 366 */
			{	/* Module/eval.scm 367 */
				obj_t BgL_l1330z00_2261;

				BgL_l1330z00_2261 = BGl_za2evalzd2classesza2zd2zzmodule_evalz00;
				if (NULLP(BgL_l1330z00_2261))
					{	/* Module/eval.scm 367 */
						return BNIL;
					}
				else
					{	/* Module/eval.scm 367 */
						obj_t BgL_head1332z00_2263;

						BgL_head1332z00_2263 = MAKE_YOUNG_PAIR(BNIL, BNIL);
						{
							obj_t BgL_l1330z00_2265;
							obj_t BgL_tail1333z00_2266;

							BgL_l1330z00_2265 = BgL_l1330z00_2261;
							BgL_tail1333z00_2266 = BgL_head1332z00_2263;
						BgL_zc3z04anonymousza32014ze3z87_2267:
							if (NULLP(BgL_l1330z00_2265))
								{	/* Module/eval.scm 367 */
									return CDR(BgL_head1332z00_2263);
								}
							else
								{	/* Module/eval.scm 367 */
									obj_t BgL_newtail1334z00_2269;

									{	/* Module/eval.scm 367 */
										BgL_globalz00_bglt BgL_arg2018z00_2271;

										{	/* Module/eval.scm 367 */
											obj_t BgL_sz00_2272;

											BgL_sz00_2272 = CAR(((obj_t) BgL_l1330z00_2265));
											{	/* Module/eval.scm 368 */
												BgL_typez00_bglt BgL_tz00_2273;

												{	/* Module/eval.scm 368 */
													obj_t BgL_arg2019z00_2274;
													obj_t BgL_arg2020z00_2275;

													{	/* Module/eval.scm 368 */
														obj_t BgL_pairz00_2893;

														BgL_pairz00_2893 = CDR(((obj_t) BgL_sz00_2272));
														BgL_arg2019z00_2274 = CAR(BgL_pairz00_2893);
													}
													BgL_arg2020z00_2275 =
														BGl_findzd2locationzd2zztools_locationz00
														(BgL_sz00_2272);
													BgL_tz00_2273 =
														BGl_findzd2typezf2locationz20zztype_envz00
														(BgL_arg2019z00_2274, BgL_arg2020z00_2275);
												}
												{
													BgL_tclassz00_bglt BgL_auxz00_4011;

													{
														obj_t BgL_auxz00_4012;

														{	/* Module/eval.scm 369 */
															BgL_objectz00_bglt BgL_tmpz00_4013;

															BgL_tmpz00_4013 =
																((BgL_objectz00_bglt)
																((BgL_typez00_bglt) BgL_tz00_2273));
															BgL_auxz00_4012 =
																BGL_OBJECT_WIDENING(BgL_tmpz00_4013);
														}
														BgL_auxz00_4011 =
															((BgL_tclassz00_bglt) BgL_auxz00_4012);
													}
													BgL_arg2018z00_2271 =
														(((BgL_tclassz00_bglt) COBJECT(BgL_auxz00_4011))->
														BgL_holderz00);
												}
											}
										}
										BgL_newtail1334z00_2269 =
											MAKE_YOUNG_PAIR(((obj_t) BgL_arg2018z00_2271), BNIL);
									}
									SET_CDR(BgL_tail1333z00_2266, BgL_newtail1334z00_2269);
									{	/* Module/eval.scm 367 */
										obj_t BgL_arg2016z00_2270;

										BgL_arg2016z00_2270 = CDR(((obj_t) BgL_l1330z00_2265));
										{
											obj_t BgL_tail1333z00_4025;
											obj_t BgL_l1330z00_4024;

											BgL_l1330z00_4024 = BgL_arg2016z00_2270;
											BgL_tail1333z00_4025 = BgL_newtail1334z00_2269;
											BgL_tail1333z00_2266 = BgL_tail1333z00_4025;
											BgL_l1330z00_2265 = BgL_l1330z00_4024;
											goto BgL_zc3z04anonymousza32014ze3z87_2267;
										}
									}
								}
						}
					}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zzmodule_evalz00(void)
	{
		{	/* Module/eval.scm 15 */
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzast_varz00(90839984L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzast_nodez00(469732712L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzmodule_modulez00(158397907L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzmodule_includez00(184800657L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzengine_paramz00(517137079L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zztools_errorz00(300504031L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zztools_locationz00(462333240L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zztype_cachez00(346491734L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zztype_envz00(296457443L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzobject_classz00(502007119L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzobject_slotsz00(151271251L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzast_envz00(146730773L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(374700232L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzast_sexpz00(163122759L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			BGl_modulezd2initializa7ationz75zzast_identz00(174885617L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
			return
				BGl_modulezd2initializa7ationz75zzbackend_backendz00(216206620L,
				BSTRING_TO_STRING(BGl_string2126z00zzmodule_evalz00));
		}

	}

#ifdef __cplusplus
}
#endif
