/*===========================================================================*/
/*   (Ast/let.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 Ast/let.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_AST_LET_TYPE_DEFINITIONS
#define BGL_AST_LET_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_localz00_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;
		long BgL_keyz00;
		obj_t BgL_valzd2noescapezd2;
		bool_t BgL_volatilez00;
	}               *BgL_localz00_bglt;

	typedef struct BgL_sfunz00_bgl
	{
		header_t header;
		obj_t widening;
		long BgL_arityz00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_predicatezd2ofzd2;
		obj_t BgL_stackzd2allocatorzd2;
		bool_t BgL_topzf3zf3;
		obj_t BgL_thezd2closurezd2;
		obj_t BgL_effectz00;
		obj_t BgL_failsafez00;
		obj_t BgL_argszd2noescapezd2;
		obj_t BgL_argszd2retescapezd2;
		obj_t BgL_propertyz00;
		obj_t BgL_argsz00;
		obj_t BgL_argszd2namezd2;
		obj_t BgL_bodyz00;
		obj_t BgL_classz00;
		obj_t BgL_dssslzd2keywordszd2;
		obj_t BgL_locz00;
		obj_t BgL_optionalsz00;
		obj_t BgL_keysz00;
		obj_t BgL_thezd2closurezd2globalz00;
		obj_t BgL_strengthz00;
		obj_t BgL_stackablez00;
	}              *BgL_sfunz00_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_nodezf2effectzf2_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
	}                       *BgL_nodezf2effectzf2_bglt;

	typedef struct BgL_varz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_variablez00_bgl *BgL_variablez00;
	}             *BgL_varz00_bglt;

	typedef struct BgL_refz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_variablez00_bgl *BgL_variablez00;
	}             *BgL_refz00_bglt;

	typedef struct BgL_sequencez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		obj_t BgL_nodesz00;
		bool_t BgL_unsafez00;
		obj_t BgL_metaz00;
	}                  *BgL_sequencez00_bglt;

	typedef struct BgL_appz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		struct BgL_varz00_bgl *BgL_funz00;
		obj_t BgL_argsz00;
		obj_t BgL_stackablez00;
	}             *BgL_appz00_bglt;

	typedef struct BgL_appzd2lyzd2_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_nodez00_bgl *BgL_funz00;
		struct BgL_nodez00_bgl *BgL_argz00;
	}                  *BgL_appzd2lyzd2_bglt;

	typedef struct BgL_funcallz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_nodez00_bgl *BgL_funz00;
		obj_t BgL_argsz00;
		obj_t BgL_strengthz00;
		obj_t BgL_functionsz00;
	}                 *BgL_funcallz00_bglt;

	typedef struct BgL_externz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		obj_t BgL_exprza2za2;
		obj_t BgL_effectz00;
	}                *BgL_externz00_bglt;

	typedef struct BgL_setqz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_varz00_bgl *BgL_varz00;
		struct BgL_nodez00_bgl *BgL_valuez00;
	}              *BgL_setqz00_bglt;

	typedef struct BgL_conditionalz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		struct BgL_nodez00_bgl *BgL_testz00;
		struct BgL_nodez00_bgl *BgL_truez00;
		struct BgL_nodez00_bgl *BgL_falsez00;
	}                     *BgL_conditionalz00_bglt;

	typedef struct BgL_failz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_nodez00_bgl *BgL_procz00;
		struct BgL_nodez00_bgl *BgL_msgz00;
		struct BgL_nodez00_bgl *BgL_objz00;
	}              *BgL_failz00_bglt;

	typedef struct BgL_switchz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		struct BgL_nodez00_bgl *BgL_testz00;
		obj_t BgL_clausesz00;
		struct BgL_typez00_bgl *BgL_itemzd2typezd2;
	}                *BgL_switchz00_bglt;

	typedef struct BgL_letzd2funzd2_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		obj_t BgL_localsz00;
		struct BgL_nodez00_bgl *BgL_bodyz00;
	}                   *BgL_letzd2funzd2_bglt;

	typedef struct BgL_letzd2varzd2_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		obj_t BgL_bindingsz00;
		struct BgL_nodez00_bgl *BgL_bodyz00;
		bool_t BgL_removablezf3zf3;
	}                   *BgL_letzd2varzd2_bglt;

	typedef struct BgL_setzd2exzd2itz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_varz00_bgl *BgL_varz00;
		struct BgL_nodez00_bgl *BgL_bodyz00;
		struct BgL_nodez00_bgl *BgL_onexitz00;
	}                       *BgL_setzd2exzd2itz00_bglt;

	typedef struct BgL_jumpzd2exzd2itz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_nodez00_bgl *BgL_exitz00;
		struct BgL_nodez00_bgl *BgL_valuez00;
	}                        *BgL_jumpzd2exzd2itz00_bglt;

	typedef struct BgL_makezd2boxzd2_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		struct BgL_nodez00_bgl *BgL_valuez00;
		struct BgL_typez00_bgl *BgL_vtypez00;
		obj_t BgL_stackablez00;
	}                    *BgL_makezd2boxzd2_bglt;

	typedef struct BgL_boxzd2refzd2_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_sidezd2effectzd2;
		obj_t BgL_keyz00;
		struct BgL_varz00_bgl *BgL_varz00;
		struct BgL_typez00_bgl *BgL_vtypez00;
	}                   *BgL_boxzd2refzd2_bglt;

	typedef struct BgL_boxzd2setz12zc0_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_varz00_bgl *BgL_varz00;
		struct BgL_nodez00_bgl *BgL_valuez00;
		struct BgL_typez00_bgl *BgL_vtypez00;
	}                      *BgL_boxzd2setz12zc0_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_AST_LET_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	extern obj_t BGl_normaliza7ezd2prognz75zztools_prognz00(obj_t);
	static obj_t BGl_z62letzd2symzf3z43zzast_letz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t,
		obj_t);
	extern obj_t BGl_za2optimza2z00zzengine_paramz00;
	extern obj_t BGl_setqz00zzast_nodez00;
	static obj_t BGl_requirezd2initializa7ationz75zzast_letz00 = BUNSPEC;
	extern obj_t BGl_closurez00zzast_nodez00;
	static obj_t BGl_z62letcollapsez62zzast_letz00(obj_t, obj_t);
	extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
	static BgL_letzd2varzd2_bglt BGl_makezd2genericzd2letz00zzast_letz00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_setzd2exzd2itz00zzast_nodez00;
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	extern obj_t BGl_tclassz00zzobject_classz00;
	extern obj_t BGl_atomz00zzast_nodez00;
	extern obj_t BGl_sfunz00zzast_varz00;
	extern obj_t BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zzast_letz00(void);
	extern obj_t BGl_sequencez00zzast_nodez00;
	static bool_t BGl_directzd2functionzf3z21zzast_letz00(obj_t, bool_t);
	static bool_t BGl_safezd2letzd2optimzf3ze70z14zzast_letz00(obj_t,
		BgL_letzd2varzd2_bglt);
	BGL_IMPORT obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	extern obj_t BGl_letzd2varzd2zzast_nodez00;
	extern obj_t BGl_failz00zzast_nodez00;
	BGL_IMPORT obj_t bgl_reverse(obj_t);
	static obj_t BGl_genericzd2initzd2zzast_letz00(void);
	BGL_IMPORT obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_z62letstarz62zzast_letz00(obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zzast_letz00(void);
	static BgL_nodez00_bglt BGl_z62stage1z62zzast_letz00(obj_t, obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62stage2z62zzast_letz00(obj_t, obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62stage3z62zzast_letz00(obj_t, obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62stage4z62zzast_letz00(obj_t, obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62stage5z62zzast_letz00(obj_t, obj_t, obj_t);
	BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62stage7z62zzast_letz00(obj_t, obj_t, obj_t);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	extern obj_t BGl_boxzd2refzd2zzast_nodez00;
	BGL_IMPORT obj_t bgl_reverse_bang(obj_t);
	BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
	static obj_t BGl_z62letzd2symzb0zzast_letz00(obj_t);
	static obj_t BGl_zc3z04anonymousza33073ze3ze70z60zzast_letz00(obj_t);
	static bool_t BGl_constantzf3zf3zzast_letz00(obj_t);
	extern obj_t BGl_thezd2backendzd2zzbackend_backendz00(void);
	static bool_t BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00(obj_t,
		obj_t);
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	extern obj_t BGl_refz00zzast_nodez00;
	BGL_EXPORTED_DECL obj_t BGl_letzd2symzf3z21zzast_letz00(obj_t);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_appendzd221011zd2zzast_letz00(obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zzast_letz00(void);
	extern obj_t BGl_externz00zzast_nodez00;
	static BgL_nodez00_bglt BGl_z62letzd2ze3nodez53zzast_letz00(obj_t, obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_epairifyzd2propagatezd2locz00zztools_miscz00(obj_t, obj_t);
	static BgL_letzd2varzd2_bglt BGl_letzd2orzd2letrecz00zzast_letz00(obj_t,
		BgL_letzd2varzd2_bglt, obj_t);
	static obj_t BGl__functionzf3zf3zzast_letz00(obj_t, obj_t);
	extern obj_t BGl_varz00zzast_nodez00;
	extern obj_t BGl_makezd2boxzd2zzast_nodez00;
	static obj_t BGl_functionzf3zf3zzast_letz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_za2_za2z00zztype_cachez00;
	BGL_EXPORTED_DECL BgL_nodez00_bglt BGl_letzd2ze3nodez31zzast_letz00(obj_t,
		obj_t, obj_t, obj_t);
	extern BgL_typez00_bglt
		BGl_strictzd2nodezd2typez00zzast_nodez00(BgL_typez00_bglt,
		BgL_typez00_bglt);
	extern obj_t BGl_za2procedureza2z00zztype_cachez00;
	static BgL_letzd2funzd2_bglt BGl_letzd2ze3labelsz31zzast_letz00(obj_t,
		BgL_nodez00_bglt, obj_t);
	extern obj_t BGl_za2objza2z00zztype_cachez00;
	BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
	static obj_t BGl_z62mutablezd2inzf3z43zzast_letz00(obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62letrecza2zd2ze3nodezf1zzast_letz00(obj_t,
		obj_t, obj_t, obj_t, obj_t);
	extern obj_t BGl_boxzd2setz12zc0zzast_nodez00;
	static obj_t BGl_z62split3756z62zzast_letz00(obj_t, obj_t);
	static obj_t BGl_z62split3757z62zzast_letz00(obj_t, obj_t);
	static obj_t BGl_z62split3758z62zzast_letz00(obj_t, obj_t);
	static obj_t BGl_z62split3759z62zzast_letz00(obj_t, obj_t);
	static obj_t BGl_z62usedzd2inzf3z43zzast_letz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_letz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzbackend_backendz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_dumpz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_removez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_occurz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_substitutez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_localz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_prognz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(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__r5_control_features_6_4z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(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_characters_6_6z00(long, char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(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__r4_booleans_6_1z00(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__errorz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_appz00zzast_nodez00;
	static obj_t BGl_z62split3760z62zzast_letz00(obj_t, obj_t);
	extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
	static obj_t BGl_z62splitz62zzast_letz00(obj_t, obj_t);
	extern obj_t BGl_appzd2lyzd2zzast_nodez00;
	extern BgL_nodez00_bglt BGl_substitutez12z12zzast_substitutez00(obj_t, obj_t,
		BgL_nodez00_bglt, obj_t);
	extern BgL_typez00_bglt BGl_typezd2ofzd2idz00zzast_identz00(obj_t, obj_t);
	BGL_IMPORT bool_t BGl_numberzf3zf3zz__r4_numbers_6_5z00(obj_t);
	static bool_t BGl_safezd2reczd2valzf3ze70z14zzast_letz00(obj_t);
	extern obj_t BGl_kwotez00zzast_nodez00;
	static obj_t BGl_letrecursiveze70ze7zzast_letz00(obj_t, obj_t);
	extern obj_t BGl_jumpzd2exzd2itz00zzast_nodez00;
	static obj_t BGl_cnstzd2initzd2zzast_letz00(void);
	BGL_IMPORT bool_t BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(obj_t);
	static obj_t BGl_libraryzd2moduleszd2initz00zzast_letz00(void);
	extern BgL_localz00_bglt BGl_makezd2localzd2svarz00zzast_localz00(obj_t,
		BgL_typez00_bglt);
	extern obj_t BGl_nodezd2removez12zc0zzast_removez00(BgL_nodez00_bglt);
	extern BgL_nodez00_bglt BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(obj_t,
		obj_t, obj_t);
	extern BgL_localz00_bglt
		BGl_makezd2userzd2localzd2svarzd2zzast_localz00(obj_t, BgL_typez00_bglt);
	static obj_t BGl_importedzd2moduleszd2initz00zzast_letz00(void);
	static obj_t BGl_gczd2rootszd2initz00zzast_letz00(void);
	static obj_t BGl_appendza2ze70z45zzast_letz00(obj_t, obj_t);
	extern obj_t BGl_parsezd2idzd2zzast_identz00(obj_t, obj_t);
	static obj_t BGl_zc3z04anonymousza33050ze3ze70z60zzast_letz00(obj_t);
	static obj_t BGl_za2letza2z00zzast_letz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_letzd2symzd2zzast_letz00(void);
	extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_letzd2funzd2zzast_nodez00;
	extern bool_t BGl_userzd2symbolzf3z21zzast_identz00(obj_t);
	extern obj_t BGl_za2unspecza2z00zztype_cachez00;
	extern obj_t BGl_za2callzf2cczf3za2z01zzengine_paramz00;
	extern obj_t BGl_occurzd2nodez12zc0zzast_occurz00(BgL_nodez00_bglt);
	BGL_IMPORT obj_t BGl_gensymz00zz__r4_symbols_6_4z00(obj_t);
	extern obj_t BGl_usezd2variablez12zc0zzast_sexpz00(BgL_variablez00_bglt,
		obj_t, obj_t);
	extern obj_t BGl_switchz00zzast_nodez00;
	static bool_t BGl_loopze70ze7zzast_letz00(obj_t);
	static obj_t BGl_loopze71ze7zzast_letz00(obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_loopze72ze7zzast_letz00(obj_t, obj_t, obj_t, obj_t, obj_t);
	extern obj_t BGl_conditionalz00zzast_nodez00;
	BGL_IMPORT obj_t BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(obj_t);
	BGL_EXPORTED_DECL BgL_nodez00_bglt
		BGl_letrecza2zd2ze3nodez93zzast_letz00(obj_t, obj_t, obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62splitzd2headzd2letrecz62zzast_letz00(obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	extern obj_t BGl_funcallz00zzast_nodez00;
	static BgL_nodezf2effectzf2_bglt
		BGl_makezd2smartzd2genericzd2letzd2zzast_letz00(obj_t,
		BgL_letzd2varzd2_bglt, obj_t);
	static obj_t __cnst[39];


	   
		 
		DEFINE_STATIC_BGL_PROCEDURE(BGl_functionzf3zd2envz21zzast_letz00,
		BgL_bgl__functionza7f3za7f3za73778za7, opt_generic_entry,
		BGl__functionzf3zf3zzast_letz00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_letzd2symzd2envz00zzast_letz00,
		BgL_bgl_za762letza7d2symza7b0za73779z00, BGl_z62letzd2symzb0zzast_letz00,
		0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_letrecza2zd2ze3nodezd2envz41zzast_letz00,
		BgL_bgl_za762letrecza7a2za7d2za73780z00,
		BGl_z62letrecza2zd2ze3nodezf1zzast_letz00, 0L, BUNSPEC, 4);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_letzd2ze3nodezd2envze3zzast_letz00,
		BgL_bgl_za762letza7d2za7e3node3781za7, BGl_z62letzd2ze3nodez53zzast_letz00,
		0L, BUNSPEC, 4);
	      DEFINE_INT64(BGl_int643770z00zzast_letz00,
		BgL_bgl_int643770za700za7za7as3782za7, 0);
	      DEFINE_UINT64(BGl_uint643771z00zzast_letz00,
		BgL_bgl_uint643771za700za7za7a3783za7, 0);
	      DEFINE_INT32(BGl_int323768z00zzast_letz00,
		BgL_bgl_int323768za700za7za7as3784za7, 0);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_letzd2symzf3zd2envzf3zzast_letz00,
		BgL_bgl_za762letza7d2symza7f3za73785z00, BGl_z62letzd2symzf3z43zzast_letz00,
		0L, BUNSPEC, 1);
	      DEFINE_REAL(BGl_real3772z00zzast_letz00,
		BgL_bgl_real3772za700za7za7ast3786za7, 0.0);
	      DEFINE_STRING(BGl_string3762z00zzast_letz00,
		BgL_bgl_string3762za700za7za7a3787za7, "Illegal `", 9);
	      DEFINE_STRING(BGl_string3763z00zzast_letz00,
		BgL_bgl_string3763za700za7za7a3788za7, "' form", 6);
	      DEFINE_STRING(BGl_string3765z00zzast_letz00,
		BgL_bgl_string3765za700za7za7a3789za7, "Illegal 'letrec*' form", 22);
	      DEFINE_BGL_L_PROCEDURE(BGl_proc3764z00zzast_letz00,
		BgL_bgl_za762split3756za762za73790za7, BGl_z62split3756z62zzast_letz00);
	      DEFINE_BGL_L_PROCEDURE(BGl_proc3766z00zzast_letz00,
		BgL_bgl_za762split3757za762za73791za7, BGl_z62split3757z62zzast_letz00);
	      DEFINE_STRING(BGl_string3773z00zzast_letz00,
		BgL_bgl_string3773za700za7za7a3792za7, "type-undefined", 14);
	      DEFINE_BGL_L_PROCEDURE(BGl_proc3767z00zzast_letz00,
		BgL_bgl_za762split3758za762za73793za7, BGl_z62split3758z62zzast_letz00);
	      DEFINE_STRING(BGl_string3774z00zzast_letz00,
		BgL_bgl_string3774za700za7za7a3794za7, "cannot undefined type", 21);
	      DEFINE_STRING(BGl_string3775z00zzast_letz00,
		BgL_bgl_string3775za700za7za7a3795za7, "ast_let", 7);
	      DEFINE_STRING(BGl_string3776z00zzast_letz00,
		BgL_bgl_string3776za700za7za7a3796za7,
		"not if (+ - * +fx -fx *fx +elong -elong *elong +llong -llong *llong +s8 -s8 *s8 +u8 -u8 *u8 +s16 -s16 *s16 +u16 -u16 *u16 +s32 -s32 *s32 +u32 -u32 *u32 +s64 -s64 *s64 +u64 -u64 *u64 +f32 -f32 *f32 +f64 -f64 *f64 > >= < <= = >fx >=fx <fx <=fx =fx >elong >=elong <elong <=elong =elong >llong >=llong <llong <=llong =llong >s8 >=s8 <s8 <=s8 =s8 >u8 >=u8 <u8 <=u8 =u8 >s16 >=s16 <s16 <=s16 =s16 >u16 >=u16 <u16 <=u16 =u16 >s32 >=s32 <s32 <=s32 =s32 >u32 >=u32 <u32 <=u32 =u32 >s64 >=s64 <s64 <=s64 =s64 >u64 >=u64 <u64 <=u64 =u64 >f32 >=f32 <f32 <=f32 =f32 >f64 >=f64 <f64 <=f64 =f64 eq? equal? bit-lsh bit-rsh bit-ursh bit-not bit-xor bit-lshelong bit-rshelong bit-urshelong bit-notelong bit-xorelong bit-lshs8 bit-rshs8 bit-urshs8 bit-nots8 bit-xors8 bit-lshu8 bit-rshu8 bit-urshu8 bit-notu8 bit-xoru8 bit-lshs16 bit-rshs16 bit-urshs16 bit-nots16 bit-xors16 bit-lshu16 bit-rshu16 bit-urshu16 bit-notu16 bit-xoru16 bit-lshs32 bit-rshs32 bit-urshs32 bit-nots32 bit-xors32 bit-lshu32 bit-rshu32 bit-urshu32 bit-notu32 bit-xoru32 "
		"bit-lshs64 bit-rshs64 bit-urshs64 bit-nots64 bit-xors64 bit-lshu64 bit-rshu64 bit-urshu64 bit-notu64 bit-xoru64) (_ obj) char make-cell cell list procedure bool long int real double uint64 int64 uint32 int32 uint16 int16 uint8 int8 _ obj class-nil @ let* quote letrec begin labels lambda read set! letrec* write location value let ",
		1355);
	      DEFINE_UINT32(BGl_uint323769z00zzast_letz00,
		BgL_bgl_uint323769za700za7za7a3797za7, 0);
	BGL_IMPORT obj_t BGl_expzd2envzd2zz__r4_numbers_6_5z00;

/* 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_requirezd2initializa7ationz75zzast_letz00));
		     ADD_ROOT((void *) (&BGl_za2letza2z00zzast_letz00));
#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_modulezd2initializa7ationz75zzast_letz00(long
		BgL_checksumz00_8049, char *BgL_fromz00_8050)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzast_letz00))
				{
					BGl_requirezd2initializa7ationz75zzast_letz00 = BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzast_letz00();
					BGl_libraryzd2moduleszd2initz00zzast_letz00();
					BGl_cnstzd2initzd2zzast_letz00();
					BGl_importedzd2moduleszd2initz00zzast_letz00();
					return BGl_toplevelzd2initzd2zzast_letz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"ast_let");
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__errorz00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(0L,
				"ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"ast_let");
			BGl_modulezd2initializa7ationz75zz__structurez00(0L, "ast_let");
			BGl_modulezd2initializa7ationz75zz__biglooz00(0L, "ast_let");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			{	/* Ast/let.scm 14 */
				obj_t BgL_cportz00_7635;

				{	/* Ast/let.scm 14 */
					obj_t BgL_stringz00_7642;

					BgL_stringz00_7642 = BGl_string3776z00zzast_letz00;
					{	/* Ast/let.scm 14 */
						obj_t BgL_startz00_7643;

						BgL_startz00_7643 = BINT(0L);
						{	/* Ast/let.scm 14 */
							obj_t BgL_endz00_7644;

							BgL_endz00_7644 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_7642)));
							{	/* Ast/let.scm 14 */

								BgL_cportz00_7635 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_7642, BgL_startz00_7643, BgL_endz00_7644);
				}}}}
				{
					long BgL_iz00_7636;

					BgL_iz00_7636 = 38L;
				BgL_loopz00_7637:
					if ((BgL_iz00_7636 == -1L))
						{	/* Ast/let.scm 14 */
							return BUNSPEC;
						}
					else
						{	/* Ast/let.scm 14 */
							{	/* Ast/let.scm 14 */
								obj_t BgL_arg3777z00_7638;

								{	/* Ast/let.scm 14 */

									{	/* Ast/let.scm 14 */
										obj_t BgL_locationz00_7640;

										BgL_locationz00_7640 = BBOOL(((bool_t) 0));
										{	/* Ast/let.scm 14 */

											BgL_arg3777z00_7638 =
												BGl_readz00zz__readerz00(BgL_cportz00_7635,
												BgL_locationz00_7640);
										}
									}
								}
								{	/* Ast/let.scm 14 */
									int BgL_tmpz00_8084;

									BgL_tmpz00_8084 = (int) (BgL_iz00_7636);
									CNST_TABLE_SET(BgL_tmpz00_8084, BgL_arg3777z00_7638);
							}}
							{	/* Ast/let.scm 14 */
								int BgL_auxz00_7641;

								BgL_auxz00_7641 = (int) ((BgL_iz00_7636 - 1L));
								{
									long BgL_iz00_8089;

									BgL_iz00_8089 = (long) (BgL_auxz00_7641);
									BgL_iz00_7636 = BgL_iz00_8089;
									goto BgL_loopz00_7637;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			return (BGl_za2letza2z00zzast_letz00 =
				BGl_gensymz00zz__r4_symbols_6_4z00(CNST_TABLE_REF(0L)), BUNSPEC);
		}

	}



/* append-21011 */
	obj_t BGl_appendzd221011zd2zzast_letz00(obj_t BgL_l1z00_1, obj_t BgL_l2z00_2)
	{
		{
			{
				obj_t BgL_headz00_1703;

				BgL_headz00_1703 = MAKE_YOUNG_PAIR(BNIL, BgL_l2z00_2);
				{
					obj_t BgL_prevz00_1704;
					obj_t BgL_tailz00_1705;

					BgL_prevz00_1704 = BgL_headz00_1703;
					BgL_tailz00_1705 = BgL_l1z00_1;
				BgL_loopz00_1706:
					if (PAIRP(BgL_tailz00_1705))
						{
							obj_t BgL_newzd2prevzd2_1708;

							BgL_newzd2prevzd2_1708 =
								MAKE_YOUNG_PAIR(CAR(BgL_tailz00_1705), BgL_l2z00_2);
							SET_CDR(BgL_prevz00_1704, BgL_newzd2prevzd2_1708);
							{
								obj_t BgL_tailz00_8101;
								obj_t BgL_prevz00_8100;

								BgL_prevz00_8100 = BgL_newzd2prevzd2_1708;
								BgL_tailz00_8101 = CDR(BgL_tailz00_1705);
								BgL_tailz00_1705 = BgL_tailz00_8101;
								BgL_prevz00_1704 = BgL_prevz00_8100;
								goto BgL_loopz00_1706;
							}
						}
					else
						{
							BNIL;
						}
					return CDR(BgL_headz00_1703);
				}
			}
		}

	}



/* let-sym */
	BGL_EXPORTED_DEF obj_t BGl_letzd2symzd2zzast_letz00(void)
	{
		{	/* Ast/let.scm 46 */
			return BGl_za2letza2z00zzast_letz00;
		}

	}



/* &let-sym */
	obj_t BGl_z62letzd2symzb0zzast_letz00(obj_t BgL_envz00_7532)
	{
		{	/* Ast/let.scm 46 */
			return BGl_letzd2symzd2zzast_letz00();
		}

	}



/* let-sym? */
	BGL_EXPORTED_DEF obj_t BGl_letzd2symzf3z21zzast_letz00(obj_t BgL_symz00_17)
	{
		{	/* Ast/let.scm 52 */
			return BBOOL((BgL_symz00_17 == BGl_za2letza2z00zzast_letz00));
		}

	}



/* &let-sym? */
	obj_t BGl_z62letzd2symzf3z43zzast_letz00(obj_t BgL_envz00_7533,
		obj_t BgL_symz00_7534)
	{
		{	/* Ast/let.scm 52 */
			return BGl_letzd2symzf3z21zzast_letz00(BgL_symz00_7534);
		}

	}



/* let->node */
	BGL_EXPORTED_DEF BgL_nodez00_bglt BGl_letzd2ze3nodez31zzast_letz00(obj_t
		BgL_expz00_18, obj_t BgL_stackz00_19, obj_t BgL_olocz00_20,
		obj_t BgL_sitez00_21)
	{
		{	/* Ast/let.scm 58 */
			{
				obj_t BgL_bindingsz00_1725;
				obj_t BgL_bodyz00_1723;

				if (PAIRP(BgL_expz00_18))
					{	/* Ast/let.scm 69 */
						obj_t BgL_cdrzd2367zd2_1730;

						BgL_cdrzd2367zd2_1730 = CDR(((obj_t) BgL_expz00_18));
						if (PAIRP(BgL_cdrzd2367zd2_1730))
							{	/* Ast/let.scm 69 */
								if (NULLP(CAR(BgL_cdrzd2367zd2_1730)))
									{	/* Ast/let.scm 69 */
										obj_t BgL_arg1686z00_1734;

										BgL_arg1686z00_1734 = CDR(BgL_cdrzd2367zd2_1730);
										{
											BgL_letzd2varzd2_bglt BgL_auxz00_8118;

											BgL_bodyz00_1723 = BgL_arg1686z00_1734;
											{	/* Ast/let.scm 72 */
												obj_t BgL_nlocz00_1738;

												BgL_nlocz00_1738 =
													BGl_findzd2locationzf2locz20zztools_locationz00
													(BgL_expz00_18, BgL_olocz00_20);
												{	/* Ast/let.scm 72 */
													obj_t BgL_blocz00_1739;

													if (PAIRP(BgL_bodyz00_1723))
														{	/* Ast/let.scm 73 */
															BgL_blocz00_1739 =
																BGl_findzd2locationzf2locz20zztools_locationz00
																(CAR(BgL_bodyz00_1723), BgL_nlocz00_1738);
														}
													else
														{	/* Ast/let.scm 73 */
															BgL_blocz00_1739 = BgL_nlocz00_1738;
														}
													{	/* Ast/let.scm 73 */
														BgL_nodez00_bglt BgL_bodyz00_1740;

														{	/* Ast/let.scm 76 */
															obj_t BgL_arg1707z00_1746;

															BgL_arg1707z00_1746 =
																BGl_normaliza7ezd2prognz75zztools_prognz00
																(BgL_bodyz00_1723);
															BgL_bodyz00_1740 =
																BGl_sexpzd2ze3nodez31zzast_sexpz00
																(BgL_arg1707z00_1746, BgL_stackz00_19,
																BgL_blocz00_1739, CNST_TABLE_REF(1L));
														}
														{	/* Ast/let.scm 76 */

															{	/* Ast/let.scm 81 */
																BgL_letzd2varzd2_bglt BgL_new1111z00_1741;

																{	/* Ast/let.scm 82 */
																	BgL_letzd2varzd2_bglt BgL_new1110z00_1744;

																	BgL_new1110z00_1744 =
																		((BgL_letzd2varzd2_bglt)
																		BOBJECT(GC_MALLOC(sizeof(struct
																					BgL_letzd2varzd2_bgl))));
																	{	/* Ast/let.scm 82 */
																		long BgL_arg1706z00_1745;

																		BgL_arg1706z00_1745 =
																			BGL_CLASS_NUM
																			(BGl_letzd2varzd2zzast_nodez00);
																		BGL_OBJECT_CLASS_NUM_SET((
																				(BgL_objectz00_bglt)
																				BgL_new1110z00_1744),
																			BgL_arg1706z00_1745);
																	}
																	{	/* Ast/let.scm 82 */
																		BgL_objectz00_bglt BgL_tmpz00_8131;

																		BgL_tmpz00_8131 =
																			((BgL_objectz00_bglt)
																			BgL_new1110z00_1744);
																		BGL_OBJECT_WIDENING_SET(BgL_tmpz00_8131,
																			BFALSE);
																	}
																	((BgL_objectz00_bglt) BgL_new1110z00_1744);
																	BgL_new1111z00_1741 = BgL_new1110z00_1744;
																}
																((((BgL_nodez00_bglt) COBJECT(
																				((BgL_nodez00_bglt)
																					BgL_new1111z00_1741)))->BgL_locz00) =
																	((obj_t) BgL_nlocz00_1738), BUNSPEC);
																{
																	BgL_typez00_bglt BgL_auxz00_8137;

																	{	/* Ast/let.scm 83 */
																		BgL_typez00_bglt BgL_arg1696z00_1742;

																		BgL_arg1696z00_1742 =
																			(((BgL_nodez00_bglt)
																				COBJECT(BgL_bodyz00_1740))->
																			BgL_typez00);
																		BgL_auxz00_8137 =
																			BGl_strictzd2nodezd2typez00zzast_nodez00((
																				(BgL_typez00_bglt)
																				BGl_za2_za2z00zztype_cachez00),
																			BgL_arg1696z00_1742);
																	}
																	((((BgL_nodez00_bglt) COBJECT(
																					((BgL_nodez00_bglt)
																						BgL_new1111z00_1741)))->
																			BgL_typez00) =
																		((BgL_typez00_bglt) BgL_auxz00_8137),
																		BUNSPEC);
																}
																((((BgL_nodezf2effectzf2_bglt) COBJECT(
																				((BgL_nodezf2effectzf2_bglt)
																					BgL_new1111z00_1741)))->
																		BgL_sidezd2effectzd2) =
																	((obj_t) BUNSPEC), BUNSPEC);
																((((BgL_nodezf2effectzf2_bglt)
																			COBJECT(((BgL_nodezf2effectzf2_bglt)
																					BgL_new1111z00_1741)))->BgL_keyz00) =
																	((obj_t) BINT(-1L)), BUNSPEC);
																((((BgL_letzd2varzd2_bglt)
																			COBJECT(BgL_new1111z00_1741))->
																		BgL_bindingsz00) = ((obj_t) BNIL), BUNSPEC);
																((((BgL_letzd2varzd2_bglt)
																			COBJECT(BgL_new1111z00_1741))->
																		BgL_bodyz00) =
																	((BgL_nodez00_bglt) BgL_bodyz00_1740),
																	BUNSPEC);
																{
																	bool_t BgL_auxz00_8150;

																	{	/* Ast/let.scm 86 */
																		obj_t BgL_arg1698z00_1743;

																		BgL_arg1698z00_1743 =
																			BGl_thezd2backendzd2zzbackend_backendz00
																			();
																		BgL_auxz00_8150 =
																			(((BgL_backendz00_bglt)
																				COBJECT(((BgL_backendz00_bglt)
																						BgL_arg1698z00_1743)))->
																			BgL_removezd2emptyzd2letz00);
																	}
																	((((BgL_letzd2varzd2_bglt)
																				COBJECT(BgL_new1111z00_1741))->
																			BgL_removablezf3zf3) =
																		((bool_t) BgL_auxz00_8150), BUNSPEC);
																}
																BgL_auxz00_8118 = BgL_new1111z00_1741;
											}}}}}
											return ((BgL_nodez00_bglt) BgL_auxz00_8118);
										}
									}
								else
									{	/* Ast/let.scm 69 */
										obj_t BgL_arg1690z00_1735;

										BgL_arg1690z00_1735 = CAR(((obj_t) BgL_cdrzd2367zd2_1730));
										BgL_bindingsz00_1725 = BgL_arg1690z00_1735;
										{	/* Ast/let.scm 88 */
											bool_t BgL_test3805z00_8158;

											{	/* Ast/let.scm 88 */
												bool_t BgL_test3806z00_8159;

												if (PAIRP(BgL_bindingsz00_1725))
													{	/* Ast/let.scm 88 */
														BgL_test3806z00_8159 = ((bool_t) 1);
													}
												else
													{	/* Ast/let.scm 88 */
														BgL_test3806z00_8159 = NULLP(BgL_bindingsz00_1725);
													}
												if (BgL_test3806z00_8159)
													{
														obj_t BgL_bindingsz00_1777;

														BgL_bindingsz00_1777 = BgL_bindingsz00_1725;
													BgL_zc3z04anonymousza31746ze3z87_1778:
														if (NULLP(BgL_bindingsz00_1777))
															{	/* Ast/let.scm 90 */
																BgL_test3805z00_8158 = ((bool_t) 0);
															}
														else
															{	/* Ast/let.scm 92 */
																obj_t BgL_bindingz00_1780;

																BgL_bindingz00_1780 =
																	CAR(((obj_t) BgL_bindingsz00_1777));
																{

																	if (PAIRP(BgL_bindingz00_1780))
																		{	/* Ast/let.scm 93 */
																			obj_t BgL_cdrzd2388zd2_1785;

																			BgL_cdrzd2388zd2_1785 =
																				CDR(BgL_bindingz00_1780);
																			if (PAIRP(BgL_cdrzd2388zd2_1785))
																				{	/* Ast/let.scm 93 */
																					if (NULLP(CDR(BgL_cdrzd2388zd2_1785)))
																						{	/* Ast/let.scm 93 */
																							{
																								obj_t BgL_bindingsz00_8175;

																								BgL_bindingsz00_8175 =
																									CDR(
																									((obj_t)
																										BgL_bindingsz00_1777));
																								BgL_bindingsz00_1777 =
																									BgL_bindingsz00_8175;
																								goto
																									BgL_zc3z04anonymousza31746ze3z87_1778;
																							}
																						}
																					else
																						{	/* Ast/let.scm 93 */
																							BgL_test3805z00_8158 =
																								((bool_t) 1);
																						}
																				}
																			else
																				{	/* Ast/let.scm 93 */
																					BgL_test3805z00_8158 = ((bool_t) 1);
																				}
																		}
																	else
																		{	/* Ast/let.scm 93 */
																			BgL_test3805z00_8158 = ((bool_t) 1);
																		}
																}
															}
													}
												else
													{	/* Ast/let.scm 88 */
														BgL_test3805z00_8158 = ((bool_t) 1);
													}
											}
											if (BgL_test3805z00_8158)
												{	/* Ast/let.scm 99 */
													obj_t BgL_arg1734z00_1769;
													obj_t BgL_arg1735z00_1770;

													{	/* Ast/let.scm 99 */
														obj_t BgL_arg1736z00_1771;

														{	/* Ast/let.scm 99 */
															obj_t BgL_arg1739z00_1772;

															BgL_arg1739z00_1772 =
																CAR(((obj_t) BgL_expz00_18));
															{	/* Ast/let.scm 99 */
																obj_t BgL_arg1454z00_4790;

																BgL_arg1454z00_4790 =
																	SYMBOL_TO_STRING(
																	((obj_t) BgL_arg1739z00_1772));
																BgL_arg1736z00_1771 =
																	BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																	(BgL_arg1454z00_4790);
															}
														}
														BgL_arg1734z00_1769 =
															string_append_3(BGl_string3762z00zzast_letz00,
															BgL_arg1736z00_1771,
															BGl_string3763z00zzast_letz00);
													}
													BgL_arg1735z00_1770 =
														BGl_findzd2locationzf2locz20zztools_locationz00
														(BgL_expz00_18, BgL_olocz00_20);
													return
														BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
														(BgL_arg1734z00_1769, BgL_expz00_18,
														BgL_arg1735z00_1770);
												}
											else
												{	/* Ast/let.scm 103 */
													obj_t BgL_arg1741z00_1773;
													BgL_letzd2varzd2_bglt BgL_arg1745z00_1774;

													BgL_arg1741z00_1773 = CAR(((obj_t) BgL_expz00_18));
													BgL_arg1745z00_1774 =
														BGl_makezd2genericzd2letz00zzast_letz00
														(BgL_expz00_18, BgL_stackz00_19, BgL_olocz00_20,
														BgL_sitez00_21);
													return ((BgL_nodez00_bglt)
														BGl_makezd2smartzd2genericzd2letzd2zzast_letz00
														(BgL_arg1741z00_1773, BgL_arg1745z00_1774,
															BgL_sitez00_21));
												}
										}
									}
							}
						else
							{	/* Ast/let.scm 69 */
							BgL_tagzd2361zd2_1727:
								{	/* Ast/let.scm 108 */
									obj_t BgL_arg1749z00_1792;
									obj_t BgL_arg1750z00_1793;

									{	/* Ast/let.scm 108 */
										obj_t BgL_arg1751z00_1794;

										{	/* Ast/let.scm 108 */
											obj_t BgL_arg1752z00_1795;

											BgL_arg1752z00_1795 = CAR(((obj_t) BgL_expz00_18));
											{	/* Ast/let.scm 108 */
												obj_t BgL_arg1454z00_4794;

												BgL_arg1454z00_4794 =
													SYMBOL_TO_STRING(((obj_t) BgL_arg1752z00_1795));
												BgL_arg1751z00_1794 =
													BGl_stringzd2copyzd2zz__r4_strings_6_7z00
													(BgL_arg1454z00_4794);
											}
										}
										BgL_arg1749z00_1792 =
											string_append_3(BGl_string3762z00zzast_letz00,
											BgL_arg1751z00_1794, BGl_string3763z00zzast_letz00);
									}
									BgL_arg1750z00_1793 =
										BGl_findzd2locationzf2locz20zztools_locationz00
										(BgL_expz00_18, BgL_olocz00_20);
									return
										BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
										(BgL_arg1749z00_1792, BgL_expz00_18, BgL_arg1750z00_1793);
								}
							}
					}
				else
					{	/* Ast/let.scm 69 */
						goto BgL_tagzd2361zd2_1727;
					}
			}
		}

	}



/* &let->node */
	BgL_nodez00_bglt BGl_z62letzd2ze3nodez53zzast_letz00(obj_t BgL_envz00_7535,
		obj_t BgL_expz00_7536, obj_t BgL_stackz00_7537, obj_t BgL_olocz00_7538,
		obj_t BgL_sitez00_7539)
	{
		{	/* Ast/let.scm 58 */
			return
				BGl_letzd2ze3nodez31zzast_letz00(BgL_expz00_7536, BgL_stackz00_7537,
				BgL_olocz00_7538, BgL_sitez00_7539);
		}

	}



/* make-generic-let */
	BgL_letzd2varzd2_bglt BGl_makezd2genericzd2letz00zzast_letz00(obj_t
		BgL_expz00_22, obj_t BgL_stackz00_23, obj_t BgL_olocz00_24,
		obj_t BgL_sitez00_25)
	{
		{	/* Ast/let.scm 115 */
			{	/* Ast/let.scm 116 */
				obj_t BgL_bindingsz00_1796;

				{	/* Ast/let.scm 116 */
					obj_t BgL_pairz00_4803;

					BgL_pairz00_4803 = CDR(((obj_t) BgL_expz00_22));
					BgL_bindingsz00_1796 = CAR(BgL_pairz00_4803);
				}
				{	/* Ast/let.scm 116 */
					obj_t BgL_locz00_1797;

					BgL_locz00_1797 =
						BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_22,
						BgL_olocz00_24);
					{	/* Ast/let.scm 117 */
						obj_t BgL_blocz00_1798;

						{	/* Ast/let.scm 118 */
							bool_t BgL_test3812z00_8204;

							{	/* Ast/let.scm 118 */
								obj_t BgL_tmpz00_8205;

								{	/* Ast/let.scm 118 */
									obj_t BgL_pairz00_4807;

									BgL_pairz00_4807 = CDR(((obj_t) BgL_expz00_22));
									BgL_tmpz00_8205 = CDR(BgL_pairz00_4807);
								}
								BgL_test3812z00_8204 = PAIRP(BgL_tmpz00_8205);
							}
							if (BgL_test3812z00_8204)
								{	/* Ast/let.scm 119 */
									obj_t BgL_arg1840z00_1873;

									{	/* Ast/let.scm 119 */
										obj_t BgL_pairz00_4813;

										{	/* Ast/let.scm 119 */
											obj_t BgL_pairz00_4812;

											BgL_pairz00_4812 = CDR(((obj_t) BgL_expz00_22));
											BgL_pairz00_4813 = CDR(BgL_pairz00_4812);
										}
										BgL_arg1840z00_1873 = CAR(BgL_pairz00_4813);
									}
									BgL_blocz00_1798 =
										BGl_findzd2locationzf2locz20zztools_locationz00
										(BgL_arg1840z00_1873, BFALSE);
								}
							else
								{	/* Ast/let.scm 118 */
									BgL_blocz00_1798 = BFALSE;
								}
						}
						{	/* Ast/let.scm 121 */
							obj_t BgL_bodyz00_1800;

							{	/* Ast/let.scm 124 */
								obj_t BgL_arg1834z00_1867;

								{	/* Ast/let.scm 124 */
									obj_t BgL_pairz00_4827;

									BgL_pairz00_4827 = CDR(((obj_t) BgL_expz00_22));
									BgL_arg1834z00_1867 = CDR(BgL_pairz00_4827);
								}
								BgL_bodyz00_1800 =
									BGl_normaliza7ezd2prognz75zztools_prognz00
									(BgL_arg1834z00_1867);
							}
							{	/* Ast/let.scm 124 */
								obj_t BgL_loczd2biszd2_1801;

								BgL_loczd2biszd2_1801 =
									BGl_findzd2locationzf2locz20zztools_locationz00
									(BgL_bodyz00_1800, BgL_locz00_1797);
								{	/* Ast/let.scm 125 */
									obj_t BgL_nlocz00_1802;

									{	/* Ast/let.scm 126 */
										bool_t BgL_test3813z00_8220;

										if (STRUCTP(BgL_blocz00_1798))
											{	/* Ast/let.scm 126 */
												BgL_test3813z00_8220 =
													(STRUCT_KEY(BgL_blocz00_1798) == CNST_TABLE_REF(2L));
											}
										else
											{	/* Ast/let.scm 126 */
												BgL_test3813z00_8220 = ((bool_t) 0);
											}
										if (BgL_test3813z00_8220)
											{	/* Ast/let.scm 126 */
												BgL_nlocz00_1802 = BgL_blocz00_1798;
											}
										else
											{	/* Ast/let.scm 126 */
												BgL_nlocz00_1802 = BgL_locz00_1797;
											}
									}
									{	/* Ast/let.scm 126 */
										obj_t BgL_framez00_1803;

										if (NULLP(BgL_bindingsz00_1796))
											{	/* Ast/let.scm 129 */
												BgL_framez00_1803 = BNIL;
											}
										else
											{	/* Ast/let.scm 129 */
												obj_t BgL_head1415z00_1850;

												BgL_head1415z00_1850 = MAKE_YOUNG_PAIR(BNIL, BNIL);
												{
													obj_t BgL_l1413z00_1852;
													obj_t BgL_tail1416z00_1853;

													BgL_l1413z00_1852 = BgL_bindingsz00_1796;
													BgL_tail1416z00_1853 = BgL_head1415z00_1850;
												BgL_zc3z04anonymousza31827ze3z87_1854:
													if (NULLP(BgL_l1413z00_1852))
														{	/* Ast/let.scm 129 */
															BgL_framez00_1803 = CDR(BgL_head1415z00_1850);
														}
													else
														{	/* Ast/let.scm 129 */
															obj_t BgL_newtail1417z00_1856;

															{	/* Ast/let.scm 129 */
																BgL_localz00_bglt BgL_arg1830z00_1858;

																{	/* Ast/let.scm 129 */
																	obj_t BgL_bindingz00_1859;

																	BgL_bindingz00_1859 =
																		CAR(((obj_t) BgL_l1413z00_1852));
																	{	/* Ast/let.scm 130 */
																		obj_t BgL_varzd2idzd2_1860;

																		{	/* Ast/let.scm 130 */
																			obj_t BgL_arg1832z00_1864;

																			BgL_arg1832z00_1864 =
																				CAR(((obj_t) BgL_bindingz00_1859));
																			BgL_varzd2idzd2_1860 =
																				BGl_parsezd2idzd2zzast_identz00
																				(BgL_arg1832z00_1864, BgL_nlocz00_1802);
																		}
																		{	/* Ast/let.scm 130 */
																			obj_t BgL_idz00_1861;

																			BgL_idz00_1861 =
																				CAR(BgL_varzd2idzd2_1860);
																			{	/* Ast/let.scm 131 */
																				obj_t BgL_typez00_1862;

																				BgL_typez00_1862 =
																					CDR(BgL_varzd2idzd2_1860);
																				{	/* Ast/let.scm 132 */

																					if (BGl_userzd2symbolzf3z21zzast_identz00(BgL_idz00_1861))
																						{	/* Ast/let.scm 133 */
																							BgL_arg1830z00_1858 =
																								BGl_makezd2userzd2localzd2svarzd2zzast_localz00
																								(BgL_idz00_1861,
																								((BgL_typez00_bglt)
																									BgL_typez00_1862));
																						}
																					else
																						{	/* Ast/let.scm 133 */
																							BgL_arg1830z00_1858 =
																								BGl_makezd2localzd2svarz00zzast_localz00
																								(BgL_idz00_1861,
																								((BgL_typez00_bglt)
																									BgL_typez00_1862));
																						}
																				}
																			}
																		}
																	}
																}
																BgL_newtail1417z00_1856 =
																	MAKE_YOUNG_PAIR(
																	((obj_t) BgL_arg1830z00_1858), BNIL);
															}
															SET_CDR(BgL_tail1416z00_1853,
																BgL_newtail1417z00_1856);
															{	/* Ast/let.scm 129 */
																obj_t BgL_arg1829z00_1857;

																BgL_arg1829z00_1857 =
																	CDR(((obj_t) BgL_l1413z00_1852));
																{
																	obj_t BgL_tail1416z00_8251;
																	obj_t BgL_l1413z00_8250;

																	BgL_l1413z00_8250 = BgL_arg1829z00_1857;
																	BgL_tail1416z00_8251 =
																		BgL_newtail1417z00_1856;
																	BgL_tail1416z00_1853 = BgL_tail1416z00_8251;
																	BgL_l1413z00_1852 = BgL_l1413z00_8250;
																	goto BgL_zc3z04anonymousza31827ze3z87_1854;
																}
															}
														}
												}
											}
										{	/* Ast/let.scm 129 */
											obj_t BgL_newzd2stackzd2_1804;

											BgL_newzd2stackzd2_1804 =
												BGl_appendzd221011zd2zzast_letz00(BgL_framez00_1803,
												BgL_stackz00_23);
											{	/* Ast/let.scm 137 */

												{	/* Ast/let.scm 144 */
													BgL_nodez00_bglt BgL_bodyz00_1805;

													BgL_bodyz00_1805 =
														BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_bodyz00_1800,
														BgL_newzd2stackzd2_1804, BgL_nlocz00_1802,
														CNST_TABLE_REF(1L));
													{	/* Ast/let.scm 144 */
														obj_t BgL_bstackz00_1806;

														{	/* Ast/let.scm 145 */
															bool_t BgL_test3818z00_8255;

															if (
																(CAR(
																		((obj_t) BgL_expz00_22)) ==
																	CNST_TABLE_REF(0L)))
																{	/* Ast/let.scm 145 */
																	BgL_test3818z00_8255 = ((bool_t) 1);
																}
															else
																{	/* Ast/let.scm 145 */
																	obj_t BgL_arg1824z00_1846;

																	BgL_arg1824z00_1846 =
																		CAR(((obj_t) BgL_expz00_22));
																	BgL_test3818z00_8255 =
																		(BgL_arg1824z00_1846 ==
																		BGl_za2letza2z00zzast_letz00);
																}
															if (BgL_test3818z00_8255)
																{	/* Ast/let.scm 145 */
																	BgL_bstackz00_1806 = BgL_stackz00_23;
																}
															else
																{	/* Ast/let.scm 145 */
																	BgL_bstackz00_1806 = BgL_newzd2stackzd2_1804;
																}
														}
														{	/* Ast/let.scm 145 */
															obj_t BgL_bindingsz00_1807;

															if (NULLP(BgL_bindingsz00_1796))
																{	/* Ast/let.scm 148 */
																	BgL_bindingsz00_1807 = BNIL;
																}
															else
																{	/* Ast/let.scm 148 */
																	obj_t BgL_head1420z00_1822;

																	BgL_head1420z00_1822 =
																		MAKE_YOUNG_PAIR(BNIL, BNIL);
																	{
																		obj_t BgL_ll1418z00_1824;
																		obj_t BgL_ll1419z00_1825;
																		obj_t BgL_tail1421z00_1826;

																		BgL_ll1418z00_1824 = BgL_bindingsz00_1796;
																		BgL_ll1419z00_1825 = BgL_framez00_1803;
																		BgL_tail1421z00_1826 = BgL_head1420z00_1822;
																	BgL_zc3z04anonymousza31770ze3z87_1827:
																		if (NULLP(BgL_ll1418z00_1824))
																			{	/* Ast/let.scm 148 */
																				BgL_bindingsz00_1807 =
																					CDR(BgL_head1420z00_1822);
																			}
																		else
																			{	/* Ast/let.scm 148 */
																				obj_t BgL_newtail1422z00_1829;

																				{	/* Ast/let.scm 148 */
																					obj_t BgL_arg1793z00_1832;

																					{	/* Ast/let.scm 148 */
																						obj_t BgL_bindingz00_1833;
																						obj_t BgL_varz00_1834;

																						BgL_bindingz00_1833 =
																							CAR(((obj_t) BgL_ll1418z00_1824));
																						BgL_varz00_1834 =
																							CAR(((obj_t) BgL_ll1419z00_1825));
																						{	/* Ast/let.scm 151 */
																							BgL_nodez00_bglt
																								BgL_arg1794z00_1835;
																							{	/* Ast/let.scm 151 */
																								obj_t BgL_arg1798z00_1836;
																								obj_t BgL_arg1799z00_1837;

																								{	/* Ast/let.scm 151 */
																									obj_t BgL_arg1800z00_1838;

																									BgL_arg1800z00_1838 =
																										CDR(
																										((obj_t)
																											BgL_bindingz00_1833));
																									BgL_arg1798z00_1836 =
																										BGl_normaliza7ezd2prognz75zztools_prognz00
																										(BgL_arg1800z00_1838);
																								}
																								BgL_arg1799z00_1837 =
																									BGl_findzd2locationzf2locz20zztools_locationz00
																									(BgL_bindingz00_1833,
																									BgL_nlocz00_1802);
																								BgL_arg1794z00_1835 =
																									BGl_sexpzd2ze3nodez31zzast_sexpz00
																									(BgL_arg1798z00_1836,
																									BgL_bstackz00_1806,
																									BgL_arg1799z00_1837,
																									CNST_TABLE_REF(1L));
																							}
																							BgL_arg1793z00_1832 =
																								MAKE_YOUNG_PAIR(BgL_varz00_1834,
																								((obj_t) BgL_arg1794z00_1835));
																						}
																					}
																					BgL_newtail1422z00_1829 =
																						MAKE_YOUNG_PAIR(BgL_arg1793z00_1832,
																						BNIL);
																				}
																				SET_CDR(BgL_tail1421z00_1826,
																					BgL_newtail1422z00_1829);
																				{	/* Ast/let.scm 148 */
																					obj_t BgL_arg1773z00_1830;
																					obj_t BgL_arg1776z00_1831;

																					BgL_arg1773z00_1830 =
																						CDR(((obj_t) BgL_ll1418z00_1824));
																					BgL_arg1776z00_1831 =
																						CDR(((obj_t) BgL_ll1419z00_1825));
																					{
																						obj_t BgL_tail1421z00_8290;
																						obj_t BgL_ll1419z00_8289;
																						obj_t BgL_ll1418z00_8288;

																						BgL_ll1418z00_8288 =
																							BgL_arg1773z00_1830;
																						BgL_ll1419z00_8289 =
																							BgL_arg1776z00_1831;
																						BgL_tail1421z00_8290 =
																							BgL_newtail1422z00_1829;
																						BgL_tail1421z00_1826 =
																							BgL_tail1421z00_8290;
																						BgL_ll1419z00_1825 =
																							BgL_ll1419z00_8289;
																						BgL_ll1418z00_1824 =
																							BgL_ll1418z00_8288;
																						goto
																							BgL_zc3z04anonymousza31770ze3z87_1827;
																					}
																				}
																			}
																	}
																}
															{	/* Ast/let.scm 148 */
																obj_t BgL_locz00_1808;

																{	/* Ast/let.scm 157 */
																	obj_t BgL_locz00_1813;

																	{	/* Ast/let.scm 159 */
																		obj_t BgL_arg1759z00_1815;

																		if (PAIRP(BgL_bindingsz00_1807))
																			{
																				BgL_nodez00_bglt BgL_auxz00_8293;

																				{	/* Ast/let.scm 160 */
																					obj_t BgL_pairz00_4849;

																					BgL_pairz00_4849 =
																						CAR(BgL_bindingsz00_1807);
																					BgL_auxz00_8293 =
																						((BgL_nodez00_bglt)
																						CDR(BgL_pairz00_4849));
																				}
																				BgL_arg1759z00_1815 =
																					(((BgL_nodez00_bglt)
																						COBJECT(BgL_auxz00_8293))->
																					BgL_locz00);
																			}
																		else
																			{	/* Ast/let.scm 159 */
																				BgL_arg1759z00_1815 =
																					(((BgL_nodez00_bglt)
																						COBJECT(BgL_bodyz00_1805))->
																					BgL_locz00);
																			}
																		BgL_locz00_1813 =
																			BGl_findzd2locationzf2locz20zztools_locationz00
																			(BgL_expz00_22, BgL_arg1759z00_1815);
																	}
																	{	/* Ast/let.scm 162 */
																		bool_t BgL_test3823z00_8300;

																		if (STRUCTP(BgL_locz00_1813))
																			{	/* Ast/let.scm 162 */
																				BgL_test3823z00_8300 =
																					(STRUCT_KEY(BgL_locz00_1813) ==
																					CNST_TABLE_REF(2L));
																			}
																		else
																			{	/* Ast/let.scm 162 */
																				BgL_test3823z00_8300 = ((bool_t) 0);
																			}
																		if (BgL_test3823z00_8300)
																			{	/* Ast/let.scm 162 */
																				BgL_locz00_1808 = BgL_locz00_1813;
																			}
																		else
																			{	/* Ast/let.scm 162 */
																				BgL_locz00_1808 = BgL_olocz00_24;
																			}
																	}
																}
																{	/* Ast/let.scm 157 */
																	BgL_letzd2varzd2_bglt BgL_nodez00_1809;

																	{	/* Ast/let.scm 165 */
																		BgL_letzd2varzd2_bglt BgL_new1113z00_1810;

																		{	/* Ast/let.scm 166 */
																			BgL_letzd2varzd2_bglt BgL_new1112z00_1811;

																			BgL_new1112z00_1811 =
																				((BgL_letzd2varzd2_bglt)
																				BOBJECT(GC_MALLOC(sizeof(struct
																							BgL_letzd2varzd2_bgl))));
																			{	/* Ast/let.scm 166 */
																				long BgL_arg1753z00_1812;

																				BgL_arg1753z00_1812 =
																					BGL_CLASS_NUM
																					(BGl_letzd2varzd2zzast_nodez00);
																				BGL_OBJECT_CLASS_NUM_SET((
																						(BgL_objectz00_bglt)
																						BgL_new1112z00_1811),
																					BgL_arg1753z00_1812);
																			}
																			{	/* Ast/let.scm 166 */
																				BgL_objectz00_bglt BgL_tmpz00_8310;

																				BgL_tmpz00_8310 =
																					((BgL_objectz00_bglt)
																					BgL_new1112z00_1811);
																				BGL_OBJECT_WIDENING_SET(BgL_tmpz00_8310,
																					BFALSE);
																			}
																			((BgL_objectz00_bglt)
																				BgL_new1112z00_1811);
																			BgL_new1113z00_1810 = BgL_new1112z00_1811;
																		}
																		((((BgL_nodez00_bglt) COBJECT(
																						((BgL_nodez00_bglt)
																							BgL_new1113z00_1810)))->
																				BgL_locz00) =
																			((obj_t) BgL_locz00_1808), BUNSPEC);
																		((((BgL_nodez00_bglt)
																					COBJECT(((BgL_nodez00_bglt)
																							BgL_new1113z00_1810)))->
																				BgL_typez00) =
																			((BgL_typez00_bglt) ((BgL_typez00_bglt)
																					BGl_za2_za2z00zztype_cachez00)),
																			BUNSPEC);
																		((((BgL_nodezf2effectzf2_bglt)
																					COBJECT(((BgL_nodezf2effectzf2_bglt)
																							BgL_new1113z00_1810)))->
																				BgL_sidezd2effectzd2) =
																			((obj_t) BUNSPEC), BUNSPEC);
																		((((BgL_nodezf2effectzf2_bglt)
																					COBJECT(((BgL_nodezf2effectzf2_bglt)
																							BgL_new1113z00_1810)))->
																				BgL_keyz00) =
																			((obj_t) BINT(-1L)), BUNSPEC);
																		((((BgL_letzd2varzd2_bglt)
																					COBJECT(BgL_new1113z00_1810))->
																				BgL_bindingsz00) =
																			((obj_t) BgL_bindingsz00_1807), BUNSPEC);
																		((((BgL_letzd2varzd2_bglt)
																					COBJECT(BgL_new1113z00_1810))->
																				BgL_bodyz00) =
																			((BgL_nodez00_bglt) BgL_bodyz00_1805),
																			BUNSPEC);
																		((((BgL_letzd2varzd2_bglt)
																					COBJECT(BgL_new1113z00_1810))->
																				BgL_removablezf3zf3) =
																			((bool_t) ((bool_t) 1)), BUNSPEC);
																		BgL_nodez00_1809 = BgL_new1113z00_1810;
																	}
																	{	/* Ast/let.scm 165 */

																		BGl_occurzd2nodez12zc0zzast_occurz00(
																			((BgL_nodez00_bglt) BgL_nodez00_1809));
																		BGl_nodezd2removez12zc0zzast_removez00(
																			((BgL_nodez00_bglt) BgL_nodez00_1809));
																		return BgL_nodez00_1809;
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* make-smart-generic-let */
	BgL_nodezf2effectzf2_bglt
		BGl_makezd2smartzd2genericzd2letzd2zzast_letz00(obj_t
		BgL_letzf2letreczf2_26, BgL_letzd2varzd2_bglt BgL_nodezd2letzd2_27,
		obj_t BgL_sitez00_28)
	{
		{	/* Ast/let.scm 186 */
			{	/* Ast/let.scm 189 */
				obj_t BgL_g1114z00_1875;

				BgL_g1114z00_1875 =
					(((BgL_letzd2varzd2_bglt) COBJECT(BgL_nodezd2letzd2_27))->
					BgL_bindingsz00);
				{
					obj_t BgL_bindingsz00_1879;
					obj_t BgL_funz00_1880;
					obj_t BgL_valuez00_1881;

					BgL_bindingsz00_1879 = BgL_g1114z00_1875;
					BgL_funz00_1880 = BNIL;
					BgL_valuez00_1881 = BNIL;
				BgL_zc3z04anonymousza31842ze3z87_1882:
					if (NULLP(BgL_bindingsz00_1879))
						{	/* Ast/let.scm 192 */
							if (NULLP(BgL_funz00_1880))
								{	/* Ast/let.scm 200 */
									obj_t BgL_varsz00_1885;

									{	/* Ast/let.scm 200 */
										obj_t BgL_l1424z00_1886;

										BgL_l1424z00_1886 =
											(((BgL_letzd2varzd2_bglt) COBJECT(BgL_nodezd2letzd2_27))->
											BgL_bindingsz00);
										if (NULLP(BgL_l1424z00_1886))
											{	/* Ast/let.scm 200 */
												BgL_varsz00_1885 = BNIL;
											}
										else
											{	/* Ast/let.scm 200 */
												obj_t BgL_head1426z00_1888;

												{	/* Ast/let.scm 200 */
													obj_t BgL_arg1852z00_1900;

													{	/* Ast/let.scm 200 */
														obj_t BgL_pairz00_4863;

														BgL_pairz00_4863 = CAR(((obj_t) BgL_l1424z00_1886));
														BgL_arg1852z00_1900 = CAR(BgL_pairz00_4863);
													}
													BgL_head1426z00_1888 =
														MAKE_YOUNG_PAIR(BgL_arg1852z00_1900, BNIL);
												}
												{	/* Ast/let.scm 200 */
													obj_t BgL_g1429z00_1889;

													BgL_g1429z00_1889 = CDR(((obj_t) BgL_l1424z00_1886));
													{
														obj_t BgL_l1424z00_1891;
														obj_t BgL_tail1427z00_1892;

														BgL_l1424z00_1891 = BgL_g1429z00_1889;
														BgL_tail1427z00_1892 = BgL_head1426z00_1888;
													BgL_zc3z04anonymousza31846ze3z87_1893:
														if (NULLP(BgL_l1424z00_1891))
															{	/* Ast/let.scm 200 */
																BgL_varsz00_1885 = BgL_head1426z00_1888;
															}
														else
															{	/* Ast/let.scm 200 */
																obj_t BgL_newtail1428z00_1895;

																{	/* Ast/let.scm 200 */
																	obj_t BgL_arg1850z00_1897;

																	{	/* Ast/let.scm 200 */
																		obj_t BgL_pairz00_4866;

																		BgL_pairz00_4866 =
																			CAR(((obj_t) BgL_l1424z00_1891));
																		BgL_arg1850z00_1897 = CAR(BgL_pairz00_4866);
																	}
																	BgL_newtail1428z00_1895 =
																		MAKE_YOUNG_PAIR(BgL_arg1850z00_1897, BNIL);
																}
																SET_CDR(BgL_tail1427z00_1892,
																	BgL_newtail1428z00_1895);
																{	/* Ast/let.scm 200 */
																	obj_t BgL_arg1848z00_1896;

																	BgL_arg1848z00_1896 =
																		CDR(((obj_t) BgL_l1424z00_1891));
																	{
																		obj_t BgL_tail1427z00_8355;
																		obj_t BgL_l1424z00_8354;

																		BgL_l1424z00_8354 = BgL_arg1848z00_1896;
																		BgL_tail1427z00_8355 =
																			BgL_newtail1428z00_1895;
																		BgL_tail1427z00_1892 = BgL_tail1427z00_8355;
																		BgL_l1424z00_1891 = BgL_l1424z00_8354;
																		goto BgL_zc3z04anonymousza31846ze3z87_1893;
																	}
																}
															}
													}
												}
											}
									}
									return
										((BgL_nodezf2effectzf2_bglt)
										BGl_letzd2orzd2letrecz00zzast_letz00(BgL_letzf2letreczf2_26,
											BgL_nodezd2letzd2_27, BgL_varsz00_1885));
								}
							else
								{	/* Ast/let.scm 199 */
									if (NULLP(BgL_valuez00_1881))
										{	/* Ast/let.scm 203 */
											BgL_nodez00_bglt BgL_arg1855z00_1903;

											BgL_arg1855z00_1903 =
												(((BgL_letzd2varzd2_bglt)
													COBJECT(BgL_nodezd2letzd2_27))->BgL_bodyz00);
											return ((BgL_nodezf2effectzf2_bglt)
												BGl_letzd2ze3labelsz31zzast_letz00(BgL_funz00_1880,
													BgL_arg1855z00_1903, BgL_sitez00_28));
										}
									else
										{	/* Ast/let.scm 205 */
											obj_t BgL_varsz00_1904;

											{	/* Ast/let.scm 205 */
												obj_t BgL_l1430z00_1911;

												BgL_l1430z00_1911 =
													(((BgL_letzd2varzd2_bglt)
														COBJECT(BgL_nodezd2letzd2_27))->BgL_bindingsz00);
												if (NULLP(BgL_l1430z00_1911))
													{	/* Ast/let.scm 205 */
														BgL_varsz00_1904 = BNIL;
													}
												else
													{	/* Ast/let.scm 205 */
														obj_t BgL_head1432z00_1913;

														{	/* Ast/let.scm 205 */
															obj_t BgL_arg1868z00_1925;

															{	/* Ast/let.scm 205 */
																obj_t BgL_pairz00_4872;

																BgL_pairz00_4872 =
																	CAR(((obj_t) BgL_l1430z00_1911));
																BgL_arg1868z00_1925 = CAR(BgL_pairz00_4872);
															}
															BgL_head1432z00_1913 =
																MAKE_YOUNG_PAIR(BgL_arg1868z00_1925, BNIL);
														}
														{	/* Ast/let.scm 205 */
															obj_t BgL_g1435z00_1914;

															BgL_g1435z00_1914 =
																CDR(((obj_t) BgL_l1430z00_1911));
															{
																obj_t BgL_l1430z00_1916;
																obj_t BgL_tail1433z00_1917;

																BgL_l1430z00_1916 = BgL_g1435z00_1914;
																BgL_tail1433z00_1917 = BgL_head1432z00_1913;
															BgL_zc3z04anonymousza31862ze3z87_1918:
																if (NULLP(BgL_l1430z00_1916))
																	{	/* Ast/let.scm 205 */
																		BgL_varsz00_1904 = BgL_head1432z00_1913;
																	}
																else
																	{	/* Ast/let.scm 205 */
																		obj_t BgL_newtail1434z00_1920;

																		{	/* Ast/let.scm 205 */
																			obj_t BgL_arg1866z00_1922;

																			{	/* Ast/let.scm 205 */
																				obj_t BgL_pairz00_4875;

																				BgL_pairz00_4875 =
																					CAR(((obj_t) BgL_l1430z00_1916));
																				BgL_arg1866z00_1922 =
																					CAR(BgL_pairz00_4875);
																			}
																			BgL_newtail1434z00_1920 =
																				MAKE_YOUNG_PAIR(BgL_arg1866z00_1922,
																				BNIL);
																		}
																		SET_CDR(BgL_tail1433z00_1917,
																			BgL_newtail1434z00_1920);
																		{	/* Ast/let.scm 205 */
																			obj_t BgL_arg1864z00_1921;

																			BgL_arg1864z00_1921 =
																				CDR(((obj_t) BgL_l1430z00_1916));
																			{
																				obj_t BgL_tail1433z00_8382;
																				obj_t BgL_l1430z00_8381;

																				BgL_l1430z00_8381 = BgL_arg1864z00_1921;
																				BgL_tail1433z00_8382 =
																					BgL_newtail1434z00_1920;
																				BgL_tail1433z00_1917 =
																					BgL_tail1433z00_8382;
																				BgL_l1430z00_1916 = BgL_l1430z00_8381;
																				goto
																					BgL_zc3z04anonymousza31862ze3z87_1918;
																			}
																		}
																	}
															}
														}
													}
											}
											((((BgL_letzd2varzd2_bglt)
														COBJECT(BgL_nodezd2letzd2_27))->BgL_bindingsz00) =
												((obj_t) bgl_reverse_bang(BgL_valuez00_1881)), BUNSPEC);
											{	/* Ast/let.scm 210 */
												BgL_letzd2varzd2_bglt BgL_nletz00_1906;

												BgL_nletz00_1906 =
													BGl_letzd2orzd2letrecz00zzast_letz00
													(BgL_letzf2letreczf2_26, BgL_nodezd2letzd2_27,
													BgL_varsz00_1904);
												{	/* Ast/let.scm 210 */
													BgL_letzd2funzd2_bglt BgL_nbodyz00_1907;

													BgL_nbodyz00_1907 =
														BGl_letzd2ze3labelsz31zzast_letz00(BgL_funz00_1880,
														(((BgL_letzd2varzd2_bglt)
																COBJECT(BgL_nletz00_1906))->BgL_bodyz00),
														BgL_sitez00_28);
													{	/* Ast/let.scm 211 */

														((((BgL_letzd2varzd2_bglt)
																	COBJECT(BgL_nletz00_1906))->BgL_bodyz00) =
															((BgL_nodez00_bglt) ((BgL_nodez00_bglt)
																	BgL_nbodyz00_1907)), BUNSPEC);
														{
															BgL_typez00_bglt BgL_auxz00_8390;

															{	/* Ast/let.scm 214 */
																BgL_typez00_bglt BgL_arg1857z00_1909;

																BgL_arg1857z00_1909 =
																	(((BgL_nodez00_bglt) COBJECT(
																			((BgL_nodez00_bglt) BgL_nletz00_1906)))->
																	BgL_typez00);
																BgL_auxz00_8390 =
																	BGl_strictzd2nodezd2typez00zzast_nodez00((
																		(BgL_typez00_bglt)
																		BGl_za2_za2z00zztype_cachez00),
																	BgL_arg1857z00_1909);
															}
															((((BgL_nodez00_bglt) COBJECT(
																			((BgL_nodez00_bglt) BgL_nletz00_1906)))->
																	BgL_typez00) =
																((BgL_typez00_bglt) BgL_auxz00_8390), BUNSPEC);
														}
														return
															((BgL_nodezf2effectzf2_bglt) BgL_nletz00_1906);
													}
												}
											}
										}
								}
						}
					else
						{	/* Ast/let.scm 216 */
							obj_t BgL_bindingz00_1927;

							BgL_bindingz00_1927 = CAR(((obj_t) BgL_bindingsz00_1879));
							{	/* Ast/let.scm 216 */
								obj_t BgL_varz00_1928;

								BgL_varz00_1928 = CAR(((obj_t) BgL_bindingz00_1927));
								{	/* Ast/let.scm 217 */
									obj_t BgL_sexpz00_1929;

									BgL_sexpz00_1929 = CDR(((obj_t) BgL_bindingz00_1927));
									{	/* Ast/let.scm 218 */

										{	/* Ast/let.scm 219 */
											bool_t BgL_test3832z00_8404;

											{	/* Ast/let.scm 219 */
												obj_t BgL_classz00_4883;

												BgL_classz00_4883 = BGl_letzd2funzd2zzast_nodez00;
												if (BGL_OBJECTP(BgL_sexpz00_1929))
													{	/* Ast/let.scm 219 */
														BgL_objectz00_bglt BgL_arg1801z00_4885;

														BgL_arg1801z00_4885 =
															(BgL_objectz00_bglt) (BgL_sexpz00_1929);
														if (BGL_CONDEXPAND_ISA_ARCH64())
															{	/* Ast/let.scm 219 */
																long BgL_idxz00_4891;

																BgL_idxz00_4891 =
																	BGL_OBJECT_INHERITANCE_NUM
																	(BgL_arg1801z00_4885);
																BgL_test3832z00_8404 =
																	(VECTOR_REF
																	(BGl_za2inheritancesza2z00zz__objectz00,
																		(BgL_idxz00_4891 + 3L)) ==
																	BgL_classz00_4883);
															}
														else
															{	/* Ast/let.scm 219 */
																bool_t BgL_res3699z00_4913;

																{	/* Ast/let.scm 219 */
																	obj_t BgL_oclassz00_4899;

																	{	/* Ast/let.scm 219 */
																		long BgL_arg1808z00_4905;

																		{	/* Ast/let.scm 219 */
																			long BgL_arg1809z00_4906;

																			BgL_arg1809z00_4906 =
																				BGL_OBJECT_CLASS_NUM
																				(BgL_arg1801z00_4885);
																			BgL_arg1808z00_4905 =
																				(BgL_arg1809z00_4906 - OBJECT_TYPE);
																		}
																		BgL_oclassz00_4899 =
																			VECTOR_REF
																			(BGl_za2classesza2z00zz__objectz00,
																			BgL_arg1808z00_4905);
																	}
																	{	/* Ast/let.scm 219 */
																		bool_t BgL__ortest_1115z00_4900;

																		BgL__ortest_1115z00_4900 =
																			(BgL_classz00_4883 == BgL_oclassz00_4899);
																		if (BgL__ortest_1115z00_4900)
																			{	/* Ast/let.scm 219 */
																				BgL_res3699z00_4913 =
																					BgL__ortest_1115z00_4900;
																			}
																		else
																			{	/* Ast/let.scm 219 */
																				long BgL_odepthz00_4901;

																				BgL_odepthz00_4901 =
																					BGL_CLASS_DEPTH(BgL_oclassz00_4899);
																				if ((3L < BgL_odepthz00_4901))
																					{	/* Ast/let.scm 219 */
																						obj_t BgL_arg1797z00_4903;

																						BgL_arg1797z00_4903 =
																							BGL_CLASS_ANCESTORS_REF
																							(BgL_oclassz00_4899, 3L);
																						BgL_res3699z00_4913 =
																							(BgL_arg1797z00_4903 ==
																							BgL_classz00_4883);
																					}
																				else
																					{	/* Ast/let.scm 219 */
																						BgL_res3699z00_4913 = ((bool_t) 0);
																					}
																			}
																	}
																}
																BgL_test3832z00_8404 = BgL_res3699z00_4913;
															}
													}
												else
													{	/* Ast/let.scm 219 */
														BgL_test3832z00_8404 = ((bool_t) 0);
													}
											}
											if (BgL_test3832z00_8404)
												{	/* Ast/let.scm 220 */
													obj_t BgL_localsz00_1931;

													BgL_localsz00_1931 =
														(((BgL_letzd2funzd2_bglt) COBJECT(
																((BgL_letzd2funzd2_bglt) BgL_sexpz00_1929)))->
														BgL_localsz00);
													{	/* Ast/let.scm 220 */
														BgL_nodez00_bglt BgL_bodyz00_1932;

														BgL_bodyz00_1932 =
															(((BgL_letzd2funzd2_bglt) COBJECT(
																	((BgL_letzd2funzd2_bglt) BgL_sexpz00_1929)))->
															BgL_bodyz00);
														{	/* Ast/let.scm 221 */

															{	/* Ast/let.scm 222 */
																bool_t BgL_test3837z00_8428;

																if (NULLP(BgL_localsz00_1931))
																	{	/* Ast/let.scm 222 */
																		BgL_test3837z00_8428 = ((bool_t) 1);
																	}
																else
																	{	/* Ast/let.scm 222 */
																		if (NULLP(CDR(
																					((obj_t) BgL_localsz00_1931))))
																			{	/* Ast/let.scm 222 */
																				BgL_test3837z00_8428 = ((bool_t) 0);
																			}
																		else
																			{	/* Ast/let.scm 222 */
																				BgL_test3837z00_8428 = ((bool_t) 1);
																			}
																	}
																if (BgL_test3837z00_8428)
																	{	/* Ast/let.scm 226 */
																		obj_t BgL_arg1877z00_1938;
																		obj_t BgL_arg1879z00_1939;

																		BgL_arg1877z00_1938 =
																			CDR(((obj_t) BgL_bindingsz00_1879));
																		{	/* Ast/let.scm 228 */
																			obj_t BgL_arg1880z00_1940;

																			BgL_arg1880z00_1940 =
																				CAR(((obj_t) BgL_bindingsz00_1879));
																			BgL_arg1879z00_1939 =
																				MAKE_YOUNG_PAIR(BgL_arg1880z00_1940,
																				BgL_valuez00_1881);
																		}
																		{
																			obj_t BgL_valuez00_8441;
																			obj_t BgL_bindingsz00_8440;

																			BgL_bindingsz00_8440 =
																				BgL_arg1877z00_1938;
																			BgL_valuez00_8441 = BgL_arg1879z00_1939;
																			BgL_valuez00_1881 = BgL_valuez00_8441;
																			BgL_bindingsz00_1879 =
																				BgL_bindingsz00_8440;
																			goto
																				BgL_zc3z04anonymousza31842ze3z87_1882;
																		}
																	}
																else
																	{	/* Ast/let.scm 229 */
																		bool_t BgL_test3840z00_8442;

																		{	/* Ast/let.scm 229 */
																			obj_t BgL_classz00_4919;

																			BgL_classz00_4919 =
																				BGl_varz00zzast_nodez00;
																			{	/* Ast/let.scm 229 */
																				BgL_objectz00_bglt BgL_arg1801z00_4921;

																				{	/* Ast/let.scm 229 */
																					obj_t BgL_tmpz00_8443;

																					BgL_tmpz00_8443 =
																						((obj_t)
																						((BgL_objectz00_bglt)
																							BgL_bodyz00_1932));
																					BgL_arg1801z00_4921 =
																						(BgL_objectz00_bglt)
																						(BgL_tmpz00_8443);
																				}
																				if (BGL_CONDEXPAND_ISA_ARCH64())
																					{	/* Ast/let.scm 229 */
																						long BgL_idxz00_4927;

																						BgL_idxz00_4927 =
																							BGL_OBJECT_INHERITANCE_NUM
																							(BgL_arg1801z00_4921);
																						BgL_test3840z00_8442 =
																							(VECTOR_REF
																							(BGl_za2inheritancesza2z00zz__objectz00,
																								(BgL_idxz00_4927 + 2L)) ==
																							BgL_classz00_4919);
																					}
																				else
																					{	/* Ast/let.scm 229 */
																						bool_t BgL_res3700z00_4949;

																						{	/* Ast/let.scm 229 */
																							obj_t BgL_oclassz00_4935;

																							{	/* Ast/let.scm 229 */
																								long BgL_arg1808z00_4941;

																								{	/* Ast/let.scm 229 */
																									long BgL_arg1809z00_4942;

																									BgL_arg1809z00_4942 =
																										BGL_OBJECT_CLASS_NUM
																										(BgL_arg1801z00_4921);
																									BgL_arg1808z00_4941 =
																										(BgL_arg1809z00_4942 -
																										OBJECT_TYPE);
																								}
																								BgL_oclassz00_4935 =
																									VECTOR_REF
																									(BGl_za2classesza2z00zz__objectz00,
																									BgL_arg1808z00_4941);
																							}
																							{	/* Ast/let.scm 229 */
																								bool_t BgL__ortest_1115z00_4936;

																								BgL__ortest_1115z00_4936 =
																									(BgL_classz00_4919 ==
																									BgL_oclassz00_4935);
																								if (BgL__ortest_1115z00_4936)
																									{	/* Ast/let.scm 229 */
																										BgL_res3700z00_4949 =
																											BgL__ortest_1115z00_4936;
																									}
																								else
																									{	/* Ast/let.scm 229 */
																										long BgL_odepthz00_4937;

																										BgL_odepthz00_4937 =
																											BGL_CLASS_DEPTH
																											(BgL_oclassz00_4935);
																										if ((2L <
																												BgL_odepthz00_4937))
																											{	/* Ast/let.scm 229 */
																												obj_t
																													BgL_arg1797z00_4939;
																												BgL_arg1797z00_4939 =
																													BGL_CLASS_ANCESTORS_REF
																													(BgL_oclassz00_4935,
																													2L);
																												BgL_res3700z00_4949 =
																													(BgL_arg1797z00_4939
																													== BgL_classz00_4919);
																											}
																										else
																											{	/* Ast/let.scm 229 */
																												BgL_res3700z00_4949 =
																													((bool_t) 0);
																											}
																									}
																							}
																						}
																						BgL_test3840z00_8442 =
																							BgL_res3700z00_4949;
																					}
																			}
																		}
																		if (BgL_test3840z00_8442)
																			{	/* Ast/let.scm 230 */
																				BgL_variablez00_bglt BgL_resz00_1942;
																				obj_t BgL_auxz00_1943;

																				BgL_resz00_1942 =
																					(((BgL_varz00_bglt) COBJECT(
																							((BgL_varz00_bglt)
																								BgL_bodyz00_1932)))->
																					BgL_variablez00);
																				BgL_auxz00_1943 =
																					CAR(((obj_t) BgL_localsz00_1931));
																				{	/* Ast/let.scm 232 */
																					bool_t BgL_test3844z00_8467;

																					if (
																						(((obj_t) BgL_resz00_1942) ==
																							BgL_auxz00_1943))
																						{	/* Ast/let.scm 232 */
																							if (
																								((((BgL_variablez00_bglt)
																											COBJECT((
																													(BgL_variablez00_bglt)
																													((BgL_localz00_bglt)
																														BgL_varz00_1928))))->
																										BgL_accessz00) ==
																									CNST_TABLE_REF(3L)))
																								{	/* Ast/let.scm 236 */
																									BgL_test3844z00_8467 =
																										((bool_t) 1);
																								}
																							else
																								{	/* Ast/let.scm 237 */
																									bool_t BgL_test3847z00_8477;

																									{	/* Ast/let.scm 238 */
																										bool_t BgL_test3848z00_8478;

																										{	/* Ast/let.scm 238 */
																											BgL_typez00_bglt
																												BgL_arg1911z00_1973;
																											BgL_arg1911z00_1973 =
																												(((BgL_variablez00_bglt)
																													COBJECT((
																															(BgL_variablez00_bglt)
																															((BgL_localz00_bglt) BgL_varz00_1928))))->BgL_typez00);
																											BgL_test3848z00_8478 =
																												(((obj_t)
																													BgL_arg1911z00_1973)
																												==
																												BGl_za2procedureza2z00zztype_cachez00);
																										}
																										if (BgL_test3848z00_8478)
																											{	/* Ast/let.scm 238 */
																												BgL_test3847z00_8477 =
																													((bool_t) 1);
																											}
																										else
																											{	/* Ast/let.scm 239 */
																												bool_t
																													BgL_test3849z00_8484;
																												{	/* Ast/let.scm 239 */
																													BgL_typez00_bglt
																														BgL_arg1909z00_1972;
																													BgL_arg1909z00_1972 =
																														(((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt) BgL_varz00_1928))))->BgL_typez00);
																													BgL_test3849z00_8484 =
																														(((obj_t)
																															BgL_arg1909z00_1972)
																														==
																														BGl_za2_za2z00zztype_cachez00);
																												}
																												if (BgL_test3849z00_8484)
																													{	/* Ast/let.scm 239 */
																														BgL_test3847z00_8477
																															= ((bool_t) 1);
																													}
																												else
																													{	/* Ast/let.scm 240 */
																														BgL_typez00_bglt
																															BgL_arg1908z00_1971;
																														BgL_arg1908z00_1971
																															=
																															(((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt) BgL_varz00_1928))))->BgL_typez00);
																														BgL_test3847z00_8477
																															=
																															(((obj_t)
																																BgL_arg1908z00_1971)
																															==
																															BGl_za2objza2z00zztype_cachez00);
																													}
																											}
																									}
																									if (BgL_test3847z00_8477)
																										{	/* Ast/let.scm 237 */
																											BgL_test3844z00_8467 =
																												((bool_t) 0);
																										}
																									else
																										{	/* Ast/let.scm 237 */
																											BgL_test3844z00_8467 =
																												((bool_t) 1);
																										}
																								}
																						}
																					else
																						{	/* Ast/let.scm 232 */
																							BgL_test3844z00_8467 =
																								((bool_t) 1);
																						}
																					if (BgL_test3844z00_8467)
																						{	/* Ast/let.scm 242 */
																							obj_t BgL_arg1897z00_1961;
																							obj_t BgL_arg1898z00_1962;

																							BgL_arg1897z00_1961 =
																								CDR(
																								((obj_t) BgL_bindingsz00_1879));
																							{	/* Ast/let.scm 244 */
																								obj_t BgL_arg1899z00_1963;

																								BgL_arg1899z00_1963 =
																									CAR(
																									((obj_t)
																										BgL_bindingsz00_1879));
																								BgL_arg1898z00_1962 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1899z00_1963,
																									BgL_valuez00_1881);
																							}
																							{
																								obj_t BgL_valuez00_8501;
																								obj_t BgL_bindingsz00_8500;

																								BgL_bindingsz00_8500 =
																									BgL_arg1897z00_1961;
																								BgL_valuez00_8501 =
																									BgL_arg1898z00_1962;
																								BgL_valuez00_1881 =
																									BgL_valuez00_8501;
																								BgL_bindingsz00_1879 =
																									BgL_bindingsz00_8500;
																								goto
																									BgL_zc3z04anonymousza31842ze3z87_1882;
																							}
																						}
																					else
																						{	/* Ast/let.scm 246 */
																							obj_t BgL_arg1900z00_1964;
																							obj_t BgL_arg1901z00_1965;

																							BgL_arg1900z00_1964 =
																								CDR(
																								((obj_t) BgL_bindingsz00_1879));
																							{	/* Ast/let.scm 247 */
																								obj_t BgL_arg1905z00_1966;

																								BgL_arg1905z00_1966 =
																									CAR(
																									((obj_t)
																										BgL_bindingsz00_1879));
																								BgL_arg1901z00_1965 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1905z00_1966,
																									BgL_funz00_1880);
																							}
																							{
																								obj_t BgL_funz00_8508;
																								obj_t BgL_bindingsz00_8507;

																								BgL_bindingsz00_8507 =
																									BgL_arg1900z00_1964;
																								BgL_funz00_8508 =
																									BgL_arg1901z00_1965;
																								BgL_funz00_1880 =
																									BgL_funz00_8508;
																								BgL_bindingsz00_1879 =
																									BgL_bindingsz00_8507;
																								goto
																									BgL_zc3z04anonymousza31842ze3z87_1882;
																							}
																						}
																				}
																			}
																		else
																			{	/* Ast/let.scm 249 */
																				obj_t BgL_arg1915z00_1975;
																				obj_t BgL_arg1916z00_1976;

																				BgL_arg1915z00_1975 =
																					CDR(((obj_t) BgL_bindingsz00_1879));
																				{	/* Ast/let.scm 251 */
																					obj_t BgL_arg1917z00_1977;

																					BgL_arg1917z00_1977 =
																						CAR(((obj_t) BgL_bindingsz00_1879));
																					BgL_arg1916z00_1976 =
																						MAKE_YOUNG_PAIR(BgL_arg1917z00_1977,
																						BgL_valuez00_1881);
																				}
																				{
																					obj_t BgL_valuez00_8515;
																					obj_t BgL_bindingsz00_8514;

																					BgL_bindingsz00_8514 =
																						BgL_arg1915z00_1975;
																					BgL_valuez00_8515 =
																						BgL_arg1916z00_1976;
																					BgL_valuez00_1881 = BgL_valuez00_8515;
																					BgL_bindingsz00_1879 =
																						BgL_bindingsz00_8514;
																					goto
																						BgL_zc3z04anonymousza31842ze3z87_1882;
																				}
																			}
																	}
															}
														}
													}
												}
											else
												{	/* Ast/let.scm 252 */
													obj_t BgL_arg1920z00_1981;
													obj_t BgL_arg1921z00_1982;

													BgL_arg1920z00_1981 =
														CDR(((obj_t) BgL_bindingsz00_1879));
													{	/* Ast/let.scm 254 */
														obj_t BgL_arg1922z00_1983;

														BgL_arg1922z00_1983 =
															CAR(((obj_t) BgL_bindingsz00_1879));
														BgL_arg1921z00_1982 =
															MAKE_YOUNG_PAIR(BgL_arg1922z00_1983,
															BgL_valuez00_1881);
													}
													{
														obj_t BgL_valuez00_8522;
														obj_t BgL_bindingsz00_8521;

														BgL_bindingsz00_8521 = BgL_arg1920z00_1981;
														BgL_valuez00_8522 = BgL_arg1921z00_1982;
														BgL_valuez00_1881 = BgL_valuez00_8522;
														BgL_bindingsz00_1879 = BgL_bindingsz00_8521;
														goto BgL_zc3z04anonymousza31842ze3z87_1882;
													}
												}
										}
									}
								}
							}
						}
				}
			}
		}

	}



/* let-or-letrec */
	BgL_letzd2varzd2_bglt BGl_letzd2orzd2letrecz00zzast_letz00(obj_t
		BgL_letzf2letreczf2_29, BgL_letzd2varzd2_bglt BgL_nodezd2letzd2_30,
		obj_t BgL_varsz00_31)
	{
		{	/* Ast/let.scm 266 */
			{
				BgL_letzd2varzd2_bglt BgL_nodez00_2234;

				{	/* Ast/let.scm 375 */
					bool_t BgL_test3850z00_8523;

					if ((BgL_letzf2letreczf2_29 == CNST_TABLE_REF(0L)))
						{	/* Ast/let.scm 375 */
							BgL_test3850z00_8523 = ((bool_t) 1);
						}
					else
						{	/* Ast/let.scm 375 */
							BgL_test3850z00_8523 =
								(BgL_letzf2letreczf2_29 == BGl_za2letza2z00zzast_letz00);
						}
					if (BgL_test3850z00_8523)
						{	/* Ast/let.scm 375 */
							return BgL_nodezd2letzd2_30;
						}
					else
						{	/* Ast/let.scm 377 */
							bool_t BgL_test3852z00_8528;

							BgL_nodez00_2234 = BgL_nodezd2letzd2_30;
							{	/* Ast/let.scm 359 */
								obj_t BgL_g1461z00_2237;

								BgL_g1461z00_2237 =
									(((BgL_letzd2varzd2_bglt) COBJECT(BgL_nodez00_2234))->
									BgL_bindingsz00);
								{
									obj_t BgL_l1459z00_2239;

									BgL_l1459z00_2239 = BgL_g1461z00_2237;
								BgL_zc3z04anonymousza32041ze3z87_2240:
									if (NULLP(BgL_l1459z00_2239))
										{	/* Ast/let.scm 359 */
											BgL_test3852z00_8528 = ((bool_t) 1);
										}
									else
										{	/* Ast/let.scm 359 */
											bool_t BgL_test3854z00_8532;

											{	/* Ast/let.scm 359 */
												obj_t BgL_bz00_2245;

												BgL_bz00_2245 = CAR(((obj_t) BgL_l1459z00_2239));
												{	/* Ast/let.scm 359 */
													obj_t BgL_arg2044z00_2246;

													BgL_arg2044z00_2246 = CDR(((obj_t) BgL_bz00_2245));
													BgL_test3854z00_8532 =
														BGl_safezd2reczd2valzf3ze70z14zzast_letz00
														(BgL_arg2044z00_2246);
												}
											}
											if (BgL_test3854z00_8532)
												{	/* Ast/let.scm 359 */
													obj_t BgL_arg2043z00_2244;

													BgL_arg2043z00_2244 =
														CDR(((obj_t) BgL_l1459z00_2239));
													{
														obj_t BgL_l1459z00_8540;

														BgL_l1459z00_8540 = BgL_arg2043z00_2244;
														BgL_l1459z00_2239 = BgL_l1459z00_8540;
														goto BgL_zc3z04anonymousza32041ze3z87_2240;
													}
												}
											else
												{	/* Ast/let.scm 359 */
													BgL_test3852z00_8528 = ((bool_t) 0);
												}
										}
								}
							}
							if (BgL_test3852z00_8528)
								{	/* Ast/let.scm 377 */
									return BgL_nodezd2letzd2_30;
								}
							else
								{	/* Ast/let.scm 379 */
									bool_t BgL_test3855z00_8541;

									if (((long) CINT(BGl_za2optimza2z00zzengine_paramz00) >= 1L))
										{	/* Ast/let.scm 379 */
											if (CBOOL(BGl_za2callzf2cczf3za2z01zzengine_paramz00))
												{	/* Ast/let.scm 379 */
													BgL_test3855z00_8541 = ((bool_t) 0);
												}
											else
												{	/* Ast/let.scm 379 */
													BgL_test3855z00_8541 =
														BGl_safezd2letzd2optimzf3ze70z14zzast_letz00
														(BgL_varsz00_31, BgL_nodezd2letzd2_30);
												}
										}
									else
										{	/* Ast/let.scm 379 */
											BgL_test3855z00_8541 = ((bool_t) 0);
										}
									if (BgL_test3855z00_8541)
										{	/* Ast/let.scm 379 */
											return BgL_nodezd2letzd2_30;
										}
									else
										{	/* Ast/let.scm 379 */
											if ((BgL_letzf2letreczf2_29 == CNST_TABLE_REF(4L)))
												{	/* Ast/let.scm 382 */
													obj_t BgL_bindingsz00_1993;

													BgL_bindingsz00_1993 =
														(((BgL_letzd2varzd2_bglt)
															COBJECT(BgL_nodezd2letzd2_30))->BgL_bindingsz00);
													{	/* Ast/let.scm 382 */
														BgL_nodez00_bglt BgL_bodyz00_1994;

														BgL_bodyz00_1994 =
															(((BgL_letzd2varzd2_bglt)
																COBJECT(BgL_nodezd2letzd2_30))->BgL_bodyz00);
														{	/* Ast/let.scm 383 */
															BgL_nodez00_bglt BgL_seqz00_1995;

															{	/* Ast/let.scm 384 */
																bool_t BgL_test3859z00_8553;

																{	/* Ast/let.scm 384 */
																	obj_t BgL_classz00_5681;

																	BgL_classz00_5681 =
																		BGl_sequencez00zzast_nodez00;
																	{	/* Ast/let.scm 384 */
																		BgL_objectz00_bglt BgL_arg1801z00_5683;

																		{	/* Ast/let.scm 384 */
																			obj_t BgL_tmpz00_8554;

																			BgL_tmpz00_8554 =
																				((obj_t)
																				((BgL_objectz00_bglt)
																					BgL_bodyz00_1994));
																			BgL_arg1801z00_5683 =
																				(BgL_objectz00_bglt) (BgL_tmpz00_8554);
																		}
																		if (BGL_CONDEXPAND_ISA_ARCH64())
																			{	/* Ast/let.scm 384 */
																				long BgL_idxz00_5689;

																				BgL_idxz00_5689 =
																					BGL_OBJECT_INHERITANCE_NUM
																					(BgL_arg1801z00_5683);
																				BgL_test3859z00_8553 =
																					(VECTOR_REF
																					(BGl_za2inheritancesza2z00zz__objectz00,
																						(BgL_idxz00_5689 + 3L)) ==
																					BgL_classz00_5681);
																			}
																		else
																			{	/* Ast/let.scm 384 */
																				bool_t BgL_res3723z00_5711;

																				{	/* Ast/let.scm 384 */
																					obj_t BgL_oclassz00_5697;

																					{	/* Ast/let.scm 384 */
																						long BgL_arg1808z00_5703;

																						{	/* Ast/let.scm 384 */
																							long BgL_arg1809z00_5704;

																							BgL_arg1809z00_5704 =
																								BGL_OBJECT_CLASS_NUM
																								(BgL_arg1801z00_5683);
																							BgL_arg1808z00_5703 =
																								(BgL_arg1809z00_5704 -
																								OBJECT_TYPE);
																						}
																						BgL_oclassz00_5697 =
																							VECTOR_REF
																							(BGl_za2classesza2z00zz__objectz00,
																							BgL_arg1808z00_5703);
																					}
																					{	/* Ast/let.scm 384 */
																						bool_t BgL__ortest_1115z00_5698;

																						BgL__ortest_1115z00_5698 =
																							(BgL_classz00_5681 ==
																							BgL_oclassz00_5697);
																						if (BgL__ortest_1115z00_5698)
																							{	/* Ast/let.scm 384 */
																								BgL_res3723z00_5711 =
																									BgL__ortest_1115z00_5698;
																							}
																						else
																							{	/* Ast/let.scm 384 */
																								long BgL_odepthz00_5699;

																								BgL_odepthz00_5699 =
																									BGL_CLASS_DEPTH
																									(BgL_oclassz00_5697);
																								if ((3L < BgL_odepthz00_5699))
																									{	/* Ast/let.scm 384 */
																										obj_t BgL_arg1797z00_5701;

																										BgL_arg1797z00_5701 =
																											BGL_CLASS_ANCESTORS_REF
																											(BgL_oclassz00_5697, 3L);
																										BgL_res3723z00_5711 =
																											(BgL_arg1797z00_5701 ==
																											BgL_classz00_5681);
																									}
																								else
																									{	/* Ast/let.scm 384 */
																										BgL_res3723z00_5711 =
																											((bool_t) 0);
																									}
																							}
																					}
																				}
																				BgL_test3859z00_8553 =
																					BgL_res3723z00_5711;
																			}
																	}
																}
																if (BgL_test3859z00_8553)
																	{	/* Ast/let.scm 384 */
																		BgL_seqz00_1995 = BgL_bodyz00_1994;
																	}
																else
																	{	/* Ast/let.scm 386 */
																		BgL_sequencez00_bglt BgL_new1156z00_2024;

																		{	/* Ast/let.scm 387 */
																			BgL_sequencez00_bglt BgL_new1155z00_2026;

																			BgL_new1155z00_2026 =
																				((BgL_sequencez00_bglt)
																				BOBJECT(GC_MALLOC(sizeof(struct
																							BgL_sequencez00_bgl))));
																			{	/* Ast/let.scm 387 */
																				long BgL_arg1941z00_2027;

																				BgL_arg1941z00_2027 =
																					BGL_CLASS_NUM
																					(BGl_sequencez00zzast_nodez00);
																				BGL_OBJECT_CLASS_NUM_SET((
																						(BgL_objectz00_bglt)
																						BgL_new1155z00_2026),
																					BgL_arg1941z00_2027);
																			}
																			{	/* Ast/let.scm 387 */
																				BgL_objectz00_bglt BgL_tmpz00_8578;

																				BgL_tmpz00_8578 =
																					((BgL_objectz00_bglt)
																					BgL_new1155z00_2026);
																				BGL_OBJECT_WIDENING_SET(BgL_tmpz00_8578,
																					BFALSE);
																			}
																			((BgL_objectz00_bglt)
																				BgL_new1155z00_2026);
																			BgL_new1156z00_2024 = BgL_new1155z00_2026;
																		}
																		((((BgL_nodez00_bglt) COBJECT(
																						((BgL_nodez00_bglt)
																							BgL_new1156z00_2024)))->
																				BgL_locz00) =
																			((obj_t) (((BgL_nodez00_bglt)
																						COBJECT(BgL_bodyz00_1994))->
																					BgL_locz00)), BUNSPEC);
																		((((BgL_nodez00_bglt)
																					COBJECT(((BgL_nodez00_bglt)
																							BgL_new1156z00_2024)))->
																				BgL_typez00) =
																			((BgL_typez00_bglt) ((BgL_typez00_bglt)
																					BGl_za2_za2z00zztype_cachez00)),
																			BUNSPEC);
																		((((BgL_nodezf2effectzf2_bglt)
																					COBJECT(((BgL_nodezf2effectzf2_bglt)
																							BgL_new1156z00_2024)))->
																				BgL_sidezd2effectzd2) =
																			((obj_t) BUNSPEC), BUNSPEC);
																		((((BgL_nodezf2effectzf2_bglt)
																					COBJECT(((BgL_nodezf2effectzf2_bglt)
																							BgL_new1156z00_2024)))->
																				BgL_keyz00) =
																			((obj_t) BINT(-1L)), BUNSPEC);
																		{
																			obj_t BgL_auxz00_8593;

																			{	/* Ast/let.scm 389 */
																				obj_t BgL_list1940z00_2025;

																				BgL_list1940z00_2025 =
																					MAKE_YOUNG_PAIR(
																					((obj_t) BgL_bodyz00_1994), BNIL);
																				BgL_auxz00_8593 = BgL_list1940z00_2025;
																			}
																			((((BgL_sequencez00_bglt)
																						COBJECT(BgL_new1156z00_2024))->
																					BgL_nodesz00) =
																				((obj_t) BgL_auxz00_8593), BUNSPEC);
																		}
																		((((BgL_sequencez00_bglt)
																					COBJECT(BgL_new1156z00_2024))->
																				BgL_unsafez00) =
																			((bool_t) ((bool_t) 0)), BUNSPEC);
																		((((BgL_sequencez00_bglt)
																					COBJECT(BgL_new1156z00_2024))->
																				BgL_metaz00) = ((obj_t) BNIL), BUNSPEC);
																		BgL_seqz00_1995 =
																			((BgL_nodez00_bglt) BgL_new1156z00_2024);
															}}
															{	/* Ast/let.scm 384 */

																((((BgL_letzd2varzd2_bglt)
																			COBJECT(BgL_nodezd2letzd2_30))->
																		BgL_bodyz00) =
																	((BgL_nodez00_bglt) BgL_seqz00_1995),
																	BUNSPEC);
																{
																	obj_t BgL_bindingsz00_1998;
																	obj_t BgL_nsequencez00_1999;

																	BgL_bindingsz00_1998 = BgL_bindingsz00_1993;
																	BgL_nsequencez00_1999 = BNIL;
																BgL_zc3z04anonymousza31927ze3z87_2000:
																	if (NULLP(BgL_bindingsz00_1998))
																		{	/* Ast/let.scm 393 */
																			{	/* Ast/let.scm 397 */
																				BgL_sequencez00_bglt
																					BgL_arg1929z00_2002;
																				{	/* Ast/let.scm 397 */
																					BgL_sequencez00_bglt
																						BgL_new1161z00_2003;
																					{	/* Ast/let.scm 398 */
																						BgL_sequencez00_bglt
																							BgL_new1160z00_2006;
																						BgL_new1160z00_2006 =
																							((BgL_sequencez00_bglt)
																							BOBJECT(GC_MALLOC(sizeof(struct
																										BgL_sequencez00_bgl))));
																						{	/* Ast/let.scm 398 */
																							long BgL_arg1933z00_2007;

																							BgL_arg1933z00_2007 =
																								BGL_CLASS_NUM
																								(BGl_sequencez00zzast_nodez00);
																							BGL_OBJECT_CLASS_NUM_SET((
																									(BgL_objectz00_bglt)
																									BgL_new1160z00_2006),
																								BgL_arg1933z00_2007);
																						}
																						{	/* Ast/let.scm 398 */
																							BgL_objectz00_bglt
																								BgL_tmpz00_8607;
																							BgL_tmpz00_8607 =
																								((BgL_objectz00_bglt)
																								BgL_new1160z00_2006);
																							BGL_OBJECT_WIDENING_SET
																								(BgL_tmpz00_8607, BFALSE);
																						}
																						((BgL_objectz00_bglt)
																							BgL_new1160z00_2006);
																						BgL_new1161z00_2003 =
																							BgL_new1160z00_2006;
																					}
																					((((BgL_nodez00_bglt) COBJECT(
																									((BgL_nodez00_bglt)
																										BgL_new1161z00_2003)))->
																							BgL_locz00) =
																						((obj_t) (((BgL_nodez00_bglt)
																									COBJECT(BgL_seqz00_1995))->
																								BgL_locz00)), BUNSPEC);
																					((((BgL_nodez00_bglt)
																								COBJECT(((BgL_nodez00_bglt)
																										BgL_new1161z00_2003)))->
																							BgL_typez00) =
																						((BgL_typez00_bglt) (
																								(BgL_typez00_bglt)
																								BGl_za2_za2z00zztype_cachez00)),
																						BUNSPEC);
																					((((BgL_nodezf2effectzf2_bglt)
																								COBJECT((
																										(BgL_nodezf2effectzf2_bglt)
																										BgL_new1161z00_2003)))->
																							BgL_sidezd2effectzd2) =
																						((obj_t) BUNSPEC), BUNSPEC);
																					((((BgL_nodezf2effectzf2_bglt)
																								COBJECT((
																										(BgL_nodezf2effectzf2_bglt)
																										BgL_new1161z00_2003)))->
																							BgL_keyz00) =
																						((obj_t) BINT(-1L)), BUNSPEC);
																					{
																						obj_t BgL_auxz00_8622;

																						{	/* Ast/let.scm 400 */
																							obj_t BgL_arg1930z00_2004;
																							obj_t BgL_arg1931z00_2005;

																							BgL_arg1930z00_2004 =
																								bgl_reverse_bang
																								(BgL_nsequencez00_1999);
																							BgL_arg1931z00_2005 =
																								(((BgL_sequencez00_bglt)
																									COBJECT((
																											(BgL_sequencez00_bglt)
																											BgL_seqz00_1995)))->
																								BgL_nodesz00);
																							BgL_auxz00_8622 =
																								BGl_appendzd221011zd2zzast_letz00
																								(BgL_arg1930z00_2004,
																								BgL_arg1931z00_2005);
																						}
																						((((BgL_sequencez00_bglt)
																									COBJECT
																									(BgL_new1161z00_2003))->
																								BgL_nodesz00) =
																							((obj_t) BgL_auxz00_8622),
																							BUNSPEC);
																					}
																					((((BgL_sequencez00_bglt)
																								COBJECT(BgL_new1161z00_2003))->
																							BgL_unsafez00) =
																						((bool_t) ((bool_t) 0)), BUNSPEC);
																					((((BgL_sequencez00_bglt)
																								COBJECT(BgL_new1161z00_2003))->
																							BgL_metaz00) =
																						((obj_t) BNIL), BUNSPEC);
																					BgL_arg1929z00_2002 =
																						BgL_new1161z00_2003;
																				}
																				((((BgL_letzd2varzd2_bglt)
																							COBJECT(BgL_nodezd2letzd2_30))->
																						BgL_bodyz00) =
																					((BgL_nodez00_bglt) (
																							(BgL_nodez00_bglt)
																							BgL_arg1929z00_2002)), BUNSPEC);
																			}
																			return BgL_nodezd2letzd2_30;
																		}
																	else
																		{	/* Ast/let.scm 403 */
																			obj_t BgL_bindingz00_2008;

																			BgL_bindingz00_2008 =
																				CAR(((obj_t) BgL_bindingsz00_1998));
																			{	/* Ast/let.scm 403 */
																				obj_t BgL_varz00_2009;

																				BgL_varz00_2009 =
																					CAR(((obj_t) BgL_bindingz00_2008));
																				{	/* Ast/let.scm 404 */
																					obj_t BgL_valz00_2010;

																					BgL_valz00_2010 =
																						CDR(((obj_t) BgL_bindingz00_2008));
																					{	/* Ast/let.scm 405 */
																						obj_t BgL_locz00_2011;

																						BgL_locz00_2011 =
																							(((BgL_nodez00_bglt) COBJECT(
																									((BgL_nodez00_bglt)
																										BgL_valz00_2010)))->
																							BgL_locz00);
																						{	/* Ast/let.scm 406 */

																							{	/* Ast/let.scm 407 */
																								BgL_setqz00_bglt
																									BgL_initz00_2012;
																								{	/* Ast/let.scm 407 */
																									BgL_setqz00_bglt
																										BgL_new1163z00_2016;
																									{	/* Ast/let.scm 408 */
																										BgL_setqz00_bglt
																											BgL_new1162z00_2020;
																										BgL_new1162z00_2020 =
																											((BgL_setqz00_bglt)
																											BOBJECT(GC_MALLOC(sizeof
																													(struct
																														BgL_setqz00_bgl))));
																										{	/* Ast/let.scm 408 */
																											long BgL_arg1938z00_2021;

																											BgL_arg1938z00_2021 =
																												BGL_CLASS_NUM
																												(BGl_setqz00zzast_nodez00);
																											BGL_OBJECT_CLASS_NUM_SET((
																													(BgL_objectz00_bglt)
																													BgL_new1162z00_2020),
																												BgL_arg1938z00_2021);
																										}
																										{	/* Ast/let.scm 408 */
																											BgL_objectz00_bglt
																												BgL_tmpz00_8644;
																											BgL_tmpz00_8644 =
																												((BgL_objectz00_bglt)
																												BgL_new1162z00_2020);
																											BGL_OBJECT_WIDENING_SET
																												(BgL_tmpz00_8644,
																												BFALSE);
																										}
																										((BgL_objectz00_bglt)
																											BgL_new1162z00_2020);
																										BgL_new1163z00_2016 =
																											BgL_new1162z00_2020;
																									}
																									((((BgL_nodez00_bglt) COBJECT(
																													((BgL_nodez00_bglt)
																														BgL_new1163z00_2016)))->
																											BgL_locz00) =
																										((obj_t) BgL_locz00_2011),
																										BUNSPEC);
																									((((BgL_nodez00_bglt)
																												COBJECT((
																														(BgL_nodez00_bglt)
																														BgL_new1163z00_2016)))->
																											BgL_typez00) =
																										((BgL_typez00_bglt) (
																												(BgL_typez00_bglt)
																												BGl_za2unspecza2z00zztype_cachez00)),
																										BUNSPEC);
																									{
																										BgL_varz00_bglt
																											BgL_auxz00_8653;
																										{	/* Ast/let.scm 410 */
																											BgL_refz00_bglt
																												BgL_new1165z00_2017;
																											{	/* Ast/let.scm 412 */
																												BgL_refz00_bglt
																													BgL_new1164z00_2018;
																												BgL_new1164z00_2018 =
																													((BgL_refz00_bglt)
																													BOBJECT(GC_MALLOC
																														(sizeof(struct
																																BgL_refz00_bgl))));
																												{	/* Ast/let.scm 412 */
																													long
																														BgL_arg1937z00_2019;
																													{	/* Ast/let.scm 412 */
																														obj_t
																															BgL_classz00_5736;
																														BgL_classz00_5736 =
																															BGl_refz00zzast_nodez00;
																														BgL_arg1937z00_2019
																															=
																															BGL_CLASS_NUM
																															(BgL_classz00_5736);
																													}
																													BGL_OBJECT_CLASS_NUM_SET
																														(((BgL_objectz00_bglt) BgL_new1164z00_2018), BgL_arg1937z00_2019);
																												}
																												{	/* Ast/let.scm 412 */
																													BgL_objectz00_bglt
																														BgL_tmpz00_8658;
																													BgL_tmpz00_8658 =
																														(
																														(BgL_objectz00_bglt)
																														BgL_new1164z00_2018);
																													BGL_OBJECT_WIDENING_SET
																														(BgL_tmpz00_8658,
																														BFALSE);
																												}
																												((BgL_objectz00_bglt)
																													BgL_new1164z00_2018);
																												BgL_new1165z00_2017 =
																													BgL_new1164z00_2018;
																											}
																											((((BgL_nodez00_bglt)
																														COBJECT((
																																(BgL_nodez00_bglt)
																																BgL_new1165z00_2017)))->
																													BgL_locz00) =
																												((obj_t)
																													BgL_locz00_2011),
																												BUNSPEC);
																											((((BgL_nodez00_bglt)
																														COBJECT((
																																(BgL_nodez00_bglt)
																																BgL_new1165z00_2017)))->
																													BgL_typez00) =
																												((BgL_typez00_bglt) (
																														(BgL_typez00_bglt)
																														BGl_za2_za2z00zztype_cachez00)),
																												BUNSPEC);
																											((((BgL_varz00_bglt)
																														COBJECT((
																																(BgL_varz00_bglt)
																																BgL_new1165z00_2017)))->
																													BgL_variablez00) =
																												((BgL_variablez00_bglt)
																													((BgL_variablez00_bglt) BgL_varz00_2009)), BUNSPEC);
																											BgL_auxz00_8653 =
																												((BgL_varz00_bglt)
																												BgL_new1165z00_2017);
																										}
																										((((BgL_setqz00_bglt)
																													COBJECT
																													(BgL_new1163z00_2016))->
																												BgL_varz00) =
																											((BgL_varz00_bglt)
																												BgL_auxz00_8653),
																											BUNSPEC);
																									}
																									((((BgL_setqz00_bglt)
																												COBJECT
																												(BgL_new1163z00_2016))->
																											BgL_valuez00) =
																										((BgL_nodez00_bglt) (
																												(BgL_nodez00_bglt)
																												BgL_valz00_2010)),
																										BUNSPEC);
																									BgL_initz00_2012 =
																										BgL_new1163z00_2016;
																								}
																								BGl_usezd2variablez12zc0zzast_sexpz00
																									(((BgL_variablez00_bglt)
																										BgL_varz00_2009),
																									BgL_locz00_2011,
																									CNST_TABLE_REF(5L));
																								{	/* Ast/let.scm 417 */
																									BgL_nodez00_bglt
																										BgL_arg1934z00_2013;
																									BgL_arg1934z00_2013 =
																										BGl_sexpzd2ze3nodez31zzast_sexpz00
																										(BUNSPEC, BNIL,
																										BgL_locz00_2011,
																										CNST_TABLE_REF(1L));
																									{	/* Ast/let.scm 416 */
																										obj_t BgL_auxz00_8681;
																										obj_t BgL_tmpz00_8679;

																										BgL_auxz00_8681 =
																											((obj_t)
																											BgL_arg1934z00_2013);
																										BgL_tmpz00_8679 =
																											((obj_t)
																											BgL_bindingz00_2008);
																										SET_CDR(BgL_tmpz00_8679,
																											BgL_auxz00_8681);
																								}}
																								{	/* Ast/let.scm 418 */
																									obj_t BgL_arg1935z00_2014;
																									obj_t BgL_arg1936z00_2015;

																									BgL_arg1935z00_2014 =
																										CDR(
																										((obj_t)
																											BgL_bindingsz00_1998));
																									BgL_arg1936z00_2015 =
																										MAKE_YOUNG_PAIR(((obj_t)
																											BgL_initz00_2012),
																										BgL_nsequencez00_1999);
																									{
																										obj_t BgL_nsequencez00_8689;
																										obj_t BgL_bindingsz00_8688;

																										BgL_bindingsz00_8688 =
																											BgL_arg1935z00_2014;
																										BgL_nsequencez00_8689 =
																											BgL_arg1936z00_2015;
																										BgL_nsequencez00_1999 =
																											BgL_nsequencez00_8689;
																										BgL_bindingsz00_1998 =
																											BgL_bindingsz00_8688;
																										goto
																											BgL_zc3z04anonymousza31927ze3z87_2000;
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																}
															}
														}
													}
												}
											else
												{	/* Ast/let.scm 421 */
													obj_t BgL_bindingsz00_2028;

													BgL_bindingsz00_2028 =
														(((BgL_letzd2varzd2_bglt)
															COBJECT(BgL_nodezd2letzd2_30))->BgL_bindingsz00);
													{	/* Ast/let.scm 421 */
														BgL_nodez00_bglt BgL_bodyz00_2029;

														BgL_bodyz00_2029 =
															(((BgL_letzd2varzd2_bglt)
																COBJECT(BgL_nodezd2letzd2_30))->BgL_bodyz00);
														{	/* Ast/let.scm 422 */
															BgL_nodez00_bglt BgL_seqz00_2030;

															{	/* Ast/let.scm 423 */
																bool_t BgL_test3864z00_8692;

																{	/* Ast/let.scm 423 */
																	obj_t BgL_classz00_5744;

																	BgL_classz00_5744 =
																		BGl_sequencez00zzast_nodez00;
																	{	/* Ast/let.scm 423 */
																		BgL_objectz00_bglt BgL_arg1801z00_5746;

																		{	/* Ast/let.scm 423 */
																			obj_t BgL_tmpz00_8693;

																			BgL_tmpz00_8693 =
																				((obj_t)
																				((BgL_objectz00_bglt)
																					BgL_bodyz00_2029));
																			BgL_arg1801z00_5746 =
																				(BgL_objectz00_bglt) (BgL_tmpz00_8693);
																		}
																		if (BGL_CONDEXPAND_ISA_ARCH64())
																			{	/* Ast/let.scm 423 */
																				long BgL_idxz00_5752;

																				BgL_idxz00_5752 =
																					BGL_OBJECT_INHERITANCE_NUM
																					(BgL_arg1801z00_5746);
																				BgL_test3864z00_8692 =
																					(VECTOR_REF
																					(BGl_za2inheritancesza2z00zz__objectz00,
																						(BgL_idxz00_5752 + 3L)) ==
																					BgL_classz00_5744);
																			}
																		else
																			{	/* Ast/let.scm 423 */
																				bool_t BgL_res3725z00_5774;

																				{	/* Ast/let.scm 423 */
																					obj_t BgL_oclassz00_5760;

																					{	/* Ast/let.scm 423 */
																						long BgL_arg1808z00_5766;

																						{	/* Ast/let.scm 423 */
																							long BgL_arg1809z00_5767;

																							BgL_arg1809z00_5767 =
																								BGL_OBJECT_CLASS_NUM
																								(BgL_arg1801z00_5746);
																							BgL_arg1808z00_5766 =
																								(BgL_arg1809z00_5767 -
																								OBJECT_TYPE);
																						}
																						BgL_oclassz00_5760 =
																							VECTOR_REF
																							(BGl_za2classesza2z00zz__objectz00,
																							BgL_arg1808z00_5766);
																					}
																					{	/* Ast/let.scm 423 */
																						bool_t BgL__ortest_1115z00_5761;

																						BgL__ortest_1115z00_5761 =
																							(BgL_classz00_5744 ==
																							BgL_oclassz00_5760);
																						if (BgL__ortest_1115z00_5761)
																							{	/* Ast/let.scm 423 */
																								BgL_res3725z00_5774 =
																									BgL__ortest_1115z00_5761;
																							}
																						else
																							{	/* Ast/let.scm 423 */
																								long BgL_odepthz00_5762;

																								BgL_odepthz00_5762 =
																									BGL_CLASS_DEPTH
																									(BgL_oclassz00_5760);
																								if ((3L < BgL_odepthz00_5762))
																									{	/* Ast/let.scm 423 */
																										obj_t BgL_arg1797z00_5764;

																										BgL_arg1797z00_5764 =
																											BGL_CLASS_ANCESTORS_REF
																											(BgL_oclassz00_5760, 3L);
																										BgL_res3725z00_5774 =
																											(BgL_arg1797z00_5764 ==
																											BgL_classz00_5744);
																									}
																								else
																									{	/* Ast/let.scm 423 */
																										BgL_res3725z00_5774 =
																											((bool_t) 0);
																									}
																							}
																					}
																				}
																				BgL_test3864z00_8692 =
																					BgL_res3725z00_5774;
																			}
																	}
																}
																if (BgL_test3864z00_8692)
																	{	/* Ast/let.scm 423 */
																		BgL_seqz00_2030 = BgL_bodyz00_2029;
																	}
																else
																	{	/* Ast/let.scm 425 */
																		BgL_sequencez00_bglt BgL_new1167z00_2076;

																		{	/* Ast/let.scm 426 */
																			BgL_sequencez00_bglt BgL_new1166z00_2078;

																			BgL_new1166z00_2078 =
																				((BgL_sequencez00_bglt)
																				BOBJECT(GC_MALLOC(sizeof(struct
																							BgL_sequencez00_bgl))));
																			{	/* Ast/let.scm 426 */
																				long BgL_arg1961z00_2079;

																				BgL_arg1961z00_2079 =
																					BGL_CLASS_NUM
																					(BGl_sequencez00zzast_nodez00);
																				BGL_OBJECT_CLASS_NUM_SET((
																						(BgL_objectz00_bglt)
																						BgL_new1166z00_2078),
																					BgL_arg1961z00_2079);
																			}
																			{	/* Ast/let.scm 426 */
																				BgL_objectz00_bglt BgL_tmpz00_8717;

																				BgL_tmpz00_8717 =
																					((BgL_objectz00_bglt)
																					BgL_new1166z00_2078);
																				BGL_OBJECT_WIDENING_SET(BgL_tmpz00_8717,
																					BFALSE);
																			}
																			((BgL_objectz00_bglt)
																				BgL_new1166z00_2078);
																			BgL_new1167z00_2076 = BgL_new1166z00_2078;
																		}
																		((((BgL_nodez00_bglt) COBJECT(
																						((BgL_nodez00_bglt)
																							BgL_new1167z00_2076)))->
																				BgL_locz00) =
																			((obj_t) (((BgL_nodez00_bglt)
																						COBJECT(BgL_bodyz00_2029))->
																					BgL_locz00)), BUNSPEC);
																		((((BgL_nodez00_bglt)
																					COBJECT(((BgL_nodez00_bglt)
																							BgL_new1167z00_2076)))->
																				BgL_typez00) =
																			((BgL_typez00_bglt) ((BgL_typez00_bglt)
																					BGl_za2_za2z00zztype_cachez00)),
																			BUNSPEC);
																		((((BgL_nodezf2effectzf2_bglt)
																					COBJECT(((BgL_nodezf2effectzf2_bglt)
																							BgL_new1167z00_2076)))->
																				BgL_sidezd2effectzd2) =
																			((obj_t) BUNSPEC), BUNSPEC);
																		((((BgL_nodezf2effectzf2_bglt)
																					COBJECT(((BgL_nodezf2effectzf2_bglt)
																							BgL_new1167z00_2076)))->
																				BgL_keyz00) =
																			((obj_t) BINT(-1L)), BUNSPEC);
																		{
																			obj_t BgL_auxz00_8732;

																			{	/* Ast/let.scm 428 */
																				obj_t BgL_list1960z00_2077;

																				BgL_list1960z00_2077 =
																					MAKE_YOUNG_PAIR(
																					((obj_t) BgL_bodyz00_2029), BNIL);
																				BgL_auxz00_8732 = BgL_list1960z00_2077;
																			}
																			((((BgL_sequencez00_bglt)
																						COBJECT(BgL_new1167z00_2076))->
																					BgL_nodesz00) =
																				((obj_t) BgL_auxz00_8732), BUNSPEC);
																		}
																		((((BgL_sequencez00_bglt)
																					COBJECT(BgL_new1167z00_2076))->
																				BgL_unsafez00) =
																			((bool_t) ((bool_t) 0)), BUNSPEC);
																		((((BgL_sequencez00_bglt)
																					COBJECT(BgL_new1167z00_2076))->
																				BgL_metaz00) = ((obj_t) BNIL), BUNSPEC);
																		BgL_seqz00_2030 =
																			((BgL_nodez00_bglt) BgL_new1167z00_2076);
															}}
															{	/* Ast/let.scm 423 */

																((((BgL_letzd2varzd2_bglt)
																			COBJECT(BgL_nodezd2letzd2_30))->
																		BgL_bodyz00) =
																	((BgL_nodez00_bglt) BgL_seqz00_2030),
																	BUNSPEC);
																{	/* Ast/let.scm 430 */
																	obj_t BgL_g1169z00_2032;

																	BgL_g1169z00_2032 =
																		(((BgL_sequencez00_bglt) COBJECT(
																				((BgL_sequencez00_bglt)
																					BgL_seqz00_2030)))->BgL_nodesz00);
																	{
																		obj_t BgL_bindingsz00_2034;
																		obj_t BgL_nbindingsz00_2035;
																		obj_t BgL_nsequencez00_2036;

																		BgL_bindingsz00_2034 = BgL_bindingsz00_2028;
																		BgL_nbindingsz00_2035 = BNIL;
																		BgL_nsequencez00_2036 = BgL_g1169z00_2032;
																	BgL_zc3z04anonymousza31942ze3z87_2037:
																		if (NULLP(BgL_bindingsz00_2034))
																			{	/* Ast/let.scm 434 */
																				obj_t BgL_typz00_2039;

																				if (NULLP(BgL_nsequencez00_2036))
																					{	/* Ast/let.scm 434 */
																						BgL_typz00_2039 =
																							BGl_za2unspecza2z00zztype_cachez00;
																					}
																				else
																					{	/* Ast/let.scm 434 */
																						BgL_typz00_2039 =
																							((obj_t)
																							(((BgL_nodez00_bglt) COBJECT(
																										((BgL_nodez00_bglt)
																											CAR
																											(BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00
																												(BgL_nsequencez00_2036)))))->
																								BgL_typez00));
																					}
																				{	/* Ast/let.scm 434 */
																					BgL_sequencez00_bglt BgL_seqz00_2040;

																					{	/* Ast/let.scm 437 */
																						BgL_sequencez00_bglt
																							BgL_new1171z00_2046;
																						{	/* Ast/let.scm 438 */
																							BgL_sequencez00_bglt
																								BgL_new1170z00_2047;
																							BgL_new1170z00_2047 =
																								((BgL_sequencez00_bglt)
																								BOBJECT(GC_MALLOC(sizeof(struct
																											BgL_sequencez00_bgl))));
																							{	/* Ast/let.scm 438 */
																								long BgL_arg1946z00_2048;

																								BgL_arg1946z00_2048 =
																									BGL_CLASS_NUM
																									(BGl_sequencez00zzast_nodez00);
																								BGL_OBJECT_CLASS_NUM_SET((
																										(BgL_objectz00_bglt)
																										BgL_new1170z00_2047),
																									BgL_arg1946z00_2048);
																							}
																							{	/* Ast/let.scm 438 */
																								BgL_objectz00_bglt
																									BgL_tmpz00_8755;
																								BgL_tmpz00_8755 =
																									((BgL_objectz00_bglt)
																									BgL_new1170z00_2047);
																								BGL_OBJECT_WIDENING_SET
																									(BgL_tmpz00_8755, BFALSE);
																							}
																							((BgL_objectz00_bglt)
																								BgL_new1170z00_2047);
																							BgL_new1171z00_2046 =
																								BgL_new1170z00_2047;
																						}
																						((((BgL_nodez00_bglt) COBJECT(
																										((BgL_nodez00_bglt)
																											BgL_new1171z00_2046)))->
																								BgL_locz00) =
																							((obj_t) (((BgL_nodez00_bglt)
																										COBJECT(BgL_seqz00_2030))->
																									BgL_locz00)), BUNSPEC);
																						((((BgL_nodez00_bglt)
																									COBJECT(((BgL_nodez00_bglt)
																											BgL_new1171z00_2046)))->
																								BgL_typez00) =
																							((BgL_typez00_bglt) (
																									(BgL_typez00_bglt)
																									BGl_za2_za2z00zztype_cachez00)),
																							BUNSPEC);
																						((((BgL_nodezf2effectzf2_bglt)
																									COBJECT((
																											(BgL_nodezf2effectzf2_bglt)
																											BgL_new1171z00_2046)))->
																								BgL_sidezd2effectzd2) =
																							((obj_t) BUNSPEC), BUNSPEC);
																						((((BgL_nodezf2effectzf2_bglt)
																									COBJECT((
																											(BgL_nodezf2effectzf2_bglt)
																											BgL_new1171z00_2046)))->
																								BgL_keyz00) =
																							((obj_t) BINT(-1L)), BUNSPEC);
																						((((BgL_sequencez00_bglt)
																									COBJECT
																									(BgL_new1171z00_2046))->
																								BgL_nodesz00) =
																							((obj_t) BgL_nsequencez00_2036),
																							BUNSPEC);
																						((((BgL_sequencez00_bglt)
																									COBJECT
																									(BgL_new1171z00_2046))->
																								BgL_unsafez00) =
																							((bool_t) ((bool_t) 0)), BUNSPEC);
																						((((BgL_sequencez00_bglt)
																									COBJECT
																									(BgL_new1171z00_2046))->
																								BgL_metaz00) =
																							((obj_t) BNIL), BUNSPEC);
																						BgL_seqz00_2040 =
																							BgL_new1171z00_2046;
																					}
																					{	/* Ast/let.scm 437 */
																						BgL_letzd2varzd2_bglt
																							BgL_letbz00_2041;
																						{	/* Ast/let.scm 441 */
																							BgL_letzd2varzd2_bglt
																								BgL_new1173z00_2042;
																							{	/* Ast/let.scm 442 */
																								BgL_letzd2varzd2_bglt
																									BgL_new1172z00_2044;
																								BgL_new1172z00_2044 =
																									((BgL_letzd2varzd2_bglt)
																									BOBJECT(GC_MALLOC(sizeof
																											(struct
																												BgL_letzd2varzd2_bgl))));
																								{	/* Ast/let.scm 442 */
																									long BgL_arg1945z00_2045;

																									BgL_arg1945z00_2045 =
																										BGL_CLASS_NUM
																										(BGl_letzd2varzd2zzast_nodez00);
																									BGL_OBJECT_CLASS_NUM_SET((
																											(BgL_objectz00_bglt)
																											BgL_new1172z00_2044),
																										BgL_arg1945z00_2045);
																								}
																								{	/* Ast/let.scm 442 */
																									BgL_objectz00_bglt
																										BgL_tmpz00_8777;
																									BgL_tmpz00_8777 =
																										((BgL_objectz00_bglt)
																										BgL_new1172z00_2044);
																									BGL_OBJECT_WIDENING_SET
																										(BgL_tmpz00_8777, BFALSE);
																								}
																								((BgL_objectz00_bglt)
																									BgL_new1172z00_2044);
																								BgL_new1173z00_2042 =
																									BgL_new1172z00_2044;
																							}
																							((((BgL_nodez00_bglt) COBJECT(
																											((BgL_nodez00_bglt)
																												BgL_new1173z00_2042)))->
																									BgL_locz00) =
																								((obj_t) (((BgL_nodez00_bglt)
																											COBJECT((
																													(BgL_nodez00_bglt)
																													BgL_nodezd2letzd2_30)))->
																										BgL_locz00)), BUNSPEC);
																							{
																								BgL_typez00_bglt
																									BgL_auxz00_8785;
																								{	/* Ast/let.scm 443 */
																									BgL_typez00_bglt
																										BgL_arg1944z00_2043;
																									BgL_arg1944z00_2043 =
																										(((BgL_nodez00_bglt)
																											COBJECT((
																													(BgL_nodez00_bglt)
																													BgL_nodezd2letzd2_30)))->
																										BgL_typez00);
																									BgL_auxz00_8785 =
																										BGl_strictzd2nodezd2typez00zzast_nodez00
																										(((BgL_typez00_bglt)
																											BGl_za2_za2z00zztype_cachez00),
																										BgL_arg1944z00_2043);
																								}
																								((((BgL_nodez00_bglt) COBJECT(
																												((BgL_nodez00_bglt)
																													BgL_new1173z00_2042)))->
																										BgL_typez00) =
																									((BgL_typez00_bglt)
																										BgL_auxz00_8785), BUNSPEC);
																							}
																							((((BgL_nodezf2effectzf2_bglt)
																										COBJECT((
																												(BgL_nodezf2effectzf2_bglt)
																												BgL_new1173z00_2042)))->
																									BgL_sidezd2effectzd2) =
																								((obj_t) BUNSPEC), BUNSPEC);
																							((((BgL_nodezf2effectzf2_bglt)
																										COBJECT((
																												(BgL_nodezf2effectzf2_bglt)
																												BgL_new1173z00_2042)))->
																									BgL_keyz00) =
																								((obj_t) BINT(-1L)), BUNSPEC);
																							((((BgL_letzd2varzd2_bglt)
																										COBJECT
																										(BgL_new1173z00_2042))->
																									BgL_bindingsz00) =
																								((obj_t) BgL_nbindingsz00_2035),
																								BUNSPEC);
																							((((BgL_letzd2varzd2_bglt)
																										COBJECT
																										(BgL_new1173z00_2042))->
																									BgL_bodyz00) =
																								((BgL_nodez00_bglt) (
																										(BgL_nodez00_bglt)
																										BgL_seqz00_2040)), BUNSPEC);
																							((((BgL_letzd2varzd2_bglt)
																										COBJECT
																										(BgL_new1173z00_2042))->
																									BgL_removablezf3zf3) =
																								((bool_t) ((bool_t) 1)),
																								BUNSPEC);
																							BgL_letbz00_2041 =
																								BgL_new1173z00_2042;
																						}
																						{	/* Ast/let.scm 441 */

																							((((BgL_letzd2varzd2_bglt)
																										COBJECT
																										(BgL_nodezd2letzd2_30))->
																									BgL_bodyz00) =
																								((BgL_nodez00_bglt) (
																										(BgL_nodez00_bglt)
																										BgL_letbz00_2041)),
																								BUNSPEC);
																							return BgL_nodezd2letzd2_30;
																						}
																					}
																				}
																			}
																		else
																			{	/* Ast/let.scm 449 */
																				obj_t BgL_bindingz00_2052;

																				BgL_bindingz00_2052 =
																					CAR(((obj_t) BgL_bindingsz00_2034));
																				{	/* Ast/let.scm 449 */
																					obj_t BgL_varz00_2053;

																					BgL_varz00_2053 =
																						CAR(((obj_t) BgL_bindingz00_2052));
																					{	/* Ast/let.scm 450 */
																						obj_t BgL_valz00_2054;

																						BgL_valz00_2054 =
																							CDR(
																							((obj_t) BgL_bindingz00_2052));
																						{	/* Ast/let.scm 451 */
																							obj_t BgL_locz00_2055;

																							BgL_locz00_2055 =
																								(((BgL_nodez00_bglt) COBJECT(
																										((BgL_nodez00_bglt)
																											BgL_valz00_2054)))->
																								BgL_locz00);
																							{	/* Ast/let.scm 452 */
																								BgL_localz00_bglt
																									BgL_nvarz00_2056;
																								{	/* Ast/let.scm 453 */
																									obj_t BgL_arg1958z00_2072;

																									{	/* Ast/let.scm 453 */

																										{	/* Ast/let.scm 453 */

																											BgL_arg1958z00_2072 =
																												BGl_gensymz00zz__r4_symbols_6_4z00
																												(BFALSE);
																										}
																									}
																									BgL_nvarz00_2056 =
																										BGl_makezd2localzd2svarz00zzast_localz00
																										(BgL_arg1958z00_2072,
																										((BgL_typez00_bglt)
																											BGl_za2_za2z00zztype_cachez00));
																								}
																								{	/* Ast/let.scm 453 */

																									{	/* Ast/let.scm 454 */
																										BgL_setqz00_bglt
																											BgL_initz00_2057;
																										{	/* Ast/let.scm 454 */
																											BgL_setqz00_bglt
																												BgL_new1175z00_2063;
																											{	/* Ast/let.scm 455 */
																												BgL_setqz00_bglt
																													BgL_new1174z00_2070;
																												BgL_new1174z00_2070 =
																													((BgL_setqz00_bglt)
																													BOBJECT(GC_MALLOC
																														(sizeof(struct
																																BgL_setqz00_bgl))));
																												{	/* Ast/let.scm 455 */
																													long
																														BgL_arg1957z00_2071;
																													BgL_arg1957z00_2071 =
																														BGL_CLASS_NUM
																														(BGl_setqz00zzast_nodez00);
																													BGL_OBJECT_CLASS_NUM_SET
																														(((BgL_objectz00_bglt) BgL_new1174z00_2070), BgL_arg1957z00_2071);
																												}
																												{	/* Ast/let.scm 455 */
																													BgL_objectz00_bglt
																														BgL_tmpz00_8818;
																													BgL_tmpz00_8818 =
																														(
																														(BgL_objectz00_bglt)
																														BgL_new1174z00_2070);
																													BGL_OBJECT_WIDENING_SET
																														(BgL_tmpz00_8818,
																														BFALSE);
																												}
																												((BgL_objectz00_bglt)
																													BgL_new1174z00_2070);
																												BgL_new1175z00_2063 =
																													BgL_new1174z00_2070;
																											}
																											((((BgL_nodez00_bglt)
																														COBJECT((
																																(BgL_nodez00_bglt)
																																BgL_new1175z00_2063)))->
																													BgL_locz00) =
																												((obj_t)
																													BgL_locz00_2055),
																												BUNSPEC);
																											((((BgL_nodez00_bglt)
																														COBJECT((
																																(BgL_nodez00_bglt)
																																BgL_new1175z00_2063)))->
																													BgL_typez00) =
																												((BgL_typez00_bglt) (
																														(BgL_typez00_bglt)
																														BGl_za2unspecza2z00zztype_cachez00)),
																												BUNSPEC);
																											{
																												BgL_varz00_bglt
																													BgL_auxz00_8827;
																												{	/* Ast/let.scm 457 */
																													BgL_refz00_bglt
																														BgL_new1177z00_2064;
																													{	/* Ast/let.scm 459 */
																														BgL_refz00_bglt
																															BgL_new1176z00_2065;
																														BgL_new1176z00_2065
																															=
																															((BgL_refz00_bglt)
																															BOBJECT(GC_MALLOC
																																(sizeof(struct
																																		BgL_refz00_bgl))));
																														{	/* Ast/let.scm 459 */
																															long
																																BgL_arg1955z00_2066;
																															{	/* Ast/let.scm 459 */
																																obj_t
																																	BgL_classz00_5807;
																																BgL_classz00_5807
																																	=
																																	BGl_refz00zzast_nodez00;
																																BgL_arg1955z00_2066
																																	=
																																	BGL_CLASS_NUM
																																	(BgL_classz00_5807);
																															}
																															BGL_OBJECT_CLASS_NUM_SET
																																(((BgL_objectz00_bglt) BgL_new1176z00_2065), BgL_arg1955z00_2066);
																														}
																														{	/* Ast/let.scm 459 */
																															BgL_objectz00_bglt
																																BgL_tmpz00_8832;
																															BgL_tmpz00_8832 =
																																(
																																(BgL_objectz00_bglt)
																																BgL_new1176z00_2065);
																															BGL_OBJECT_WIDENING_SET
																																(BgL_tmpz00_8832,
																																BFALSE);
																														}
																														((BgL_objectz00_bglt) BgL_new1176z00_2065);
																														BgL_new1177z00_2064
																															=
																															BgL_new1176z00_2065;
																													}
																													((((BgL_nodez00_bglt)
																																COBJECT((
																																		(BgL_nodez00_bglt)
																																		BgL_new1177z00_2064)))->
																															BgL_locz00) =
																														((obj_t)
																															BgL_locz00_2055),
																														BUNSPEC);
																													((((BgL_nodez00_bglt)
																																COBJECT((
																																		(BgL_nodez00_bglt)
																																		BgL_new1177z00_2064)))->
																															BgL_typez00) =
																														((BgL_typez00_bglt)
																															((BgL_typez00_bglt) BGl_za2_za2z00zztype_cachez00)), BUNSPEC);
																													((((BgL_varz00_bglt)
																																COBJECT((
																																		(BgL_varz00_bglt)
																																		BgL_new1177z00_2064)))->
																															BgL_variablez00) =
																														((BgL_variablez00_bglt) ((BgL_variablez00_bglt) BgL_varz00_2053)), BUNSPEC);
																													BgL_auxz00_8827 =
																														((BgL_varz00_bglt)
																														BgL_new1177z00_2064);
																												}
																												((((BgL_setqz00_bglt)
																															COBJECT
																															(BgL_new1175z00_2063))->
																														BgL_varz00) =
																													((BgL_varz00_bglt)
																														BgL_auxz00_8827),
																													BUNSPEC);
																											}
																											{
																												BgL_nodez00_bglt
																													BgL_auxz00_8846;
																												{	/* Ast/let.scm 461 */
																													BgL_refz00_bglt
																														BgL_new1180z00_2067;
																													{	/* Ast/let.scm 463 */
																														BgL_refz00_bglt
																															BgL_new1179z00_2068;
																														BgL_new1179z00_2068
																															=
																															((BgL_refz00_bglt)
																															BOBJECT(GC_MALLOC
																																(sizeof(struct
																																		BgL_refz00_bgl))));
																														{	/* Ast/let.scm 463 */
																															long
																																BgL_arg1956z00_2069;
																															{	/* Ast/let.scm 463 */
																																obj_t
																																	BgL_classz00_5811;
																																BgL_classz00_5811
																																	=
																																	BGl_refz00zzast_nodez00;
																																BgL_arg1956z00_2069
																																	=
																																	BGL_CLASS_NUM
																																	(BgL_classz00_5811);
																															}
																															BGL_OBJECT_CLASS_NUM_SET
																																(((BgL_objectz00_bglt) BgL_new1179z00_2068), BgL_arg1956z00_2069);
																														}
																														{	/* Ast/let.scm 463 */
																															BgL_objectz00_bglt
																																BgL_tmpz00_8851;
																															BgL_tmpz00_8851 =
																																(
																																(BgL_objectz00_bglt)
																																BgL_new1179z00_2068);
																															BGL_OBJECT_WIDENING_SET
																																(BgL_tmpz00_8851,
																																BFALSE);
																														}
																														((BgL_objectz00_bglt) BgL_new1179z00_2068);
																														BgL_new1180z00_2067
																															=
																															BgL_new1179z00_2068;
																													}
																													((((BgL_nodez00_bglt)
																																COBJECT((
																																		(BgL_nodez00_bglt)
																																		BgL_new1180z00_2067)))->
																															BgL_locz00) =
																														((obj_t)
																															BgL_locz00_2055),
																														BUNSPEC);
																													((((BgL_nodez00_bglt)
																																COBJECT((
																																		(BgL_nodez00_bglt)
																																		BgL_new1180z00_2067)))->
																															BgL_typez00) =
																														((BgL_typez00_bglt)
																															((BgL_typez00_bglt) BGl_za2_za2z00zztype_cachez00)), BUNSPEC);
																													((((BgL_varz00_bglt)
																																COBJECT((
																																		(BgL_varz00_bglt)
																																		BgL_new1180z00_2067)))->
																															BgL_variablez00) =
																														((BgL_variablez00_bglt) ((BgL_variablez00_bglt) BgL_nvarz00_2056)), BUNSPEC);
																													BgL_auxz00_8846 =
																														((BgL_nodez00_bglt)
																														BgL_new1180z00_2067);
																												}
																												((((BgL_setqz00_bglt)
																															COBJECT
																															(BgL_new1175z00_2063))->
																														BgL_valuez00) =
																													((BgL_nodez00_bglt)
																														BgL_auxz00_8846),
																													BUNSPEC);
																											}
																											BgL_initz00_2057 =
																												BgL_new1175z00_2063;
																										}
																										BGl_usezd2variablez12zc0zzast_sexpz00
																											(((BgL_variablez00_bglt)
																												BgL_varz00_2053),
																											BgL_locz00_2055,
																											CNST_TABLE_REF(5L));
																										BGl_usezd2variablez12zc0zzast_sexpz00
																											(((BgL_variablez00_bglt)
																												BgL_nvarz00_2056),
																											BgL_locz00_2055,
																											CNST_TABLE_REF(5L));
																										{	/* Ast/let.scm 468 */
																											BgL_nodez00_bglt
																												BgL_arg1950z00_2058;
																											BgL_arg1950z00_2058 =
																												BGl_sexpzd2ze3nodez31zzast_sexpz00
																												(BUNSPEC, BNIL,
																												BgL_locz00_2055,
																												CNST_TABLE_REF(1L));
																											{	/* Ast/let.scm 467 */
																												obj_t BgL_auxz00_8875;
																												obj_t BgL_tmpz00_8873;

																												BgL_auxz00_8875 =
																													((obj_t)
																													BgL_arg1950z00_2058);
																												BgL_tmpz00_8873 =
																													((obj_t)
																													BgL_bindingz00_2052);
																												SET_CDR(BgL_tmpz00_8873,
																													BgL_auxz00_8875);
																										}}
																										{	/* Ast/let.scm 469 */
																											obj_t BgL_arg1951z00_2059;
																											obj_t BgL_arg1952z00_2060;
																											obj_t BgL_arg1953z00_2061;

																											BgL_arg1951z00_2059 =
																												CDR(
																												((obj_t)
																													BgL_bindingsz00_2034));
																											{	/* Ast/let.scm 470 */
																												obj_t
																													BgL_arg1954z00_2062;
																												BgL_arg1954z00_2062 =
																													MAKE_YOUNG_PAIR((
																														(obj_t)
																														BgL_nvarz00_2056),
																													BgL_valz00_2054);
																												BgL_arg1952z00_2060 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg1954z00_2062,
																													BgL_nbindingsz00_2035);
																											}
																											BgL_arg1953z00_2061 =
																												MAKE_YOUNG_PAIR(
																												((obj_t)
																													BgL_initz00_2057),
																												BgL_nsequencez00_2036);
																											{
																												obj_t
																													BgL_nsequencez00_8887;
																												obj_t
																													BgL_nbindingsz00_8886;
																												obj_t
																													BgL_bindingsz00_8885;
																												BgL_bindingsz00_8885 =
																													BgL_arg1951z00_2059;
																												BgL_nbindingsz00_8886 =
																													BgL_arg1952z00_2060;
																												BgL_nsequencez00_8887 =
																													BgL_arg1953z00_2061;
																												BgL_nsequencez00_2036 =
																													BgL_nsequencez00_8887;
																												BgL_nbindingsz00_2035 =
																													BgL_nbindingsz00_8886;
																												BgL_bindingsz00_2034 =
																													BgL_bindingsz00_8885;
																												goto
																													BgL_zc3z04anonymousza31942ze3z87_2037;
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																	}
																}
															}
														}
													}
												}
										}
								}
						}
				}
			}
		}

	}



/* safe-rec-val?~0 */
	bool_t BGl_safezd2reczd2valzf3ze70z14zzast_letz00(obj_t BgL_valz00_2081)
	{
		{	/* Ast/let.scm 270 */
			{	/* Ast/let.scm 269 */
				bool_t BgL__ortest_1118z00_2083;

				{	/* Ast/let.scm 269 */
					obj_t BgL_classz00_4964;

					BgL_classz00_4964 = BGl_atomz00zzast_nodez00;
					if (BGL_OBJECTP(BgL_valz00_2081))
						{	/* Ast/let.scm 269 */
							BgL_objectz00_bglt BgL_arg1801z00_4966;

							BgL_arg1801z00_4966 = (BgL_objectz00_bglt) (BgL_valz00_2081);
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Ast/let.scm 269 */
									long BgL_idxz00_4972;

									BgL_idxz00_4972 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_4966);
									BgL__ortest_1118z00_2083 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_4972 + 2L)) == BgL_classz00_4964);
								}
							else
								{	/* Ast/let.scm 269 */
									bool_t BgL_res3701z00_4994;

									{	/* Ast/let.scm 269 */
										obj_t BgL_oclassz00_4980;

										{	/* Ast/let.scm 269 */
											long BgL_arg1808z00_4986;

											{	/* Ast/let.scm 269 */
												long BgL_arg1809z00_4987;

												BgL_arg1809z00_4987 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_4966);
												BgL_arg1808z00_4986 =
													(BgL_arg1809z00_4987 - OBJECT_TYPE);
											}
											BgL_oclassz00_4980 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_4986);
										}
										{	/* Ast/let.scm 269 */
											bool_t BgL__ortest_1115z00_4981;

											BgL__ortest_1115z00_4981 =
												(BgL_classz00_4964 == BgL_oclassz00_4980);
											if (BgL__ortest_1115z00_4981)
												{	/* Ast/let.scm 269 */
													BgL_res3701z00_4994 = BgL__ortest_1115z00_4981;
												}
											else
												{	/* Ast/let.scm 269 */
													long BgL_odepthz00_4982;

													BgL_odepthz00_4982 =
														BGL_CLASS_DEPTH(BgL_oclassz00_4980);
													if ((2L < BgL_odepthz00_4982))
														{	/* Ast/let.scm 269 */
															obj_t BgL_arg1797z00_4984;

															BgL_arg1797z00_4984 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4980, 2L);
															BgL_res3701z00_4994 =
																(BgL_arg1797z00_4984 == BgL_classz00_4964);
														}
													else
														{	/* Ast/let.scm 269 */
															BgL_res3701z00_4994 = ((bool_t) 0);
														}
												}
										}
									}
									BgL__ortest_1118z00_2083 = BgL_res3701z00_4994;
								}
						}
					else
						{	/* Ast/let.scm 269 */
							BgL__ortest_1118z00_2083 = ((bool_t) 0);
						}
				}
				if (BgL__ortest_1118z00_2083)
					{	/* Ast/let.scm 269 */
						return BgL__ortest_1118z00_2083;
					}
				else
					{	/* Ast/let.scm 269 */
						bool_t BgL__ortest_1119z00_2084;

						{	/* Ast/let.scm 269 */
							obj_t BgL_classz00_4995;

							BgL_classz00_4995 = BGl_closurez00zzast_nodez00;
							if (BGL_OBJECTP(BgL_valz00_2081))
								{	/* Ast/let.scm 269 */
									BgL_objectz00_bglt BgL_arg1801z00_4997;

									BgL_arg1801z00_4997 = (BgL_objectz00_bglt) (BgL_valz00_2081);
									if (BGL_CONDEXPAND_ISA_ARCH64())
										{	/* Ast/let.scm 269 */
											long BgL_idxz00_5003;

											BgL_idxz00_5003 =
												BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_4997);
											BgL__ortest_1119z00_2084 =
												(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
													(BgL_idxz00_5003 + 3L)) == BgL_classz00_4995);
										}
									else
										{	/* Ast/let.scm 269 */
											bool_t BgL_res3702z00_5025;

											{	/* Ast/let.scm 269 */
												obj_t BgL_oclassz00_5011;

												{	/* Ast/let.scm 269 */
													long BgL_arg1808z00_5017;

													{	/* Ast/let.scm 269 */
														long BgL_arg1809z00_5018;

														BgL_arg1809z00_5018 =
															BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_4997);
														BgL_arg1808z00_5017 =
															(BgL_arg1809z00_5018 - OBJECT_TYPE);
													}
													BgL_oclassz00_5011 =
														VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
														BgL_arg1808z00_5017);
												}
												{	/* Ast/let.scm 269 */
													bool_t BgL__ortest_1115z00_5012;

													BgL__ortest_1115z00_5012 =
														(BgL_classz00_4995 == BgL_oclassz00_5011);
													if (BgL__ortest_1115z00_5012)
														{	/* Ast/let.scm 269 */
															BgL_res3702z00_5025 = BgL__ortest_1115z00_5012;
														}
													else
														{	/* Ast/let.scm 269 */
															long BgL_odepthz00_5013;

															BgL_odepthz00_5013 =
																BGL_CLASS_DEPTH(BgL_oclassz00_5011);
															if ((3L < BgL_odepthz00_5013))
																{	/* Ast/let.scm 269 */
																	obj_t BgL_arg1797z00_5015;

																	BgL_arg1797z00_5015 =
																		BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_5011,
																		3L);
																	BgL_res3702z00_5025 =
																		(BgL_arg1797z00_5015 == BgL_classz00_4995);
																}
															else
																{	/* Ast/let.scm 269 */
																	BgL_res3702z00_5025 = ((bool_t) 0);
																}
														}
												}
											}
											BgL__ortest_1119z00_2084 = BgL_res3702z00_5025;
										}
								}
							else
								{	/* Ast/let.scm 269 */
									BgL__ortest_1119z00_2084 = ((bool_t) 0);
								}
						}
						if (BgL__ortest_1119z00_2084)
							{	/* Ast/let.scm 269 */
								return BgL__ortest_1119z00_2084;
							}
						else
							{	/* Ast/let.scm 269 */
								bool_t BgL__ortest_1120z00_2085;

								{	/* Ast/let.scm 269 */
									obj_t BgL_classz00_5026;

									BgL_classz00_5026 = BGl_kwotez00zzast_nodez00;
									if (BGL_OBJECTP(BgL_valz00_2081))
										{	/* Ast/let.scm 269 */
											BgL_objectz00_bglt BgL_arg1801z00_5028;

											BgL_arg1801z00_5028 =
												(BgL_objectz00_bglt) (BgL_valz00_2081);
											if (BGL_CONDEXPAND_ISA_ARCH64())
												{	/* Ast/let.scm 269 */
													long BgL_idxz00_5034;

													BgL_idxz00_5034 =
														BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_5028);
													BgL__ortest_1120z00_2085 =
														(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
															(BgL_idxz00_5034 + 2L)) == BgL_classz00_5026);
												}
											else
												{	/* Ast/let.scm 269 */
													bool_t BgL_res3703z00_5056;

													{	/* Ast/let.scm 269 */
														obj_t BgL_oclassz00_5042;

														{	/* Ast/let.scm 269 */
															long BgL_arg1808z00_5048;

															{	/* Ast/let.scm 269 */
																long BgL_arg1809z00_5049;

																BgL_arg1809z00_5049 =
																	BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_5028);
																BgL_arg1808z00_5048 =
																	(BgL_arg1809z00_5049 - OBJECT_TYPE);
															}
															BgL_oclassz00_5042 =
																VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
																BgL_arg1808z00_5048);
														}
														{	/* Ast/let.scm 269 */
															bool_t BgL__ortest_1115z00_5043;

															BgL__ortest_1115z00_5043 =
																(BgL_classz00_5026 == BgL_oclassz00_5042);
															if (BgL__ortest_1115z00_5043)
																{	/* Ast/let.scm 269 */
																	BgL_res3703z00_5056 =
																		BgL__ortest_1115z00_5043;
																}
															else
																{	/* Ast/let.scm 269 */
																	long BgL_odepthz00_5044;

																	BgL_odepthz00_5044 =
																		BGL_CLASS_DEPTH(BgL_oclassz00_5042);
																	if ((2L < BgL_odepthz00_5044))
																		{	/* Ast/let.scm 269 */
																			obj_t BgL_arg1797z00_5046;

																			BgL_arg1797z00_5046 =
																				BGL_CLASS_ANCESTORS_REF
																				(BgL_oclassz00_5042, 2L);
																			BgL_res3703z00_5056 =
																				(BgL_arg1797z00_5046 ==
																				BgL_classz00_5026);
																		}
																	else
																		{	/* Ast/let.scm 269 */
																			BgL_res3703z00_5056 = ((bool_t) 0);
																		}
																}
														}
													}
													BgL__ortest_1120z00_2085 = BgL_res3703z00_5056;
												}
										}
									else
										{	/* Ast/let.scm 269 */
											BgL__ortest_1120z00_2085 = ((bool_t) 0);
										}
								}
								if (BgL__ortest_1120z00_2085)
									{	/* Ast/let.scm 269 */
										return BgL__ortest_1120z00_2085;
									}
								else
									{	/* Ast/let.scm 270 */
										bool_t BgL_test3885z00_8948;

										{	/* Ast/let.scm 270 */
											obj_t BgL_classz00_5057;

											BgL_classz00_5057 = BGl_sequencez00zzast_nodez00;
											if (BGL_OBJECTP(BgL_valz00_2081))
												{	/* Ast/let.scm 270 */
													BgL_objectz00_bglt BgL_arg1801z00_5059;

													BgL_arg1801z00_5059 =
														(BgL_objectz00_bglt) (BgL_valz00_2081);
													if (BGL_CONDEXPAND_ISA_ARCH64())
														{	/* Ast/let.scm 270 */
															long BgL_idxz00_5065;

															BgL_idxz00_5065 =
																BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_5059);
															BgL_test3885z00_8948 =
																(VECTOR_REF
																(BGl_za2inheritancesza2z00zz__objectz00,
																	(BgL_idxz00_5065 + 3L)) == BgL_classz00_5057);
														}
													else
														{	/* Ast/let.scm 270 */
															bool_t BgL_res3704z00_5087;

															{	/* Ast/let.scm 270 */
																obj_t BgL_oclassz00_5073;

																{	/* Ast/let.scm 270 */
																	long BgL_arg1808z00_5079;

																	{	/* Ast/let.scm 270 */
																		long BgL_arg1809z00_5080;

																		BgL_arg1809z00_5080 =
																			BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_5059);
																		BgL_arg1808z00_5079 =
																			(BgL_arg1809z00_5080 - OBJECT_TYPE);
																	}
																	BgL_oclassz00_5073 =
																		VECTOR_REF
																		(BGl_za2classesza2z00zz__objectz00,
																		BgL_arg1808z00_5079);
																}
																{	/* Ast/let.scm 270 */
																	bool_t BgL__ortest_1115z00_5074;

																	BgL__ortest_1115z00_5074 =
																		(BgL_classz00_5057 == BgL_oclassz00_5073);
																	if (BgL__ortest_1115z00_5074)
																		{	/* Ast/let.scm 270 */
																			BgL_res3704z00_5087 =
																				BgL__ortest_1115z00_5074;
																		}
																	else
																		{	/* Ast/let.scm 270 */
																			long BgL_odepthz00_5075;

																			BgL_odepthz00_5075 =
																				BGL_CLASS_DEPTH(BgL_oclassz00_5073);
																			if ((3L < BgL_odepthz00_5075))
																				{	/* Ast/let.scm 270 */
																					obj_t BgL_arg1797z00_5077;

																					BgL_arg1797z00_5077 =
																						BGL_CLASS_ANCESTORS_REF
																						(BgL_oclassz00_5073, 3L);
																					BgL_res3704z00_5087 =
																						(BgL_arg1797z00_5077 ==
																						BgL_classz00_5057);
																				}
																			else
																				{	/* Ast/let.scm 270 */
																					BgL_res3704z00_5087 = ((bool_t) 0);
																				}
																		}
																}
															}
															BgL_test3885z00_8948 = BgL_res3704z00_5087;
														}
												}
											else
												{	/* Ast/let.scm 270 */
													BgL_test3885z00_8948 = ((bool_t) 0);
												}
										}
										if (BgL_test3885z00_8948)
											{	/* Ast/let.scm 270 */
												obj_t BgL_g1438z00_2087;

												BgL_g1438z00_2087 =
													(((BgL_sequencez00_bglt) COBJECT(
															((BgL_sequencez00_bglt) BgL_valz00_2081)))->
													BgL_nodesz00);
												{
													obj_t BgL_l1436z00_2089;

													BgL_l1436z00_2089 = BgL_g1438z00_2087;
												BgL_zc3z04anonymousza31963ze3z87_2090:
													if (NULLP(BgL_l1436z00_2089))
														{	/* Ast/let.scm 270 */
															return ((bool_t) 1);
														}
													else
														{	/* Ast/let.scm 270 */
															bool_t BgL_test3891z00_8972;

															{	/* Ast/let.scm 270 */
																obj_t BgL_arg1966z00_2095;

																BgL_arg1966z00_2095 =
																	CAR(((obj_t) BgL_l1436z00_2089));
																BgL_test3891z00_8972 =
																	BGl_safezd2reczd2valzf3ze70z14zzast_letz00
																	(BgL_arg1966z00_2095);
															}
															if (BgL_test3891z00_8972)
																{	/* Ast/let.scm 270 */
																	obj_t BgL_arg1965z00_2094;

																	BgL_arg1965z00_2094 =
																		CDR(((obj_t) BgL_l1436z00_2089));
																	{
																		obj_t BgL_l1436z00_8978;

																		BgL_l1436z00_8978 = BgL_arg1965z00_2094;
																		BgL_l1436z00_2089 = BgL_l1436z00_8978;
																		goto BgL_zc3z04anonymousza31963ze3z87_2090;
																	}
																}
															else
																{	/* Ast/let.scm 270 */
																	return ((bool_t) 0);
																}
														}
												}
											}
										else
											{	/* Ast/let.scm 270 */
												return ((bool_t) 0);
											}
									}
							}
					}
			}
		}

	}



/* safe-rec-val-optim?~0 */
	bool_t BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00(obj_t
		BgL_valz00_2097, obj_t BgL_varsz00_2098)
	{
		{	/* Ast/let.scm 355 */
		BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00:
			{	/* Ast/let.scm 273 */
				bool_t BgL__ortest_1122z00_2100;

				BgL__ortest_1122z00_2100 =
					BGl_safezd2reczd2valzf3ze70z14zzast_letz00(BgL_valz00_2097);
				if (BgL__ortest_1122z00_2100)
					{	/* Ast/let.scm 273 */
						return BgL__ortest_1122z00_2100;
					}
				else
					{	/* Ast/let.scm 273 */
						if (NULLP(BgL_valz00_2097))
							{	/* Ast/let.scm 275 */
								return ((bool_t) 1);
							}
						else
							{	/* Ast/let.scm 277 */
								bool_t BgL_test3894z00_8983;

								{	/* Ast/let.scm 277 */
									obj_t BgL_classz00_5091;

									BgL_classz00_5091 = BGl_atomz00zzast_nodez00;
									if (BGL_OBJECTP(BgL_valz00_2097))
										{	/* Ast/let.scm 277 */
											BgL_objectz00_bglt BgL_arg1801z00_5093;

											BgL_arg1801z00_5093 =
												(BgL_objectz00_bglt) (BgL_valz00_2097);
											if (BGL_CONDEXPAND_ISA_ARCH64())
												{	/* Ast/let.scm 277 */
													long BgL_idxz00_5099;

													BgL_idxz00_5099 =
														BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_5093);
													BgL_test3894z00_8983 =
														(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
															(BgL_idxz00_5099 + 2L)) == BgL_classz00_5091);
												}
											else
												{	/* Ast/let.scm 277 */
													bool_t BgL_res3705z00_5121;

													{	/* Ast/let.scm 277 */
														obj_t BgL_oclassz00_5107;

														{	/* Ast/let.scm 277 */
															long BgL_arg1808z00_5113;

															{	/* Ast/let.scm 277 */
																long BgL_arg1809z00_5114;

																BgL_arg1809z00_5114 =
																	BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_5093);
																BgL_arg1808z00_5113 =
																	(BgL_arg1809z00_5114 - OBJECT_TYPE);
															}
															BgL_oclassz00_5107 =
																VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
																BgL_arg1808z00_5113);
														}
														{	/* Ast/let.scm 277 */
															bool_t BgL__ortest_1115z00_5108;

															BgL__ortest_1115z00_5108 =
																(BgL_classz00_5091 == BgL_oclassz00_5107);
															if (BgL__ortest_1115z00_5108)
																{	/* Ast/let.scm 277 */
																	BgL_res3705z00_5121 =
																		BgL__ortest_1115z00_5108;
																}
															else
																{	/* Ast/let.scm 277 */
																	long BgL_odepthz00_5109;

																	BgL_odepthz00_5109 =
																		BGL_CLASS_DEPTH(BgL_oclassz00_5107);
																	if ((2L < BgL_odepthz00_5109))
																		{	/* Ast/let.scm 277 */
																			obj_t BgL_arg1797z00_5111;

																			BgL_arg1797z00_5111 =
																				BGL_CLASS_ANCESTORS_REF
																				(BgL_oclassz00_5107, 2L);
																			BgL_res3705z00_5121 =
																				(BgL_arg1797z00_5111 ==
																				BgL_classz00_5091);
																		}
																	else
																		{	/* Ast/let.scm 277 */
																			BgL_res3705z00_5121 = ((bool_t) 0);
																		}
																}
														}
													}
													BgL_test3894z00_8983 = BgL_res3705z00_5121;
												}
										}
									else
										{	/* Ast/let.scm 277 */
											BgL_test3894z00_8983 = ((bool_t) 0);
										}
								}
								if (BgL_test3894z00_8983)
									{	/* Ast/let.scm 277 */
										return ((bool_t) 1);
									}
								else
									{	/* Ast/let.scm 279 */
										bool_t BgL_test3899z00_9003;

										{	/* Ast/let.scm 279 */
											obj_t BgL_classz00_5122;

											BgL_classz00_5122 = BGl_varz00zzast_nodez00;
											if (BGL_OBJECTP(BgL_valz00_2097))
												{	/* Ast/let.scm 279 */
													BgL_objectz00_bglt BgL_arg1801z00_5124;

													BgL_arg1801z00_5124 =
														(BgL_objectz00_bglt) (BgL_valz00_2097);
													if (BGL_CONDEXPAND_ISA_ARCH64())
														{	/* Ast/let.scm 279 */
															long BgL_idxz00_5130;

															BgL_idxz00_5130 =
																BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_5124);
															BgL_test3899z00_9003 =
																(VECTOR_REF
																(BGl_za2inheritancesza2z00zz__objectz00,
																	(BgL_idxz00_5130 + 2L)) == BgL_classz00_5122);
														}
													else
														{	/* Ast/let.scm 279 */
															bool_t BgL_res3706z00_5152;

															{	/* Ast/let.scm 279 */
																obj_t BgL_oclassz00_5138;

																{	/* Ast/let.scm 279 */
																	long BgL_arg1808z00_5144;

																	{	/* Ast/let.scm 279 */
																		long BgL_arg1809z00_5145;

																		BgL_arg1809z00_5145 =
																			BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_5124);
																		BgL_arg1808z00_5144 =
																			(BgL_arg1809z00_5145 - OBJECT_TYPE);
																	}
																	BgL_oclassz00_5138 =
																		VECTOR_REF
																		(BGl_za2classesza2z00zz__objectz00,
																		BgL_arg1808z00_5144);
																}
																{	/* Ast/let.scm 279 */
																	bool_t BgL__ortest_1115z00_5139;

																	BgL__ortest_1115z00_5139 =
																		(BgL_classz00_5122 == BgL_oclassz00_5138);
																	if (BgL__ortest_1115z00_5139)
																		{	/* Ast/let.scm 279 */
																			BgL_res3706z00_5152 =
																				BgL__ortest_1115z00_5139;
																		}
																	else
																		{	/* Ast/let.scm 279 */
																			long BgL_odepthz00_5140;

																			BgL_odepthz00_5140 =
																				BGL_CLASS_DEPTH(BgL_oclassz00_5138);
																			if ((2L < BgL_odepthz00_5140))
																				{	/* Ast/let.scm 279 */
																					obj_t BgL_arg1797z00_5142;

																					BgL_arg1797z00_5142 =
																						BGL_CLASS_ANCESTORS_REF
																						(BgL_oclassz00_5138, 2L);
																					BgL_res3706z00_5152 =
																						(BgL_arg1797z00_5142 ==
																						BgL_classz00_5122);
																				}
																			else
																				{	/* Ast/let.scm 279 */
																					BgL_res3706z00_5152 = ((bool_t) 0);
																				}
																		}
																}
															}
															BgL_test3899z00_9003 = BgL_res3706z00_5152;
														}
												}
											else
												{	/* Ast/let.scm 279 */
													BgL_test3899z00_9003 = ((bool_t) 0);
												}
										}
										if (BgL_test3899z00_9003)
											{	/* Ast/let.scm 279 */
												if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
															((obj_t)
																(((BgL_varz00_bglt) COBJECT(
																			((BgL_varz00_bglt) BgL_valz00_2097)))->
																	BgL_variablez00)), BgL_varsz00_2098)))
													{	/* Ast/let.scm 280 */
														return ((bool_t) 0);
													}
												else
													{	/* Ast/let.scm 280 */
														return ((bool_t) 1);
													}
											}
										else
											{	/* Ast/let.scm 281 */
												bool_t BgL_test3905z00_9029;

												{	/* Ast/let.scm 281 */
													obj_t BgL_classz00_5154;

													BgL_classz00_5154 = BGl_sequencez00zzast_nodez00;
													if (BGL_OBJECTP(BgL_valz00_2097))
														{	/* Ast/let.scm 281 */
															BgL_objectz00_bglt BgL_arg1801z00_5156;

															BgL_arg1801z00_5156 =
																(BgL_objectz00_bglt) (BgL_valz00_2097);
															if (BGL_CONDEXPAND_ISA_ARCH64())
																{	/* Ast/let.scm 281 */
																	long BgL_idxz00_5162;

																	BgL_idxz00_5162 =
																		BGL_OBJECT_INHERITANCE_NUM
																		(BgL_arg1801z00_5156);
																	BgL_test3905z00_9029 =
																		(VECTOR_REF
																		(BGl_za2inheritancesza2z00zz__objectz00,
																			(BgL_idxz00_5162 + 3L)) ==
																		BgL_classz00_5154);
																}
															else
																{	/* Ast/let.scm 281 */
																	bool_t BgL_res3707z00_5184;

																	{	/* Ast/let.scm 281 */
																		obj_t BgL_oclassz00_5170;

																		{	/* Ast/let.scm 281 */
																			long BgL_arg1808z00_5176;

																			{	/* Ast/let.scm 281 */
																				long BgL_arg1809z00_5177;

																				BgL_arg1809z00_5177 =
																					BGL_OBJECT_CLASS_NUM
																					(BgL_arg1801z00_5156);
																				BgL_arg1808z00_5176 =
																					(BgL_arg1809z00_5177 - OBJECT_TYPE);
																			}
																			BgL_oclassz00_5170 =
																				VECTOR_REF
																				(BGl_za2classesza2z00zz__objectz00,
																				BgL_arg1808z00_5176);
																		}
																		{	/* Ast/let.scm 281 */
																			bool_t BgL__ortest_1115z00_5171;

																			BgL__ortest_1115z00_5171 =
																				(BgL_classz00_5154 ==
																				BgL_oclassz00_5170);
																			if (BgL__ortest_1115z00_5171)
																				{	/* Ast/let.scm 281 */
																					BgL_res3707z00_5184 =
																						BgL__ortest_1115z00_5171;
																				}
																			else
																				{	/* Ast/let.scm 281 */
																					long BgL_odepthz00_5172;

																					BgL_odepthz00_5172 =
																						BGL_CLASS_DEPTH(BgL_oclassz00_5170);
																					if ((3L < BgL_odepthz00_5172))
																						{	/* Ast/let.scm 281 */
																							obj_t BgL_arg1797z00_5174;

																							BgL_arg1797z00_5174 =
																								BGL_CLASS_ANCESTORS_REF
																								(BgL_oclassz00_5170, 3L);
																							BgL_res3707z00_5184 =
																								(BgL_arg1797z00_5174 ==
																								BgL_classz00_5154);
																						}
																					else
																						{	/* Ast/let.scm 281 */
																							BgL_res3707z00_5184 =
																								((bool_t) 0);
																						}
																				}
																		}
																	}
																	BgL_test3905z00_9029 = BgL_res3707z00_5184;
																}
														}
													else
														{	/* Ast/let.scm 281 */
															BgL_test3905z00_9029 = ((bool_t) 0);
														}
												}
												if (BgL_test3905z00_9029)
													{	/* Ast/let.scm 282 */
														obj_t BgL_arg1975z00_2108;

														BgL_arg1975z00_2108 =
															(((BgL_sequencez00_bglt) COBJECT(
																	((BgL_sequencez00_bglt) BgL_valz00_2097)))->
															BgL_nodesz00);
														{
															obj_t BgL_valz00_9051;

															BgL_valz00_9051 = BgL_arg1975z00_2108;
															BgL_valz00_2097 = BgL_valz00_9051;
															goto
																BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
														}
													}
												else
													{	/* Ast/let.scm 283 */
														bool_t BgL_test3910z00_9052;

														{	/* Ast/let.scm 283 */
															obj_t BgL_classz00_5186;

															BgL_classz00_5186 = BGl_appz00zzast_nodez00;
															if (BGL_OBJECTP(BgL_valz00_2097))
																{	/* Ast/let.scm 283 */
																	BgL_objectz00_bglt BgL_arg1801z00_5188;

																	BgL_arg1801z00_5188 =
																		(BgL_objectz00_bglt) (BgL_valz00_2097);
																	if (BGL_CONDEXPAND_ISA_ARCH64())
																		{	/* Ast/let.scm 283 */
																			long BgL_idxz00_5194;

																			BgL_idxz00_5194 =
																				BGL_OBJECT_INHERITANCE_NUM
																				(BgL_arg1801z00_5188);
																			BgL_test3910z00_9052 =
																				(VECTOR_REF
																				(BGl_za2inheritancesza2z00zz__objectz00,
																					(BgL_idxz00_5194 + 3L)) ==
																				BgL_classz00_5186);
																		}
																	else
																		{	/* Ast/let.scm 283 */
																			bool_t BgL_res3708z00_5216;

																			{	/* Ast/let.scm 283 */
																				obj_t BgL_oclassz00_5202;

																				{	/* Ast/let.scm 283 */
																					long BgL_arg1808z00_5208;

																					{	/* Ast/let.scm 283 */
																						long BgL_arg1809z00_5209;

																						BgL_arg1809z00_5209 =
																							BGL_OBJECT_CLASS_NUM
																							(BgL_arg1801z00_5188);
																						BgL_arg1808z00_5208 =
																							(BgL_arg1809z00_5209 -
																							OBJECT_TYPE);
																					}
																					BgL_oclassz00_5202 =
																						VECTOR_REF
																						(BGl_za2classesza2z00zz__objectz00,
																						BgL_arg1808z00_5208);
																				}
																				{	/* Ast/let.scm 283 */
																					bool_t BgL__ortest_1115z00_5203;

																					BgL__ortest_1115z00_5203 =
																						(BgL_classz00_5186 ==
																						BgL_oclassz00_5202);
																					if (BgL__ortest_1115z00_5203)
																						{	/* Ast/let.scm 283 */
																							BgL_res3708z00_5216 =
																								BgL__ortest_1115z00_5203;
																						}
																					else
																						{	/* Ast/let.scm 283 */
																							long BgL_odepthz00_5204;

																							BgL_odepthz00_5204 =
																								BGL_CLASS_DEPTH
																								(BgL_oclassz00_5202);
																							if ((3L < BgL_odepthz00_5204))
																								{	/* Ast/let.scm 283 */
																									obj_t BgL_arg1797z00_5206;

																									BgL_arg1797z00_5206 =
																										BGL_CLASS_ANCESTORS_REF
																										(BgL_oclassz00_5202, 3L);
																									BgL_res3708z00_5216 =
																										(BgL_arg1797z00_5206 ==
																										BgL_classz00_5186);
																								}
																							else
																								{	/* Ast/let.scm 283 */
																									BgL_res3708z00_5216 =
																										((bool_t) 0);
																								}
																						}
																				}
																			}
																			BgL_test3910z00_9052 =
																				BgL_res3708z00_5216;
																		}
																}
															else
																{	/* Ast/let.scm 283 */
																	BgL_test3910z00_9052 = ((bool_t) 0);
																}
														}
														if (BgL_test3910z00_9052)
															{	/* Ast/let.scm 285 */
																bool_t BgL_test3915z00_9072;

																{	/* Ast/let.scm 285 */
																	BgL_varz00_bglt BgL_arg1978z00_2113;

																	BgL_arg1978z00_2113 =
																		(((BgL_appz00_bglt) COBJECT(
																				((BgL_appz00_bglt) BgL_valz00_2097)))->
																		BgL_funz00);
																	BgL_test3915z00_9072 =
																		BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																		(((obj_t) BgL_arg1978z00_2113),
																		BgL_varsz00_2098);
																}
																if (BgL_test3915z00_9072)
																	{	/* Ast/let.scm 286 */
																		obj_t BgL_arg1977z00_2112;

																		BgL_arg1977z00_2112 =
																			(((BgL_appz00_bglt) COBJECT(
																					((BgL_appz00_bglt)
																						BgL_valz00_2097)))->BgL_argsz00);
																		{
																			obj_t BgL_valz00_9079;

																			BgL_valz00_9079 = BgL_arg1977z00_2112;
																			BgL_valz00_2097 = BgL_valz00_9079;
																			goto
																				BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																		}
																	}
																else
																	{	/* Ast/let.scm 285 */
																		return ((bool_t) 0);
																	}
															}
														else
															{	/* Ast/let.scm 283 */
																if (PAIRP(BgL_valz00_2097))
																	{
																		obj_t BgL_l1440z00_2116;

																		BgL_l1440z00_2116 = BgL_valz00_2097;
																	BgL_zc3z04anonymousza31980ze3z87_2117:
																		if (NULLP(BgL_l1440z00_2116))
																			{	/* Ast/let.scm 288 */
																				return ((bool_t) 1);
																			}
																		else
																			{	/* Ast/let.scm 288 */
																				bool_t BgL_test3918z00_9084;

																				{	/* Ast/let.scm 288 */
																					obj_t BgL_vz00_2122;

																					BgL_vz00_2122 =
																						CAR(((obj_t) BgL_l1440z00_2116));
																					BgL_test3918z00_9084 =
																						BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																						(BgL_vz00_2122, BgL_varsz00_2098);
																				}
																				if (BgL_test3918z00_9084)
																					{	/* Ast/let.scm 288 */
																						obj_t BgL_arg1982z00_2121;

																						BgL_arg1982z00_2121 =
																							CDR(((obj_t) BgL_l1440z00_2116));
																						{
																							obj_t BgL_l1440z00_9090;

																							BgL_l1440z00_9090 =
																								BgL_arg1982z00_2121;
																							BgL_l1440z00_2116 =
																								BgL_l1440z00_9090;
																							goto
																								BgL_zc3z04anonymousza31980ze3z87_2117;
																						}
																					}
																				else
																					{	/* Ast/let.scm 288 */
																						return ((bool_t) 0);
																					}
																			}
																	}
																else
																	{	/* Ast/let.scm 289 */
																		bool_t BgL_test3919z00_9091;

																		{	/* Ast/let.scm 289 */
																			obj_t BgL_classz00_5219;

																			BgL_classz00_5219 =
																				BGl_appzd2lyzd2zzast_nodez00;
																			if (BGL_OBJECTP(BgL_valz00_2097))
																				{	/* Ast/let.scm 289 */
																					BgL_objectz00_bglt
																						BgL_arg1801z00_5221;
																					BgL_arg1801z00_5221 =
																						(BgL_objectz00_bglt)
																						(BgL_valz00_2097);
																					if (BGL_CONDEXPAND_ISA_ARCH64())
																						{	/* Ast/let.scm 289 */
																							long BgL_idxz00_5227;

																							BgL_idxz00_5227 =
																								BGL_OBJECT_INHERITANCE_NUM
																								(BgL_arg1801z00_5221);
																							BgL_test3919z00_9091 =
																								(VECTOR_REF
																								(BGl_za2inheritancesza2z00zz__objectz00,
																									(BgL_idxz00_5227 + 2L)) ==
																								BgL_classz00_5219);
																						}
																					else
																						{	/* Ast/let.scm 289 */
																							bool_t BgL_res3709z00_5249;

																							{	/* Ast/let.scm 289 */
																								obj_t BgL_oclassz00_5235;

																								{	/* Ast/let.scm 289 */
																									long BgL_arg1808z00_5241;

																									{	/* Ast/let.scm 289 */
																										long BgL_arg1809z00_5242;

																										BgL_arg1809z00_5242 =
																											BGL_OBJECT_CLASS_NUM
																											(BgL_arg1801z00_5221);
																										BgL_arg1808z00_5241 =
																											(BgL_arg1809z00_5242 -
																											OBJECT_TYPE);
																									}
																									BgL_oclassz00_5235 =
																										VECTOR_REF
																										(BGl_za2classesza2z00zz__objectz00,
																										BgL_arg1808z00_5241);
																								}
																								{	/* Ast/let.scm 289 */
																									bool_t
																										BgL__ortest_1115z00_5236;
																									BgL__ortest_1115z00_5236 =
																										(BgL_classz00_5219 ==
																										BgL_oclassz00_5235);
																									if (BgL__ortest_1115z00_5236)
																										{	/* Ast/let.scm 289 */
																											BgL_res3709z00_5249 =
																												BgL__ortest_1115z00_5236;
																										}
																									else
																										{	/* Ast/let.scm 289 */
																											long BgL_odepthz00_5237;

																											BgL_odepthz00_5237 =
																												BGL_CLASS_DEPTH
																												(BgL_oclassz00_5235);
																											if ((2L <
																													BgL_odepthz00_5237))
																												{	/* Ast/let.scm 289 */
																													obj_t
																														BgL_arg1797z00_5239;
																													BgL_arg1797z00_5239 =
																														BGL_CLASS_ANCESTORS_REF
																														(BgL_oclassz00_5235,
																														2L);
																													BgL_res3709z00_5249 =
																														(BgL_arg1797z00_5239
																														==
																														BgL_classz00_5219);
																												}
																											else
																												{	/* Ast/let.scm 289 */
																													BgL_res3709z00_5249 =
																														((bool_t) 0);
																												}
																										}
																								}
																							}
																							BgL_test3919z00_9091 =
																								BgL_res3709z00_5249;
																						}
																				}
																			else
																				{	/* Ast/let.scm 289 */
																					BgL_test3919z00_9091 = ((bool_t) 0);
																				}
																		}
																		if (BgL_test3919z00_9091)
																			{	/* Ast/let.scm 291 */
																				bool_t BgL_test3924z00_9111;

																				{	/* Ast/let.scm 291 */
																					BgL_nodez00_bglt BgL_arg1985z00_2128;

																					BgL_arg1985z00_2128 =
																						(((BgL_appzd2lyzd2_bglt) COBJECT(
																								((BgL_appzd2lyzd2_bglt)
																									BgL_valz00_2097)))->
																						BgL_funz00);
																					BgL_test3924z00_9111 =
																						BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																						(((obj_t) BgL_arg1985z00_2128),
																						BgL_varsz00_2098);
																				}
																				if (BgL_test3924z00_9111)
																					{	/* Ast/let.scm 292 */
																						BgL_nodez00_bglt
																							BgL_arg1984z00_2127;
																						BgL_arg1984z00_2127 =
																							(((BgL_appzd2lyzd2_bglt)
																								COBJECT(((BgL_appzd2lyzd2_bglt)
																										BgL_valz00_2097)))->
																							BgL_argz00);
																						{
																							obj_t BgL_valz00_9118;

																							BgL_valz00_9118 =
																								((obj_t) BgL_arg1984z00_2127);
																							BgL_valz00_2097 = BgL_valz00_9118;
																							goto
																								BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																						}
																					}
																				else
																					{	/* Ast/let.scm 291 */
																						return ((bool_t) 0);
																					}
																			}
																		else
																			{	/* Ast/let.scm 293 */
																				bool_t BgL_test3925z00_9120;

																				{	/* Ast/let.scm 293 */
																					obj_t BgL_classz00_5250;

																					BgL_classz00_5250 =
																						BGl_funcallz00zzast_nodez00;
																					if (BGL_OBJECTP(BgL_valz00_2097))
																						{	/* Ast/let.scm 293 */
																							BgL_objectz00_bglt
																								BgL_arg1801z00_5252;
																							BgL_arg1801z00_5252 =
																								(BgL_objectz00_bglt)
																								(BgL_valz00_2097);
																							if (BGL_CONDEXPAND_ISA_ARCH64())
																								{	/* Ast/let.scm 293 */
																									long BgL_idxz00_5258;

																									BgL_idxz00_5258 =
																										BGL_OBJECT_INHERITANCE_NUM
																										(BgL_arg1801z00_5252);
																									BgL_test3925z00_9120 =
																										(VECTOR_REF
																										(BGl_za2inheritancesza2z00zz__objectz00,
																											(BgL_idxz00_5258 + 2L)) ==
																										BgL_classz00_5250);
																								}
																							else
																								{	/* Ast/let.scm 293 */
																									bool_t BgL_res3710z00_5280;

																									{	/* Ast/let.scm 293 */
																										obj_t BgL_oclassz00_5266;

																										{	/* Ast/let.scm 293 */
																											long BgL_arg1808z00_5272;

																											{	/* Ast/let.scm 293 */
																												long
																													BgL_arg1809z00_5273;
																												BgL_arg1809z00_5273 =
																													BGL_OBJECT_CLASS_NUM
																													(BgL_arg1801z00_5252);
																												BgL_arg1808z00_5272 =
																													(BgL_arg1809z00_5273 -
																													OBJECT_TYPE);
																											}
																											BgL_oclassz00_5266 =
																												VECTOR_REF
																												(BGl_za2classesza2z00zz__objectz00,
																												BgL_arg1808z00_5272);
																										}
																										{	/* Ast/let.scm 293 */
																											bool_t
																												BgL__ortest_1115z00_5267;
																											BgL__ortest_1115z00_5267 =
																												(BgL_classz00_5250 ==
																												BgL_oclassz00_5266);
																											if (BgL__ortest_1115z00_5267)
																												{	/* Ast/let.scm 293 */
																													BgL_res3710z00_5280 =
																														BgL__ortest_1115z00_5267;
																												}
																											else
																												{	/* Ast/let.scm 293 */
																													long
																														BgL_odepthz00_5268;
																													BgL_odepthz00_5268 =
																														BGL_CLASS_DEPTH
																														(BgL_oclassz00_5266);
																													if ((2L <
																															BgL_odepthz00_5268))
																														{	/* Ast/let.scm 293 */
																															obj_t
																																BgL_arg1797z00_5270;
																															BgL_arg1797z00_5270
																																=
																																BGL_CLASS_ANCESTORS_REF
																																(BgL_oclassz00_5266,
																																2L);
																															BgL_res3710z00_5280
																																=
																																(BgL_arg1797z00_5270
																																==
																																BgL_classz00_5250);
																														}
																													else
																														{	/* Ast/let.scm 293 */
																															BgL_res3710z00_5280
																																= ((bool_t) 0);
																														}
																												}
																										}
																									}
																									BgL_test3925z00_9120 =
																										BgL_res3710z00_5280;
																								}
																						}
																					else
																						{	/* Ast/let.scm 293 */
																							BgL_test3925z00_9120 =
																								((bool_t) 0);
																						}
																				}
																				if (BgL_test3925z00_9120)
																					{	/* Ast/let.scm 295 */
																						bool_t BgL_test3930z00_9140;

																						{	/* Ast/let.scm 295 */
																							BgL_nodez00_bglt
																								BgL_arg1988z00_2133;
																							BgL_arg1988z00_2133 =
																								(((BgL_funcallz00_bglt)
																									COBJECT(((BgL_funcallz00_bglt)
																											BgL_valz00_2097)))->
																								BgL_funz00);
																							BgL_test3930z00_9140 =
																								BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																								(((obj_t) BgL_arg1988z00_2133),
																								BgL_varsz00_2098);
																						}
																						if (BgL_test3930z00_9140)
																							{	/* Ast/let.scm 296 */
																								obj_t BgL_arg1987z00_2132;

																								BgL_arg1987z00_2132 =
																									(((BgL_funcallz00_bglt)
																										COBJECT((
																												(BgL_funcallz00_bglt)
																												BgL_valz00_2097)))->
																									BgL_argsz00);
																								{
																									obj_t BgL_valz00_9147;

																									BgL_valz00_9147 =
																										BgL_arg1987z00_2132;
																									BgL_valz00_2097 =
																										BgL_valz00_9147;
																									goto
																										BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																								}
																							}
																						else
																							{	/* Ast/let.scm 295 */
																								return ((bool_t) 0);
																							}
																					}
																				else
																					{	/* Ast/let.scm 297 */
																						bool_t BgL_test3931z00_9148;

																						{	/* Ast/let.scm 297 */
																							obj_t BgL_classz00_5281;

																							BgL_classz00_5281 =
																								BGl_externz00zzast_nodez00;
																							if (BGL_OBJECTP(BgL_valz00_2097))
																								{	/* Ast/let.scm 297 */
																									BgL_objectz00_bglt
																										BgL_arg1801z00_5283;
																									BgL_arg1801z00_5283 =
																										(BgL_objectz00_bglt)
																										(BgL_valz00_2097);
																									if (BGL_CONDEXPAND_ISA_ARCH64
																										())
																										{	/* Ast/let.scm 297 */
																											long BgL_idxz00_5289;

																											BgL_idxz00_5289 =
																												BGL_OBJECT_INHERITANCE_NUM
																												(BgL_arg1801z00_5283);
																											BgL_test3931z00_9148 =
																												(VECTOR_REF
																												(BGl_za2inheritancesza2z00zz__objectz00,
																													(BgL_idxz00_5289 +
																														3L)) ==
																												BgL_classz00_5281);
																										}
																									else
																										{	/* Ast/let.scm 297 */
																											bool_t
																												BgL_res3711z00_5311;
																											{	/* Ast/let.scm 297 */
																												obj_t
																													BgL_oclassz00_5297;
																												{	/* Ast/let.scm 297 */
																													long
																														BgL_arg1808z00_5303;
																													{	/* Ast/let.scm 297 */
																														long
																															BgL_arg1809z00_5304;
																														BgL_arg1809z00_5304
																															=
																															BGL_OBJECT_CLASS_NUM
																															(BgL_arg1801z00_5283);
																														BgL_arg1808z00_5303
																															=
																															(BgL_arg1809z00_5304
																															- OBJECT_TYPE);
																													}
																													BgL_oclassz00_5297 =
																														VECTOR_REF
																														(BGl_za2classesza2z00zz__objectz00,
																														BgL_arg1808z00_5303);
																												}
																												{	/* Ast/let.scm 297 */
																													bool_t
																														BgL__ortest_1115z00_5298;
																													BgL__ortest_1115z00_5298
																														=
																														(BgL_classz00_5281
																														==
																														BgL_oclassz00_5297);
																													if (BgL__ortest_1115z00_5298)
																														{	/* Ast/let.scm 297 */
																															BgL_res3711z00_5311
																																=
																																BgL__ortest_1115z00_5298;
																														}
																													else
																														{	/* Ast/let.scm 297 */
																															long
																																BgL_odepthz00_5299;
																															BgL_odepthz00_5299
																																=
																																BGL_CLASS_DEPTH
																																(BgL_oclassz00_5297);
																															if ((3L <
																																	BgL_odepthz00_5299))
																																{	/* Ast/let.scm 297 */
																																	obj_t
																																		BgL_arg1797z00_5301;
																																	BgL_arg1797z00_5301
																																		=
																																		BGL_CLASS_ANCESTORS_REF
																																		(BgL_oclassz00_5297,
																																		3L);
																																	BgL_res3711z00_5311
																																		=
																																		(BgL_arg1797z00_5301
																																		==
																																		BgL_classz00_5281);
																																}
																															else
																																{	/* Ast/let.scm 297 */
																																	BgL_res3711z00_5311
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																												}
																											}
																											BgL_test3931z00_9148 =
																												BgL_res3711z00_5311;
																										}
																								}
																							else
																								{	/* Ast/let.scm 297 */
																									BgL_test3931z00_9148 =
																										((bool_t) 0);
																								}
																						}
																						if (BgL_test3931z00_9148)
																							{	/* Ast/let.scm 299 */
																								obj_t BgL_g1445z00_2136;

																								BgL_g1445z00_2136 =
																									(((BgL_externz00_bglt)
																										COBJECT((
																												(BgL_externz00_bglt)
																												BgL_valz00_2097)))->
																									BgL_exprza2za2);
																								{
																									obj_t BgL_l1443z00_2138;

																									BgL_l1443z00_2138 =
																										BgL_g1445z00_2136;
																								BgL_zc3z04anonymousza31990ze3z87_2139:
																									if (NULLP
																										(BgL_l1443z00_2138))
																										{	/* Ast/let.scm 299 */
																											return ((bool_t) 1);
																										}
																									else
																										{	/* Ast/let.scm 299 */
																											bool_t
																												BgL_test3937z00_9172;
																											{	/* Ast/let.scm 300 */
																												obj_t BgL_ez00_2144;

																												BgL_ez00_2144 =
																													CAR(
																													((obj_t)
																														BgL_l1443z00_2138));
																												BgL_test3937z00_9172 =
																													BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																													(BgL_ez00_2144,
																													BgL_varsz00_2098);
																											}
																											if (BgL_test3937z00_9172)
																												{	/* Ast/let.scm 299 */
																													obj_t
																														BgL_arg1992z00_2143;
																													BgL_arg1992z00_2143 =
																														CDR(((obj_t)
																															BgL_l1443z00_2138));
																													{
																														obj_t
																															BgL_l1443z00_9178;
																														BgL_l1443z00_9178 =
																															BgL_arg1992z00_2143;
																														BgL_l1443z00_2138 =
																															BgL_l1443z00_9178;
																														goto
																															BgL_zc3z04anonymousza31990ze3z87_2139;
																													}
																												}
																											else
																												{	/* Ast/let.scm 299 */
																													return ((bool_t) 0);
																												}
																										}
																								}
																							}
																						else
																							{	/* Ast/let.scm 302 */
																								bool_t BgL_test3938z00_9179;

																								{	/* Ast/let.scm 302 */
																									obj_t BgL_classz00_5314;

																									BgL_classz00_5314 =
																										BGl_conditionalz00zzast_nodez00;
																									if (BGL_OBJECTP
																										(BgL_valz00_2097))
																										{	/* Ast/let.scm 302 */
																											BgL_objectz00_bglt
																												BgL_arg1801z00_5316;
																											BgL_arg1801z00_5316 =
																												(BgL_objectz00_bglt)
																												(BgL_valz00_2097);
																											if (BGL_CONDEXPAND_ISA_ARCH64())
																												{	/* Ast/let.scm 302 */
																													long BgL_idxz00_5322;

																													BgL_idxz00_5322 =
																														BGL_OBJECT_INHERITANCE_NUM
																														(BgL_arg1801z00_5316);
																													BgL_test3938z00_9179 =
																														(VECTOR_REF
																														(BGl_za2inheritancesza2z00zz__objectz00,
																															(BgL_idxz00_5322 +
																																3L)) ==
																														BgL_classz00_5314);
																												}
																											else
																												{	/* Ast/let.scm 302 */
																													bool_t
																														BgL_res3712z00_5344;
																													{	/* Ast/let.scm 302 */
																														obj_t
																															BgL_oclassz00_5330;
																														{	/* Ast/let.scm 302 */
																															long
																																BgL_arg1808z00_5336;
																															{	/* Ast/let.scm 302 */
																																long
																																	BgL_arg1809z00_5337;
																																BgL_arg1809z00_5337
																																	=
																																	BGL_OBJECT_CLASS_NUM
																																	(BgL_arg1801z00_5316);
																																BgL_arg1808z00_5336
																																	=
																																	(BgL_arg1809z00_5337
																																	-
																																	OBJECT_TYPE);
																															}
																															BgL_oclassz00_5330
																																=
																																VECTOR_REF
																																(BGl_za2classesza2z00zz__objectz00,
																																BgL_arg1808z00_5336);
																														}
																														{	/* Ast/let.scm 302 */
																															bool_t
																																BgL__ortest_1115z00_5331;
																															BgL__ortest_1115z00_5331
																																=
																																(BgL_classz00_5314
																																==
																																BgL_oclassz00_5330);
																															if (BgL__ortest_1115z00_5331)
																																{	/* Ast/let.scm 302 */
																																	BgL_res3712z00_5344
																																		=
																																		BgL__ortest_1115z00_5331;
																																}
																															else
																																{	/* Ast/let.scm 302 */
																																	long
																																		BgL_odepthz00_5332;
																																	BgL_odepthz00_5332
																																		=
																																		BGL_CLASS_DEPTH
																																		(BgL_oclassz00_5330);
																																	if ((3L <
																																			BgL_odepthz00_5332))
																																		{	/* Ast/let.scm 302 */
																																			obj_t
																																				BgL_arg1797z00_5334;
																																			BgL_arg1797z00_5334
																																				=
																																				BGL_CLASS_ANCESTORS_REF
																																				(BgL_oclassz00_5330,
																																				3L);
																																			BgL_res3712z00_5344
																																				=
																																				(BgL_arg1797z00_5334
																																				==
																																				BgL_classz00_5314);
																																		}
																																	else
																																		{	/* Ast/let.scm 302 */
																																			BgL_res3712z00_5344
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																														}
																													}
																													BgL_test3938z00_9179 =
																														BgL_res3712z00_5344;
																												}
																										}
																									else
																										{	/* Ast/let.scm 302 */
																											BgL_test3938z00_9179 =
																												((bool_t) 0);
																										}
																								}
																								if (BgL_test3938z00_9179)
																									{	/* Ast/let.scm 304 */
																										bool_t BgL_test3943z00_9199;

																										{	/* Ast/let.scm 304 */
																											BgL_nodez00_bglt
																												BgL_arg1996z00_2152;
																											BgL_arg1996z00_2152 =
																												(((BgL_conditionalz00_bglt) COBJECT(((BgL_conditionalz00_bglt) BgL_valz00_2097)))->BgL_testz00);
																											BgL_test3943z00_9199 =
																												BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																												(((obj_t)
																													BgL_arg1996z00_2152),
																												BgL_varsz00_2098);
																										}
																										if (BgL_test3943z00_9199)
																											{	/* Ast/let.scm 305 */
																												bool_t
																													BgL_test3944z00_9204;
																												{	/* Ast/let.scm 305 */
																													BgL_nodez00_bglt
																														BgL_arg1995z00_2151;
																													BgL_arg1995z00_2151 =
																														(((BgL_conditionalz00_bglt) COBJECT(((BgL_conditionalz00_bglt) BgL_valz00_2097)))->BgL_truez00);
																													BgL_test3944z00_9204 =
																														BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																														(((obj_t)
																															BgL_arg1995z00_2151),
																														BgL_varsz00_2098);
																												}
																												if (BgL_test3944z00_9204)
																													{	/* Ast/let.scm 306 */
																														BgL_nodez00_bglt
																															BgL_arg1994z00_2150;
																														BgL_arg1994z00_2150
																															=
																															(((BgL_conditionalz00_bglt) COBJECT(((BgL_conditionalz00_bglt) BgL_valz00_2097)))->BgL_falsez00);
																														{
																															obj_t
																																BgL_valz00_9211;
																															BgL_valz00_9211 =
																																((obj_t)
																																BgL_arg1994z00_2150);
																															BgL_valz00_2097 =
																																BgL_valz00_9211;
																															goto
																																BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																														}
																													}
																												else
																													{	/* Ast/let.scm 305 */
																														return ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Ast/let.scm 304 */
																												return ((bool_t) 0);
																											}
																									}
																								else
																									{	/* Ast/let.scm 307 */
																										bool_t BgL_test3945z00_9213;

																										{	/* Ast/let.scm 307 */
																											obj_t BgL_classz00_5345;

																											BgL_classz00_5345 =
																												BGl_setqz00zzast_nodez00;
																											if (BGL_OBJECTP
																												(BgL_valz00_2097))
																												{	/* Ast/let.scm 307 */
																													BgL_objectz00_bglt
																														BgL_arg1801z00_5347;
																													BgL_arg1801z00_5347 =
																														(BgL_objectz00_bglt)
																														(BgL_valz00_2097);
																													if (BGL_CONDEXPAND_ISA_ARCH64())
																														{	/* Ast/let.scm 307 */
																															long
																																BgL_idxz00_5353;
																															BgL_idxz00_5353 =
																																BGL_OBJECT_INHERITANCE_NUM
																																(BgL_arg1801z00_5347);
																															BgL_test3945z00_9213
																																=
																																(VECTOR_REF
																																(BGl_za2inheritancesza2z00zz__objectz00,
																																	(BgL_idxz00_5353
																																		+ 2L)) ==
																																BgL_classz00_5345);
																														}
																													else
																														{	/* Ast/let.scm 307 */
																															bool_t
																																BgL_res3713z00_5375;
																															{	/* Ast/let.scm 307 */
																																obj_t
																																	BgL_oclassz00_5361;
																																{	/* Ast/let.scm 307 */
																																	long
																																		BgL_arg1808z00_5367;
																																	{	/* Ast/let.scm 307 */
																																		long
																																			BgL_arg1809z00_5368;
																																		BgL_arg1809z00_5368
																																			=
																																			BGL_OBJECT_CLASS_NUM
																																			(BgL_arg1801z00_5347);
																																		BgL_arg1808z00_5367
																																			=
																																			(BgL_arg1809z00_5368
																																			-
																																			OBJECT_TYPE);
																																	}
																																	BgL_oclassz00_5361
																																		=
																																		VECTOR_REF
																																		(BGl_za2classesza2z00zz__objectz00,
																																		BgL_arg1808z00_5367);
																																}
																																{	/* Ast/let.scm 307 */
																																	bool_t
																																		BgL__ortest_1115z00_5362;
																																	BgL__ortest_1115z00_5362
																																		=
																																		(BgL_classz00_5345
																																		==
																																		BgL_oclassz00_5361);
																																	if (BgL__ortest_1115z00_5362)
																																		{	/* Ast/let.scm 307 */
																																			BgL_res3713z00_5375
																																				=
																																				BgL__ortest_1115z00_5362;
																																		}
																																	else
																																		{	/* Ast/let.scm 307 */
																																			long
																																				BgL_odepthz00_5363;
																																			BgL_odepthz00_5363
																																				=
																																				BGL_CLASS_DEPTH
																																				(BgL_oclassz00_5361);
																																			if ((2L <
																																					BgL_odepthz00_5363))
																																				{	/* Ast/let.scm 307 */
																																					obj_t
																																						BgL_arg1797z00_5365;
																																					BgL_arg1797z00_5365
																																						=
																																						BGL_CLASS_ANCESTORS_REF
																																						(BgL_oclassz00_5361,
																																						2L);
																																					BgL_res3713z00_5375
																																						=
																																						(BgL_arg1797z00_5365
																																						==
																																						BgL_classz00_5345);
																																				}
																																			else
																																				{	/* Ast/let.scm 307 */
																																					BgL_res3713z00_5375
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																}
																															}
																															BgL_test3945z00_9213
																																=
																																BgL_res3713z00_5375;
																														}
																												}
																											else
																												{	/* Ast/let.scm 307 */
																													BgL_test3945z00_9213 =
																														((bool_t) 0);
																												}
																										}
																										if (BgL_test3945z00_9213)
																											{	/* Ast/let.scm 309 */
																												bool_t
																													BgL_test3950z00_9233;
																												{	/* Ast/let.scm 309 */
																													BgL_varz00_bglt
																														BgL_arg1999z00_2157;
																													BgL_arg1999z00_2157 =
																														(((BgL_setqz00_bglt)
																															COBJECT((
																																	(BgL_setqz00_bglt)
																																	BgL_valz00_2097)))->
																														BgL_varz00);
																													BgL_test3950z00_9233 =
																														BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																														(((obj_t)
																															BgL_arg1999z00_2157),
																														BgL_varsz00_2098);
																												}
																												if (BgL_test3950z00_9233)
																													{	/* Ast/let.scm 310 */
																														BgL_nodez00_bglt
																															BgL_arg1998z00_2156;
																														BgL_arg1998z00_2156
																															=
																															(((BgL_setqz00_bglt) COBJECT(((BgL_setqz00_bglt) BgL_valz00_2097)))->BgL_valuez00);
																														{
																															obj_t
																																BgL_valz00_9240;
																															BgL_valz00_9240 =
																																((obj_t)
																																BgL_arg1998z00_2156);
																															BgL_valz00_2097 =
																																BgL_valz00_9240;
																															goto
																																BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																														}
																													}
																												else
																													{	/* Ast/let.scm 309 */
																														return ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Ast/let.scm 311 */
																												bool_t
																													BgL_test3951z00_9242;
																												{	/* Ast/let.scm 311 */
																													obj_t
																														BgL_classz00_5376;
																													BgL_classz00_5376 =
																														BGl_failz00zzast_nodez00;
																													if (BGL_OBJECTP
																														(BgL_valz00_2097))
																														{	/* Ast/let.scm 311 */
																															BgL_objectz00_bglt
																																BgL_arg1801z00_5378;
																															BgL_arg1801z00_5378
																																=
																																(BgL_objectz00_bglt)
																																(BgL_valz00_2097);
																															if (BGL_CONDEXPAND_ISA_ARCH64())
																																{	/* Ast/let.scm 311 */
																																	long
																																		BgL_idxz00_5384;
																																	BgL_idxz00_5384
																																		=
																																		BGL_OBJECT_INHERITANCE_NUM
																																		(BgL_arg1801z00_5378);
																																	BgL_test3951z00_9242
																																		=
																																		(VECTOR_REF
																																		(BGl_za2inheritancesza2z00zz__objectz00,
																																			(BgL_idxz00_5384
																																				+
																																				2L)) ==
																																		BgL_classz00_5376);
																																}
																															else
																																{	/* Ast/let.scm 311 */
																																	bool_t
																																		BgL_res3714z00_5406;
																																	{	/* Ast/let.scm 311 */
																																		obj_t
																																			BgL_oclassz00_5392;
																																		{	/* Ast/let.scm 311 */
																																			long
																																				BgL_arg1808z00_5398;
																																			{	/* Ast/let.scm 311 */
																																				long
																																					BgL_arg1809z00_5399;
																																				BgL_arg1809z00_5399
																																					=
																																					BGL_OBJECT_CLASS_NUM
																																					(BgL_arg1801z00_5378);
																																				BgL_arg1808z00_5398
																																					=
																																					(BgL_arg1809z00_5399
																																					-
																																					OBJECT_TYPE);
																																			}
																																			BgL_oclassz00_5392
																																				=
																																				VECTOR_REF
																																				(BGl_za2classesza2z00zz__objectz00,
																																				BgL_arg1808z00_5398);
																																		}
																																		{	/* Ast/let.scm 311 */
																																			bool_t
																																				BgL__ortest_1115z00_5393;
																																			BgL__ortest_1115z00_5393
																																				=
																																				(BgL_classz00_5376
																																				==
																																				BgL_oclassz00_5392);
																																			if (BgL__ortest_1115z00_5393)
																																				{	/* Ast/let.scm 311 */
																																					BgL_res3714z00_5406
																																						=
																																						BgL__ortest_1115z00_5393;
																																				}
																																			else
																																				{	/* Ast/let.scm 311 */
																																					long
																																						BgL_odepthz00_5394;
																																					BgL_odepthz00_5394
																																						=
																																						BGL_CLASS_DEPTH
																																						(BgL_oclassz00_5392);
																																					if (
																																						(2L
																																							<
																																							BgL_odepthz00_5394))
																																						{	/* Ast/let.scm 311 */
																																							obj_t
																																								BgL_arg1797z00_5396;
																																							BgL_arg1797z00_5396
																																								=
																																								BGL_CLASS_ANCESTORS_REF
																																								(BgL_oclassz00_5392,
																																								2L);
																																							BgL_res3714z00_5406
																																								=
																																								(BgL_arg1797z00_5396
																																								==
																																								BgL_classz00_5376);
																																						}
																																					else
																																						{	/* Ast/let.scm 311 */
																																							BgL_res3714z00_5406
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																		}
																																	}
																																	BgL_test3951z00_9242
																																		=
																																		BgL_res3714z00_5406;
																																}
																														}
																													else
																														{	/* Ast/let.scm 311 */
																															BgL_test3951z00_9242
																																= ((bool_t) 0);
																														}
																												}
																												if (BgL_test3951z00_9242)
																													{	/* Ast/let.scm 313 */
																														bool_t
																															BgL_test3956z00_9262;
																														{	/* Ast/let.scm 313 */
																															BgL_nodez00_bglt
																																BgL_arg2003z00_2164;
																															BgL_arg2003z00_2164
																																=
																																(((BgL_failz00_bglt) COBJECT(((BgL_failz00_bglt) BgL_valz00_2097)))->BgL_procz00);
																															BgL_test3956z00_9262
																																=
																																BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																(((obj_t)
																																	BgL_arg2003z00_2164),
																																BgL_varsz00_2098);
																														}
																														if (BgL_test3956z00_9262)
																															{	/* Ast/let.scm 314 */
																																bool_t
																																	BgL_test3957z00_9267;
																																{	/* Ast/let.scm 314 */
																																	BgL_nodez00_bglt
																																		BgL_arg2002z00_2163;
																																	BgL_arg2002z00_2163
																																		=
																																		(((BgL_failz00_bglt) COBJECT(((BgL_failz00_bglt) BgL_valz00_2097)))->BgL_msgz00);
																																	BgL_test3957z00_9267
																																		=
																																		BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																		(((obj_t)
																																			BgL_arg2002z00_2163),
																																		BgL_varsz00_2098);
																																}
																																if (BgL_test3957z00_9267)
																																	{	/* Ast/let.scm 315 */
																																		BgL_nodez00_bglt
																																			BgL_arg2001z00_2162;
																																		BgL_arg2001z00_2162
																																			=
																																			(((BgL_failz00_bglt) COBJECT(((BgL_failz00_bglt) BgL_valz00_2097)))->BgL_objz00);
																																		{
																																			obj_t
																																				BgL_valz00_9274;
																																			BgL_valz00_9274
																																				=
																																				((obj_t)
																																				BgL_arg2001z00_2162);
																																			BgL_valz00_2097
																																				=
																																				BgL_valz00_9274;
																																			goto
																																				BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																																		}
																																	}
																																else
																																	{	/* Ast/let.scm 314 */
																																		return (
																																			(bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Ast/let.scm 313 */
																																return ((bool_t)
																																	0);
																															}
																													}
																												else
																													{	/* Ast/let.scm 316 */
																														bool_t
																															BgL_test3958z00_9276;
																														{	/* Ast/let.scm 316 */
																															obj_t
																																BgL_classz00_5407;
																															BgL_classz00_5407
																																=
																																BGl_switchz00zzast_nodez00;
																															if (BGL_OBJECTP
																																(BgL_valz00_2097))
																																{	/* Ast/let.scm 316 */
																																	BgL_objectz00_bglt
																																		BgL_arg1801z00_5409;
																																	BgL_arg1801z00_5409
																																		=
																																		(BgL_objectz00_bglt)
																																		(BgL_valz00_2097);
																																	if (BGL_CONDEXPAND_ISA_ARCH64())
																																		{	/* Ast/let.scm 316 */
																																			long
																																				BgL_idxz00_5415;
																																			BgL_idxz00_5415
																																				=
																																				BGL_OBJECT_INHERITANCE_NUM
																																				(BgL_arg1801z00_5409);
																																			BgL_test3958z00_9276
																																				=
																																				(VECTOR_REF
																																				(BGl_za2inheritancesza2z00zz__objectz00,
																																					(BgL_idxz00_5415
																																						+
																																						3L))
																																				==
																																				BgL_classz00_5407);
																																		}
																																	else
																																		{	/* Ast/let.scm 316 */
																																			bool_t
																																				BgL_res3715z00_5437;
																																			{	/* Ast/let.scm 316 */
																																				obj_t
																																					BgL_oclassz00_5423;
																																				{	/* Ast/let.scm 316 */
																																					long
																																						BgL_arg1808z00_5429;
																																					{	/* Ast/let.scm 316 */
																																						long
																																							BgL_arg1809z00_5430;
																																						BgL_arg1809z00_5430
																																							=
																																							BGL_OBJECT_CLASS_NUM
																																							(BgL_arg1801z00_5409);
																																						BgL_arg1808z00_5429
																																							=
																																							(BgL_arg1809z00_5430
																																							-
																																							OBJECT_TYPE);
																																					}
																																					BgL_oclassz00_5423
																																						=
																																						VECTOR_REF
																																						(BGl_za2classesza2z00zz__objectz00,
																																						BgL_arg1808z00_5429);
																																				}
																																				{	/* Ast/let.scm 316 */
																																					bool_t
																																						BgL__ortest_1115z00_5424;
																																					BgL__ortest_1115z00_5424
																																						=
																																						(BgL_classz00_5407
																																						==
																																						BgL_oclassz00_5423);
																																					if (BgL__ortest_1115z00_5424)
																																						{	/* Ast/let.scm 316 */
																																							BgL_res3715z00_5437
																																								=
																																								BgL__ortest_1115z00_5424;
																																						}
																																					else
																																						{	/* Ast/let.scm 316 */
																																							long
																																								BgL_odepthz00_5425;
																																							BgL_odepthz00_5425
																																								=
																																								BGL_CLASS_DEPTH
																																								(BgL_oclassz00_5423);
																																							if ((3L < BgL_odepthz00_5425))
																																								{	/* Ast/let.scm 316 */
																																									obj_t
																																										BgL_arg1797z00_5427;
																																									BgL_arg1797z00_5427
																																										=
																																										BGL_CLASS_ANCESTORS_REF
																																										(BgL_oclassz00_5423,
																																										3L);
																																									BgL_res3715z00_5437
																																										=
																																										(BgL_arg1797z00_5427
																																										==
																																										BgL_classz00_5407);
																																								}
																																							else
																																								{	/* Ast/let.scm 316 */
																																									BgL_res3715z00_5437
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																				}
																																			}
																																			BgL_test3958z00_9276
																																				=
																																				BgL_res3715z00_5437;
																																		}
																																}
																															else
																																{	/* Ast/let.scm 316 */
																																	BgL_test3958z00_9276
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																														if (BgL_test3958z00_9276)
																															{	/* Ast/let.scm 318 */
																																bool_t
																																	BgL_test3963z00_9296;
																																{	/* Ast/let.scm 318 */
																																	BgL_nodez00_bglt
																																		BgL_arg2009z00_2179;
																																	BgL_arg2009z00_2179
																																		=
																																		(((BgL_switchz00_bglt) COBJECT(((BgL_switchz00_bglt) BgL_valz00_2097)))->BgL_testz00);
																																	BgL_test3963z00_9296
																																		=
																																		BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																		(((obj_t)
																																			BgL_arg2009z00_2179),
																																		BgL_varsz00_2098);
																																}
																																if (BgL_test3963z00_9296)
																																	{	/* Ast/let.scm 319 */
																																		obj_t
																																			BgL_g1449z00_2168;
																																		BgL_g1449z00_2168
																																			=
																																			(((BgL_switchz00_bglt) COBJECT(((BgL_switchz00_bglt) BgL_valz00_2097)))->BgL_clausesz00);
																																		{
																																			obj_t
																																				BgL_l1447z00_2170;
																																			BgL_l1447z00_2170
																																				=
																																				BgL_g1449z00_2168;
																																		BgL_zc3z04anonymousza32005ze3z87_2171:
																																			if (NULLP
																																				(BgL_l1447z00_2170))
																																				{	/* Ast/let.scm 319 */
																																					return
																																						(
																																						(bool_t)
																																						1);
																																				}
																																			else
																																				{	/* Ast/let.scm 319 */
																																					bool_t
																																						BgL_test3965z00_9305;
																																					{	/* Ast/let.scm 320 */
																																						obj_t
																																							BgL_clausez00_2176;
																																						BgL_clausez00_2176
																																							=
																																							CAR
																																							(((obj_t) BgL_l1447z00_2170));
																																						{	/* Ast/let.scm 320 */
																																							obj_t
																																								BgL_arg2008z00_2177;
																																							BgL_arg2008z00_2177
																																								=
																																								CDR
																																								(
																																								((obj_t) BgL_clausez00_2176));
																																							BgL_test3965z00_9305
																																								=
																																								BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																								(BgL_arg2008z00_2177,
																																								BgL_varsz00_2098);
																																						}
																																					}
																																					if (BgL_test3965z00_9305)
																																						{	/* Ast/let.scm 319 */
																																							obj_t
																																								BgL_arg2007z00_2175;
																																							BgL_arg2007z00_2175
																																								=
																																								CDR
																																								(
																																								((obj_t) BgL_l1447z00_2170));
																																							{
																																								obj_t
																																									BgL_l1447z00_9313;
																																								BgL_l1447z00_9313
																																									=
																																									BgL_arg2007z00_2175;
																																								BgL_l1447z00_2170
																																									=
																																									BgL_l1447z00_9313;
																																								goto
																																									BgL_zc3z04anonymousza32005ze3z87_2171;
																																							}
																																						}
																																					else
																																						{	/* Ast/let.scm 319 */
																																							return
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																		}
																																	}
																																else
																																	{	/* Ast/let.scm 318 */
																																		return (
																																			(bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Ast/let.scm 322 */
																																bool_t
																																	BgL_test3966z00_9314;
																																{	/* Ast/let.scm 322 */
																																	obj_t
																																		BgL_classz00_5441;
																																	BgL_classz00_5441
																																		=
																																		BGl_letzd2funzd2zzast_nodez00;
																																	if (BGL_OBJECTP(BgL_valz00_2097))
																																		{	/* Ast/let.scm 322 */
																																			BgL_objectz00_bglt
																																				BgL_arg1801z00_5443;
																																			BgL_arg1801z00_5443
																																				=
																																				(BgL_objectz00_bglt)
																																				(BgL_valz00_2097);
																																			if (BGL_CONDEXPAND_ISA_ARCH64())
																																				{	/* Ast/let.scm 322 */
																																					long
																																						BgL_idxz00_5449;
																																					BgL_idxz00_5449
																																						=
																																						BGL_OBJECT_INHERITANCE_NUM
																																						(BgL_arg1801z00_5443);
																																					BgL_test3966z00_9314
																																						=
																																						(VECTOR_REF
																																						(BGl_za2inheritancesza2z00zz__objectz00,
																																							(BgL_idxz00_5449
																																								+
																																								3L))
																																						==
																																						BgL_classz00_5441);
																																				}
																																			else
																																				{	/* Ast/let.scm 322 */
																																					bool_t
																																						BgL_res3716z00_5471;
																																					{	/* Ast/let.scm 322 */
																																						obj_t
																																							BgL_oclassz00_5457;
																																						{	/* Ast/let.scm 322 */
																																							long
																																								BgL_arg1808z00_5463;
																																							{	/* Ast/let.scm 322 */
																																								long
																																									BgL_arg1809z00_5464;
																																								BgL_arg1809z00_5464
																																									=
																																									BGL_OBJECT_CLASS_NUM
																																									(BgL_arg1801z00_5443);
																																								BgL_arg1808z00_5463
																																									=
																																									(BgL_arg1809z00_5464
																																									-
																																									OBJECT_TYPE);
																																							}
																																							BgL_oclassz00_5457
																																								=
																																								VECTOR_REF
																																								(BGl_za2classesza2z00zz__objectz00,
																																								BgL_arg1808z00_5463);
																																						}
																																						{	/* Ast/let.scm 322 */
																																							bool_t
																																								BgL__ortest_1115z00_5458;
																																							BgL__ortest_1115z00_5458
																																								=
																																								(BgL_classz00_5441
																																								==
																																								BgL_oclassz00_5457);
																																							if (BgL__ortest_1115z00_5458)
																																								{	/* Ast/let.scm 322 */
																																									BgL_res3716z00_5471
																																										=
																																										BgL__ortest_1115z00_5458;
																																								}
																																							else
																																								{	/* Ast/let.scm 322 */
																																									long
																																										BgL_odepthz00_5459;
																																									BgL_odepthz00_5459
																																										=
																																										BGL_CLASS_DEPTH
																																										(BgL_oclassz00_5457);
																																									if ((3L < BgL_odepthz00_5459))
																																										{	/* Ast/let.scm 322 */
																																											obj_t
																																												BgL_arg1797z00_5461;
																																											BgL_arg1797z00_5461
																																												=
																																												BGL_CLASS_ANCESTORS_REF
																																												(BgL_oclassz00_5457,
																																												3L);
																																											BgL_res3716z00_5471
																																												=
																																												(BgL_arg1797z00_5461
																																												==
																																												BgL_classz00_5441);
																																										}
																																									else
																																										{	/* Ast/let.scm 322 */
																																											BgL_res3716z00_5471
																																												=
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																						}
																																					}
																																					BgL_test3966z00_9314
																																						=
																																						BgL_res3716z00_5471;
																																				}
																																		}
																																	else
																																		{	/* Ast/let.scm 322 */
																																			BgL_test3966z00_9314
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																																if (BgL_test3966z00_9314)
																																	{	/* Ast/let.scm 324 */
																																		bool_t
																																			BgL_test3971z00_9334;
																																		{	/* Ast/let.scm 324 */
																																			BgL_nodez00_bglt
																																				BgL_arg2016z00_2195;
																																			BgL_arg2016z00_2195
																																				=
																																				(((BgL_letzd2funzd2_bglt) COBJECT(((BgL_letzd2funzd2_bglt) BgL_valz00_2097)))->BgL_bodyz00);
																																			BgL_test3971z00_9334
																																				=
																																				BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																				(((obj_t) BgL_arg2016z00_2195), BgL_varsz00_2098);
																																		}
																																		if (BgL_test3971z00_9334)
																																			{	/* Ast/let.scm 325 */
																																				obj_t
																																					BgL_g1453z00_2183;
																																				BgL_g1453z00_2183
																																					=
																																					(((BgL_letzd2funzd2_bglt) COBJECT(((BgL_letzd2funzd2_bglt) BgL_valz00_2097)))->BgL_localsz00);
																																				{
																																					obj_t
																																						BgL_l1451z00_2185;
																																					BgL_l1451z00_2185
																																						=
																																						BgL_g1453z00_2183;
																																				BgL_zc3z04anonymousza32011ze3z87_2186:
																																					if (NULLP(BgL_l1451z00_2185))
																																						{	/* Ast/let.scm 325 */
																																							return
																																								(
																																								(bool_t)
																																								1);
																																						}
																																					else
																																						{	/* Ast/let.scm 325 */
																																							bool_t
																																								BgL_test3973z00_9343;
																																							{	/* Ast/let.scm 326 */
																																								obj_t
																																									BgL_fz00_2191;
																																								BgL_fz00_2191
																																									=
																																									CAR
																																									(
																																									((obj_t) BgL_l1451z00_2185));
																																								{	/* Ast/let.scm 327 */
																																									obj_t
																																										BgL_arg2014z00_2192;
																																									BgL_arg2014z00_2192
																																										=
																																										(
																																										((BgL_sfunz00_bglt) COBJECT(((BgL_sfunz00_bglt) (((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt) BgL_fz00_2191))))->BgL_valuez00))))->BgL_bodyz00);
																																									BgL_test3973z00_9343
																																										=
																																										BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																										(BgL_arg2014z00_2192,
																																										BgL_varsz00_2098);
																																								}
																																							}
																																							if (BgL_test3973z00_9343)
																																								{	/* Ast/let.scm 325 */
																																									obj_t
																																										BgL_arg2013z00_2190;
																																									BgL_arg2013z00_2190
																																										=
																																										CDR
																																										(
																																										((obj_t) BgL_l1451z00_2185));
																																									{
																																										obj_t
																																											BgL_l1451z00_9354;
																																										BgL_l1451z00_9354
																																											=
																																											BgL_arg2013z00_2190;
																																										BgL_l1451z00_2185
																																											=
																																											BgL_l1451z00_9354;
																																										goto
																																											BgL_zc3z04anonymousza32011ze3z87_2186;
																																									}
																																								}
																																							else
																																								{	/* Ast/let.scm 325 */
																																									return
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																				}
																																			}
																																		else
																																			{	/* Ast/let.scm 324 */
																																				return (
																																					(bool_t)
																																					0);
																																			}
																																	}
																																else
																																	{	/* Ast/let.scm 329 */
																																		bool_t
																																			BgL_test3974z00_9355;
																																		{	/* Ast/let.scm 329 */
																																			obj_t
																																				BgL_classz00_5476;
																																			BgL_classz00_5476
																																				=
																																				BGl_letzd2varzd2zzast_nodez00;
																																			if (BGL_OBJECTP(BgL_valz00_2097))
																																				{	/* Ast/let.scm 329 */
																																					BgL_objectz00_bglt
																																						BgL_arg1801z00_5478;
																																					BgL_arg1801z00_5478
																																						=
																																						(BgL_objectz00_bglt)
																																						(BgL_valz00_2097);
																																					if (BGL_CONDEXPAND_ISA_ARCH64())
																																						{	/* Ast/let.scm 329 */
																																							long
																																								BgL_idxz00_5484;
																																							BgL_idxz00_5484
																																								=
																																								BGL_OBJECT_INHERITANCE_NUM
																																								(BgL_arg1801z00_5478);
																																							BgL_test3974z00_9355
																																								=
																																								(VECTOR_REF
																																								(BGl_za2inheritancesza2z00zz__objectz00,
																																									(BgL_idxz00_5484
																																										+
																																										3L))
																																								==
																																								BgL_classz00_5476);
																																						}
																																					else
																																						{	/* Ast/let.scm 329 */
																																							bool_t
																																								BgL_res3717z00_5506;
																																							{	/* Ast/let.scm 329 */
																																								obj_t
																																									BgL_oclassz00_5492;
																																								{	/* Ast/let.scm 329 */
																																									long
																																										BgL_arg1808z00_5498;
																																									{	/* Ast/let.scm 329 */
																																										long
																																											BgL_arg1809z00_5499;
																																										BgL_arg1809z00_5499
																																											=
																																											BGL_OBJECT_CLASS_NUM
																																											(BgL_arg1801z00_5478);
																																										BgL_arg1808z00_5498
																																											=
																																											(BgL_arg1809z00_5499
																																											-
																																											OBJECT_TYPE);
																																									}
																																									BgL_oclassz00_5492
																																										=
																																										VECTOR_REF
																																										(BGl_za2classesza2z00zz__objectz00,
																																										BgL_arg1808z00_5498);
																																								}
																																								{	/* Ast/let.scm 329 */
																																									bool_t
																																										BgL__ortest_1115z00_5493;
																																									BgL__ortest_1115z00_5493
																																										=
																																										(BgL_classz00_5476
																																										==
																																										BgL_oclassz00_5492);
																																									if (BgL__ortest_1115z00_5493)
																																										{	/* Ast/let.scm 329 */
																																											BgL_res3717z00_5506
																																												=
																																												BgL__ortest_1115z00_5493;
																																										}
																																									else
																																										{	/* Ast/let.scm 329 */
																																											long
																																												BgL_odepthz00_5494;
																																											BgL_odepthz00_5494
																																												=
																																												BGL_CLASS_DEPTH
																																												(BgL_oclassz00_5492);
																																											if ((3L < BgL_odepthz00_5494))
																																												{	/* Ast/let.scm 329 */
																																													obj_t
																																														BgL_arg1797z00_5496;
																																													BgL_arg1797z00_5496
																																														=
																																														BGL_CLASS_ANCESTORS_REF
																																														(BgL_oclassz00_5492,
																																														3L);
																																													BgL_res3717z00_5506
																																														=
																																														(BgL_arg1797z00_5496
																																														==
																																														BgL_classz00_5476);
																																												}
																																											else
																																												{	/* Ast/let.scm 329 */
																																													BgL_res3717z00_5506
																																														=
																																														(
																																														(bool_t)
																																														0);
																																												}
																																										}
																																								}
																																							}
																																							BgL_test3974z00_9355
																																								=
																																								BgL_res3717z00_5506;
																																						}
																																				}
																																			else
																																				{	/* Ast/let.scm 329 */
																																					BgL_test3974z00_9355
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																		if (BgL_test3974z00_9355)
																																			{	/* Ast/let.scm 331 */
																																				bool_t
																																					BgL_test3979z00_9375;
																																				{	/* Ast/let.scm 331 */
																																					BgL_nodez00_bglt
																																						BgL_arg2023z00_2210;
																																					BgL_arg2023z00_2210
																																						=
																																						(((BgL_letzd2varzd2_bglt) COBJECT(((BgL_letzd2varzd2_bglt) BgL_valz00_2097)))->BgL_bodyz00);
																																					BgL_test3979z00_9375
																																						=
																																						BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																						(((obj_t) BgL_arg2023z00_2210), BgL_varsz00_2098);
																																				}
																																				if (BgL_test3979z00_9375)
																																					{	/* Ast/let.scm 332 */
																																						obj_t
																																							BgL_g1457z00_2199;
																																						BgL_g1457z00_2199
																																							=
																																							(((BgL_letzd2varzd2_bglt) COBJECT(((BgL_letzd2varzd2_bglt) BgL_valz00_2097)))->BgL_bindingsz00);
																																						{
																																							obj_t
																																								BgL_l1455z00_2201;
																																							BgL_l1455z00_2201
																																								=
																																								BgL_g1457z00_2199;
																																						BgL_zc3z04anonymousza32018ze3z87_2202:
																																							if (NULLP(BgL_l1455z00_2201))
																																								{	/* Ast/let.scm 332 */
																																									return
																																										(
																																										(bool_t)
																																										1);
																																								}
																																							else
																																								{	/* Ast/let.scm 332 */
																																									bool_t
																																										BgL_test3981z00_9384;
																																									{	/* Ast/let.scm 333 */
																																										obj_t
																																											BgL_bindingz00_2207;
																																										BgL_bindingz00_2207
																																											=
																																											CAR
																																											(
																																											((obj_t) BgL_l1455z00_2201));
																																										{	/* Ast/let.scm 333 */
																																											obj_t
																																												BgL_arg2021z00_2208;
																																											BgL_arg2021z00_2208
																																												=
																																												CDR
																																												(
																																												((obj_t) BgL_bindingz00_2207));
																																											BgL_test3981z00_9384
																																												=
																																												BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																												(BgL_arg2021z00_2208,
																																												BgL_varsz00_2098);
																																										}
																																									}
																																									if (BgL_test3981z00_9384)
																																										{	/* Ast/let.scm 332 */
																																											obj_t
																																												BgL_arg2020z00_2206;
																																											BgL_arg2020z00_2206
																																												=
																																												CDR
																																												(
																																												((obj_t) BgL_l1455z00_2201));
																																											{
																																												obj_t
																																													BgL_l1455z00_9392;
																																												BgL_l1455z00_9392
																																													=
																																													BgL_arg2020z00_2206;
																																												BgL_l1455z00_2201
																																													=
																																													BgL_l1455z00_9392;
																																												goto
																																													BgL_zc3z04anonymousza32018ze3z87_2202;
																																											}
																																										}
																																									else
																																										{	/* Ast/let.scm 332 */
																																											return
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																						}
																																					}
																																				else
																																					{	/* Ast/let.scm 331 */
																																						return
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																		else
																																			{	/* Ast/let.scm 335 */
																																				bool_t
																																					BgL_test3982z00_9393;
																																				{	/* Ast/let.scm 335 */
																																					obj_t
																																						BgL_classz00_5510;
																																					BgL_classz00_5510
																																						=
																																						BGl_setzd2exzd2itz00zzast_nodez00;
																																					if (BGL_OBJECTP(BgL_valz00_2097))
																																						{	/* Ast/let.scm 335 */
																																							BgL_objectz00_bglt
																																								BgL_arg1801z00_5512;
																																							BgL_arg1801z00_5512
																																								=
																																								(BgL_objectz00_bglt)
																																								(BgL_valz00_2097);
																																							if (BGL_CONDEXPAND_ISA_ARCH64())
																																								{	/* Ast/let.scm 335 */
																																									long
																																										BgL_idxz00_5518;
																																									BgL_idxz00_5518
																																										=
																																										BGL_OBJECT_INHERITANCE_NUM
																																										(BgL_arg1801z00_5512);
																																									BgL_test3982z00_9393
																																										=
																																										(VECTOR_REF
																																										(BGl_za2inheritancesza2z00zz__objectz00,
																																											(BgL_idxz00_5518
																																												+
																																												2L))
																																										==
																																										BgL_classz00_5510);
																																								}
																																							else
																																								{	/* Ast/let.scm 335 */
																																									bool_t
																																										BgL_res3718z00_5540;
																																									{	/* Ast/let.scm 335 */
																																										obj_t
																																											BgL_oclassz00_5526;
																																										{	/* Ast/let.scm 335 */
																																											long
																																												BgL_arg1808z00_5532;
																																											{	/* Ast/let.scm 335 */
																																												long
																																													BgL_arg1809z00_5533;
																																												BgL_arg1809z00_5533
																																													=
																																													BGL_OBJECT_CLASS_NUM
																																													(BgL_arg1801z00_5512);
																																												BgL_arg1808z00_5532
																																													=
																																													(BgL_arg1809z00_5533
																																													-
																																													OBJECT_TYPE);
																																											}
																																											BgL_oclassz00_5526
																																												=
																																												VECTOR_REF
																																												(BGl_za2classesza2z00zz__objectz00,
																																												BgL_arg1808z00_5532);
																																										}
																																										{	/* Ast/let.scm 335 */
																																											bool_t
																																												BgL__ortest_1115z00_5527;
																																											BgL__ortest_1115z00_5527
																																												=
																																												(BgL_classz00_5510
																																												==
																																												BgL_oclassz00_5526);
																																											if (BgL__ortest_1115z00_5527)
																																												{	/* Ast/let.scm 335 */
																																													BgL_res3718z00_5540
																																														=
																																														BgL__ortest_1115z00_5527;
																																												}
																																											else
																																												{	/* Ast/let.scm 335 */
																																													long
																																														BgL_odepthz00_5528;
																																													BgL_odepthz00_5528
																																														=
																																														BGL_CLASS_DEPTH
																																														(BgL_oclassz00_5526);
																																													if ((2L < BgL_odepthz00_5528))
																																														{	/* Ast/let.scm 335 */
																																															obj_t
																																																BgL_arg1797z00_5530;
																																															BgL_arg1797z00_5530
																																																=
																																																BGL_CLASS_ANCESTORS_REF
																																																(BgL_oclassz00_5526,
																																																2L);
																																															BgL_res3718z00_5540
																																																=
																																																(BgL_arg1797z00_5530
																																																==
																																																BgL_classz00_5510);
																																														}
																																													else
																																														{	/* Ast/let.scm 335 */
																																															BgL_res3718z00_5540
																																																=
																																																(
																																																(bool_t)
																																																0);
																																														}
																																												}
																																										}
																																									}
																																									BgL_test3982z00_9393
																																										=
																																										BgL_res3718z00_5540;
																																								}
																																						}
																																					else
																																						{	/* Ast/let.scm 335 */
																																							BgL_test3982z00_9393
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																				if (BgL_test3982z00_9393)
																																					{	/* Ast/let.scm 337 */
																																						bool_t
																																							BgL_test3987z00_9413;
																																						{	/* Ast/let.scm 337 */
																																							BgL_varz00_bglt
																																								BgL_arg2029z00_2217;
																																							BgL_arg2029z00_2217
																																								=
																																								(
																																								((BgL_setzd2exzd2itz00_bglt) COBJECT(((BgL_setzd2exzd2itz00_bglt) BgL_valz00_2097)))->BgL_varz00);
																																							BgL_test3987z00_9413
																																								=
																																								BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																								(
																																								((obj_t) BgL_arg2029z00_2217), BgL_varsz00_2098);
																																						}
																																						if (BgL_test3987z00_9413)
																																							{	/* Ast/let.scm 338 */
																																								bool_t
																																									BgL_test3988z00_9418;
																																								{	/* Ast/let.scm 338 */
																																									BgL_nodez00_bglt
																																										BgL_arg2028z00_2216;
																																									BgL_arg2028z00_2216
																																										=
																																										(
																																										((BgL_setzd2exzd2itz00_bglt) COBJECT(((BgL_setzd2exzd2itz00_bglt) BgL_valz00_2097)))->BgL_bodyz00);
																																									BgL_test3988z00_9418
																																										=
																																										BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																										(
																																										((obj_t) BgL_arg2028z00_2216), BgL_varsz00_2098);
																																								}
																																								if (BgL_test3988z00_9418)
																																									{	/* Ast/let.scm 339 */
																																										BgL_nodez00_bglt
																																											BgL_arg2025z00_2215;
																																										BgL_arg2025z00_2215
																																											=
																																											(
																																											((BgL_setzd2exzd2itz00_bglt) COBJECT(((BgL_setzd2exzd2itz00_bglt) BgL_valz00_2097)))->BgL_onexitz00);
																																										{
																																											obj_t
																																												BgL_valz00_9425;
																																											BgL_valz00_9425
																																												=
																																												(
																																												(obj_t)
																																												BgL_arg2025z00_2215);
																																											BgL_valz00_2097
																																												=
																																												BgL_valz00_9425;
																																											goto
																																												BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																																										}
																																									}
																																								else
																																									{	/* Ast/let.scm 338 */
																																										return
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																						else
																																							{	/* Ast/let.scm 337 */
																																								return
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																				else
																																					{	/* Ast/let.scm 340 */
																																						bool_t
																																							BgL_test3989z00_9427;
																																						{	/* Ast/let.scm 340 */
																																							obj_t
																																								BgL_classz00_5541;
																																							BgL_classz00_5541
																																								=
																																								BGl_jumpzd2exzd2itz00zzast_nodez00;
																																							if (BGL_OBJECTP(BgL_valz00_2097))
																																								{	/* Ast/let.scm 340 */
																																									BgL_objectz00_bglt
																																										BgL_arg1801z00_5543;
																																									BgL_arg1801z00_5543
																																										=
																																										(BgL_objectz00_bglt)
																																										(BgL_valz00_2097);
																																									if (BGL_CONDEXPAND_ISA_ARCH64())
																																										{	/* Ast/let.scm 340 */
																																											long
																																												BgL_idxz00_5549;
																																											BgL_idxz00_5549
																																												=
																																												BGL_OBJECT_INHERITANCE_NUM
																																												(BgL_arg1801z00_5543);
																																											BgL_test3989z00_9427
																																												=
																																												(VECTOR_REF
																																												(BGl_za2inheritancesza2z00zz__objectz00,
																																													(BgL_idxz00_5549
																																														+
																																														2L))
																																												==
																																												BgL_classz00_5541);
																																										}
																																									else
																																										{	/* Ast/let.scm 340 */
																																											bool_t
																																												BgL_res3719z00_5571;
																																											{	/* Ast/let.scm 340 */
																																												obj_t
																																													BgL_oclassz00_5557;
																																												{	/* Ast/let.scm 340 */
																																													long
																																														BgL_arg1808z00_5563;
																																													{	/* Ast/let.scm 340 */
																																														long
																																															BgL_arg1809z00_5564;
																																														BgL_arg1809z00_5564
																																															=
																																															BGL_OBJECT_CLASS_NUM
																																															(BgL_arg1801z00_5543);
																																														BgL_arg1808z00_5563
																																															=
																																															(BgL_arg1809z00_5564
																																															-
																																															OBJECT_TYPE);
																																													}
																																													BgL_oclassz00_5557
																																														=
																																														VECTOR_REF
																																														(BGl_za2classesza2z00zz__objectz00,
																																														BgL_arg1808z00_5563);
																																												}
																																												{	/* Ast/let.scm 340 */
																																													bool_t
																																														BgL__ortest_1115z00_5558;
																																													BgL__ortest_1115z00_5558
																																														=
																																														(BgL_classz00_5541
																																														==
																																														BgL_oclassz00_5557);
																																													if (BgL__ortest_1115z00_5558)
																																														{	/* Ast/let.scm 340 */
																																															BgL_res3719z00_5571
																																																=
																																																BgL__ortest_1115z00_5558;
																																														}
																																													else
																																														{	/* Ast/let.scm 340 */
																																															long
																																																BgL_odepthz00_5559;
																																															BgL_odepthz00_5559
																																																=
																																																BGL_CLASS_DEPTH
																																																(BgL_oclassz00_5557);
																																															if ((2L < BgL_odepthz00_5559))
																																																{	/* Ast/let.scm 340 */
																																																	obj_t
																																																		BgL_arg1797z00_5561;
																																																	BgL_arg1797z00_5561
																																																		=
																																																		BGL_CLASS_ANCESTORS_REF
																																																		(BgL_oclassz00_5557,
																																																		2L);
																																																	BgL_res3719z00_5571
																																																		=
																																																		(BgL_arg1797z00_5561
																																																		==
																																																		BgL_classz00_5541);
																																																}
																																															else
																																																{	/* Ast/let.scm 340 */
																																																	BgL_res3719z00_5571
																																																		=
																																																		(
																																																		(bool_t)
																																																		0);
																																																}
																																														}
																																												}
																																											}
																																											BgL_test3989z00_9427
																																												=
																																												BgL_res3719z00_5571;
																																										}
																																								}
																																							else
																																								{	/* Ast/let.scm 340 */
																																									BgL_test3989z00_9427
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																						if (BgL_test3989z00_9427)
																																							{	/* Ast/let.scm 342 */
																																								bool_t
																																									BgL_test3994z00_9447;
																																								{	/* Ast/let.scm 342 */
																																									BgL_nodez00_bglt
																																										BgL_arg2032z00_2222;
																																									BgL_arg2032z00_2222
																																										=
																																										(
																																										((BgL_jumpzd2exzd2itz00_bglt) COBJECT(((BgL_jumpzd2exzd2itz00_bglt) BgL_valz00_2097)))->BgL_exitz00);
																																									BgL_test3994z00_9447
																																										=
																																										BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																										(
																																										((obj_t) BgL_arg2032z00_2222), BgL_varsz00_2098);
																																								}
																																								if (BgL_test3994z00_9447)
																																									{	/* Ast/let.scm 343 */
																																										BgL_nodez00_bglt
																																											BgL_arg2031z00_2221;
																																										BgL_arg2031z00_2221
																																											=
																																											(
																																											((BgL_jumpzd2exzd2itz00_bglt) COBJECT(((BgL_jumpzd2exzd2itz00_bglt) BgL_valz00_2097)))->BgL_valuez00);
																																										{
																																											obj_t
																																												BgL_valz00_9454;
																																											BgL_valz00_9454
																																												=
																																												(
																																												(obj_t)
																																												BgL_arg2031z00_2221);
																																											BgL_valz00_2097
																																												=
																																												BgL_valz00_9454;
																																											goto
																																												BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																																										}
																																									}
																																								else
																																									{	/* Ast/let.scm 342 */
																																										return
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																						else
																																							{	/* Ast/let.scm 344 */
																																								bool_t
																																									BgL_test3995z00_9456;
																																								{	/* Ast/let.scm 344 */
																																									obj_t
																																										BgL_classz00_5572;
																																									BgL_classz00_5572
																																										=
																																										BGl_makezd2boxzd2zzast_nodez00;
																																									if (BGL_OBJECTP(BgL_valz00_2097))
																																										{	/* Ast/let.scm 344 */
																																											BgL_objectz00_bglt
																																												BgL_arg1801z00_5574;
																																											BgL_arg1801z00_5574
																																												=
																																												(BgL_objectz00_bglt)
																																												(BgL_valz00_2097);
																																											if (BGL_CONDEXPAND_ISA_ARCH64())
																																												{	/* Ast/let.scm 344 */
																																													long
																																														BgL_idxz00_5580;
																																													BgL_idxz00_5580
																																														=
																																														BGL_OBJECT_INHERITANCE_NUM
																																														(BgL_arg1801z00_5574);
																																													BgL_test3995z00_9456
																																														=
																																														(VECTOR_REF
																																														(BGl_za2inheritancesza2z00zz__objectz00,
																																															(BgL_idxz00_5580
																																																+
																																																3L))
																																														==
																																														BgL_classz00_5572);
																																												}
																																											else
																																												{	/* Ast/let.scm 344 */
																																													bool_t
																																														BgL_res3720z00_5602;
																																													{	/* Ast/let.scm 344 */
																																														obj_t
																																															BgL_oclassz00_5588;
																																														{	/* Ast/let.scm 344 */
																																															long
																																																BgL_arg1808z00_5594;
																																															{	/* Ast/let.scm 344 */
																																																long
																																																	BgL_arg1809z00_5595;
																																																BgL_arg1809z00_5595
																																																	=
																																																	BGL_OBJECT_CLASS_NUM
																																																	(BgL_arg1801z00_5574);
																																																BgL_arg1808z00_5594
																																																	=
																																																	(BgL_arg1809z00_5595
																																																	-
																																																	OBJECT_TYPE);
																																															}
																																															BgL_oclassz00_5588
																																																=
																																																VECTOR_REF
																																																(BGl_za2classesza2z00zz__objectz00,
																																																BgL_arg1808z00_5594);
																																														}
																																														{	/* Ast/let.scm 344 */
																																															bool_t
																																																BgL__ortest_1115z00_5589;
																																															BgL__ortest_1115z00_5589
																																																=
																																																(BgL_classz00_5572
																																																==
																																																BgL_oclassz00_5588);
																																															if (BgL__ortest_1115z00_5589)
																																																{	/* Ast/let.scm 344 */
																																																	BgL_res3720z00_5602
																																																		=
																																																		BgL__ortest_1115z00_5589;
																																																}
																																															else
																																																{	/* Ast/let.scm 344 */
																																																	long
																																																		BgL_odepthz00_5590;
																																																	BgL_odepthz00_5590
																																																		=
																																																		BGL_CLASS_DEPTH
																																																		(BgL_oclassz00_5588);
																																																	if ((3L < BgL_odepthz00_5590))
																																																		{	/* Ast/let.scm 344 */
																																																			obj_t
																																																				BgL_arg1797z00_5592;
																																																			BgL_arg1797z00_5592
																																																				=
																																																				BGL_CLASS_ANCESTORS_REF
																																																				(BgL_oclassz00_5588,
																																																				3L);
																																																			BgL_res3720z00_5602
																																																				=
																																																				(BgL_arg1797z00_5592
																																																				==
																																																				BgL_classz00_5572);
																																																		}
																																																	else
																																																		{	/* Ast/let.scm 344 */
																																																			BgL_res3720z00_5602
																																																				=
																																																				(
																																																				(bool_t)
																																																				0);
																																																		}
																																																}
																																														}
																																													}
																																													BgL_test3995z00_9456
																																														=
																																														BgL_res3720z00_5602;
																																												}
																																										}
																																									else
																																										{	/* Ast/let.scm 344 */
																																											BgL_test3995z00_9456
																																												=
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																								if (BgL_test3995z00_9456)
																																									{	/* Ast/let.scm 346 */
																																										BgL_nodez00_bglt
																																											BgL_arg2034z00_2225;
																																										BgL_arg2034z00_2225
																																											=
																																											(
																																											((BgL_makezd2boxzd2_bglt) COBJECT(((BgL_makezd2boxzd2_bglt) BgL_valz00_2097)))->BgL_valuez00);
																																										{
																																											obj_t
																																												BgL_valz00_9478;
																																											BgL_valz00_9478
																																												=
																																												(
																																												(obj_t)
																																												BgL_arg2034z00_2225);
																																											BgL_valz00_2097
																																												=
																																												BgL_valz00_9478;
																																											goto
																																												BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																																										}
																																									}
																																								else
																																									{	/* Ast/let.scm 347 */
																																										bool_t
																																											BgL_test4000z00_9480;
																																										{	/* Ast/let.scm 347 */
																																											obj_t
																																												BgL_classz00_5603;
																																											BgL_classz00_5603
																																												=
																																												BGl_boxzd2refzd2zzast_nodez00;
																																											if (BGL_OBJECTP(BgL_valz00_2097))
																																												{	/* Ast/let.scm 347 */
																																													BgL_objectz00_bglt
																																														BgL_arg1801z00_5605;
																																													BgL_arg1801z00_5605
																																														=
																																														(BgL_objectz00_bglt)
																																														(BgL_valz00_2097);
																																													if (BGL_CONDEXPAND_ISA_ARCH64())
																																														{	/* Ast/let.scm 347 */
																																															long
																																																BgL_idxz00_5611;
																																															BgL_idxz00_5611
																																																=
																																																BGL_OBJECT_INHERITANCE_NUM
																																																(BgL_arg1801z00_5605);
																																															BgL_test4000z00_9480
																																																=
																																																(VECTOR_REF
																																																(BGl_za2inheritancesza2z00zz__objectz00,
																																																	(BgL_idxz00_5611
																																																		+
																																																		3L))
																																																==
																																																BgL_classz00_5603);
																																														}
																																													else
																																														{	/* Ast/let.scm 347 */
																																															bool_t
																																																BgL_res3721z00_5633;
																																															{	/* Ast/let.scm 347 */
																																																obj_t
																																																	BgL_oclassz00_5619;
																																																{	/* Ast/let.scm 347 */
																																																	long
																																																		BgL_arg1808z00_5625;
																																																	{	/* Ast/let.scm 347 */
																																																		long
																																																			BgL_arg1809z00_5626;
																																																		BgL_arg1809z00_5626
																																																			=
																																																			BGL_OBJECT_CLASS_NUM
																																																			(BgL_arg1801z00_5605);
																																																		BgL_arg1808z00_5625
																																																			=
																																																			(BgL_arg1809z00_5626
																																																			-
																																																			OBJECT_TYPE);
																																																	}
																																																	BgL_oclassz00_5619
																																																		=
																																																		VECTOR_REF
																																																		(BGl_za2classesza2z00zz__objectz00,
																																																		BgL_arg1808z00_5625);
																																																}
																																																{	/* Ast/let.scm 347 */
																																																	bool_t
																																																		BgL__ortest_1115z00_5620;
																																																	BgL__ortest_1115z00_5620
																																																		=
																																																		(BgL_classz00_5603
																																																		==
																																																		BgL_oclassz00_5619);
																																																	if (BgL__ortest_1115z00_5620)
																																																		{	/* Ast/let.scm 347 */
																																																			BgL_res3721z00_5633
																																																				=
																																																				BgL__ortest_1115z00_5620;
																																																		}
																																																	else
																																																		{	/* Ast/let.scm 347 */
																																																			long
																																																				BgL_odepthz00_5621;
																																																			BgL_odepthz00_5621
																																																				=
																																																				BGL_CLASS_DEPTH
																																																				(BgL_oclassz00_5619);
																																																			if ((3L < BgL_odepthz00_5621))
																																																				{	/* Ast/let.scm 347 */
																																																					obj_t
																																																						BgL_arg1797z00_5623;
																																																					BgL_arg1797z00_5623
																																																						=
																																																						BGL_CLASS_ANCESTORS_REF
																																																						(BgL_oclassz00_5619,
																																																						3L);
																																																					BgL_res3721z00_5633
																																																						=
																																																						(BgL_arg1797z00_5623
																																																						==
																																																						BgL_classz00_5603);
																																																				}
																																																			else
																																																				{	/* Ast/let.scm 347 */
																																																					BgL_res3721z00_5633
																																																						=
																																																						(
																																																						(bool_t)
																																																						0);
																																																				}
																																																		}
																																																}
																																															}
																																															BgL_test4000z00_9480
																																																=
																																																BgL_res3721z00_5633;
																																														}
																																												}
																																											else
																																												{	/* Ast/let.scm 347 */
																																													BgL_test4000z00_9480
																																														=
																																														(
																																														(bool_t)
																																														0);
																																												}
																																										}
																																										if (BgL_test4000z00_9480)
																																											{	/* Ast/let.scm 349 */
																																												BgL_varz00_bglt
																																													BgL_arg2036z00_2228;
																																												BgL_arg2036z00_2228
																																													=
																																													(
																																													((BgL_boxzd2refzd2_bglt) COBJECT(((BgL_boxzd2refzd2_bglt) BgL_valz00_2097)))->BgL_varz00);
																																												{
																																													obj_t
																																														BgL_valz00_9502;
																																													BgL_valz00_9502
																																														=
																																														(
																																														(obj_t)
																																														BgL_arg2036z00_2228);
																																													BgL_valz00_2097
																																														=
																																														BgL_valz00_9502;
																																													goto
																																														BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																																												}
																																											}
																																										else
																																											{	/* Ast/let.scm 350 */
																																												bool_t
																																													BgL_test4005z00_9504;
																																												{	/* Ast/let.scm 350 */
																																													obj_t
																																														BgL_classz00_5634;
																																													BgL_classz00_5634
																																														=
																																														BGl_boxzd2setz12zc0zzast_nodez00;
																																													if (BGL_OBJECTP(BgL_valz00_2097))
																																														{	/* Ast/let.scm 350 */
																																															BgL_objectz00_bglt
																																																BgL_arg1801z00_5636;
																																															BgL_arg1801z00_5636
																																																=
																																																(BgL_objectz00_bglt)
																																																(BgL_valz00_2097);
																																															if (BGL_CONDEXPAND_ISA_ARCH64())
																																																{	/* Ast/let.scm 350 */
																																																	long
																																																		BgL_idxz00_5642;
																																																	BgL_idxz00_5642
																																																		=
																																																		BGL_OBJECT_INHERITANCE_NUM
																																																		(BgL_arg1801z00_5636);
																																																	BgL_test4005z00_9504
																																																		=
																																																		(VECTOR_REF
																																																		(BGl_za2inheritancesza2z00zz__objectz00,
																																																			(BgL_idxz00_5642
																																																				+
																																																				2L))
																																																		==
																																																		BgL_classz00_5634);
																																																}
																																															else
																																																{	/* Ast/let.scm 350 */
																																																	bool_t
																																																		BgL_res3722z00_5664;
																																																	{	/* Ast/let.scm 350 */
																																																		obj_t
																																																			BgL_oclassz00_5650;
																																																		{	/* Ast/let.scm 350 */
																																																			long
																																																				BgL_arg1808z00_5656;
																																																			{	/* Ast/let.scm 350 */
																																																				long
																																																					BgL_arg1809z00_5657;
																																																				BgL_arg1809z00_5657
																																																					=
																																																					BGL_OBJECT_CLASS_NUM
																																																					(BgL_arg1801z00_5636);
																																																				BgL_arg1808z00_5656
																																																					=
																																																					(BgL_arg1809z00_5657
																																																					-
																																																					OBJECT_TYPE);
																																																			}
																																																			BgL_oclassz00_5650
																																																				=
																																																				VECTOR_REF
																																																				(BGl_za2classesza2z00zz__objectz00,
																																																				BgL_arg1808z00_5656);
																																																		}
																																																		{	/* Ast/let.scm 350 */
																																																			bool_t
																																																				BgL__ortest_1115z00_5651;
																																																			BgL__ortest_1115z00_5651
																																																				=
																																																				(BgL_classz00_5634
																																																				==
																																																				BgL_oclassz00_5650);
																																																			if (BgL__ortest_1115z00_5651)
																																																				{	/* Ast/let.scm 350 */
																																																					BgL_res3722z00_5664
																																																						=
																																																						BgL__ortest_1115z00_5651;
																																																				}
																																																			else
																																																				{	/* Ast/let.scm 350 */
																																																					long
																																																						BgL_odepthz00_5652;
																																																					BgL_odepthz00_5652
																																																						=
																																																						BGL_CLASS_DEPTH
																																																						(BgL_oclassz00_5650);
																																																					if ((2L < BgL_odepthz00_5652))
																																																						{	/* Ast/let.scm 350 */
																																																							obj_t
																																																								BgL_arg1797z00_5654;
																																																							BgL_arg1797z00_5654
																																																								=
																																																								BGL_CLASS_ANCESTORS_REF
																																																								(BgL_oclassz00_5650,
																																																								2L);
																																																							BgL_res3722z00_5664
																																																								=
																																																								(BgL_arg1797z00_5654
																																																								==
																																																								BgL_classz00_5634);
																																																						}
																																																					else
																																																						{	/* Ast/let.scm 350 */
																																																							BgL_res3722z00_5664
																																																								=
																																																								(
																																																								(bool_t)
																																																								0);
																																																						}
																																																				}
																																																		}
																																																	}
																																																	BgL_test4005z00_9504
																																																		=
																																																		BgL_res3722z00_5664;
																																																}
																																														}
																																													else
																																														{	/* Ast/let.scm 350 */
																																															BgL_test4005z00_9504
																																																=
																																																(
																																																(bool_t)
																																																0);
																																														}
																																												}
																																												if (BgL_test4005z00_9504)
																																													{	/* Ast/let.scm 352 */
																																														bool_t
																																															BgL_test4010z00_9524;
																																														{	/* Ast/let.scm 352 */
																																															BgL_varz00_bglt
																																																BgL_arg2039z00_2233;
																																															BgL_arg2039z00_2233
																																																=
																																																(
																																																((BgL_boxzd2setz12zc0_bglt) COBJECT(((BgL_boxzd2setz12zc0_bglt) BgL_valz00_2097)))->BgL_varz00);
																																															BgL_test4010z00_9524
																																																=
																																																BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
																																																(
																																																((obj_t) BgL_arg2039z00_2233), BgL_varsz00_2098);
																																														}
																																														if (BgL_test4010z00_9524)
																																															{	/* Ast/let.scm 353 */
																																																BgL_nodez00_bglt
																																																	BgL_arg2038z00_2232;
																																																BgL_arg2038z00_2232
																																																	=
																																																	(
																																																	((BgL_boxzd2setz12zc0_bglt) COBJECT(((BgL_boxzd2setz12zc0_bglt) BgL_valz00_2097)))->BgL_valuez00);
																																																{
																																																	obj_t
																																																		BgL_valz00_9531;
																																																	BgL_valz00_9531
																																																		=
																																																		(
																																																		(obj_t)
																																																		BgL_arg2038z00_2232);
																																																	BgL_valz00_2097
																																																		=
																																																		BgL_valz00_9531;
																																																	goto
																																																		BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00;
																																																}
																																															}
																																														else
																																															{	/* Ast/let.scm 352 */
																																																return
																																																	(
																																																	(bool_t)
																																																	0);
																																															}
																																													}
																																												else
																																													{	/* Ast/let.scm 350 */
																																														return
																																															(
																																															(bool_t)
																																															0);
																																													}
																																											}
																																									}
																																							}
																																					}
																																			}
																																	}
																															}
																													}
																											}
																									}
																							}
																					}
																			}
																	}
															}
													}
											}
									}
							}
					}
			}
		}

	}



/* safe-let-optim?~0 */
	bool_t BGl_safezd2letzd2optimzf3ze70z14zzast_letz00(obj_t BgL_varsz00_7633,
		BgL_letzd2varzd2_bglt BgL_nodez00_2248)
	{
		{	/* Ast/let.scm 372 */
			if (NULLP(
					(((BgL_letzd2varzd2_bglt) COBJECT(BgL_nodez00_2248))->
						BgL_bindingsz00)))
				{	/* Ast/let.scm 364 */
					return ((bool_t) 1);
				}
			else
				{	/* Ast/let.scm 364 */
					if (NULLP(CDR(
								(((BgL_letzd2varzd2_bglt) COBJECT(BgL_nodez00_2248))->
									BgL_bindingsz00))))
						{	/* Ast/let.scm 367 */
							obj_t BgL_arg2051z00_2256;

							{	/* Ast/let.scm 367 */
								obj_t BgL_pairz00_5669;

								BgL_pairz00_5669 =
									(((BgL_letzd2varzd2_bglt) COBJECT(BgL_nodez00_2248))->
									BgL_bindingsz00);
								BgL_arg2051z00_2256 = CDR(CAR(BgL_pairz00_5669));
							}
							return
								BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
								(BgL_arg2051z00_2256, BgL_varsz00_7633);
						}
					else
						{	/* Ast/let.scm 369 */
							obj_t BgL_g1465z00_2258;

							BgL_g1465z00_2258 =
								(((BgL_letzd2varzd2_bglt) COBJECT(BgL_nodez00_2248))->
								BgL_bindingsz00);
							{
								obj_t BgL_l1463z00_2260;

								BgL_l1463z00_2260 = BgL_g1465z00_2258;
							BgL_zc3z04anonymousza32054ze3z87_2261:
								if (NULLP(BgL_l1463z00_2260))
									{	/* Ast/let.scm 369 */
										return ((bool_t) 1);
									}
								else
									{	/* Ast/let.scm 369 */
										bool_t BgL_test4014z00_9547;

										{	/* Ast/let.scm 370 */
											obj_t BgL_bz00_2266;

											BgL_bz00_2266 = CAR(((obj_t) BgL_l1463z00_2260));
											if (
												((((BgL_variablez00_bglt) COBJECT(
																((BgL_variablez00_bglt)
																	CAR(
																		((obj_t) BgL_bz00_2266)))))->
														BgL_accessz00) == CNST_TABLE_REF(6L)))
												{	/* Ast/let.scm 371 */
													obj_t BgL_arg2060z00_2270;

													BgL_arg2060z00_2270 = CDR(((obj_t) BgL_bz00_2266));
													BgL_test4014z00_9547 =
														BGl_safezd2reczd2valzd2optimzf3ze70zc6zzast_letz00
														(BgL_arg2060z00_2270, BgL_varsz00_7633);
												}
											else
												{	/* Ast/let.scm 370 */
													BgL_test4014z00_9547 = ((bool_t) 0);
												}
										}
										if (BgL_test4014z00_9547)
											{	/* Ast/let.scm 369 */
												obj_t BgL_arg2056z00_2265;

												BgL_arg2056z00_2265 = CDR(((obj_t) BgL_l1463z00_2260));
												{
													obj_t BgL_l1463z00_9562;

													BgL_l1463z00_9562 = BgL_arg2056z00_2265;
													BgL_l1463z00_2260 = BgL_l1463z00_9562;
													goto BgL_zc3z04anonymousza32054ze3z87_2261;
												}
											}
										else
											{	/* Ast/let.scm 369 */
												return ((bool_t) 0);
											}
									}
							}
						}
				}
		}

	}



/* let->labels */
	BgL_letzd2funzd2_bglt BGl_letzd2ze3labelsz31zzast_letz00(obj_t
		BgL_valuezd2bindingszd2_32, BgL_nodez00_bglt BgL_nodez00_33,
		obj_t BgL_sitez00_34)
	{
		{	/* Ast/let.scm 480 */
			{	/* Ast/let.scm 482 */
				obj_t BgL_oldzd2funszd2_2281;
				obj_t BgL_newzd2funszd2_2282;

				if (NULLP(BgL_valuezd2bindingszd2_32))
					{	/* Ast/let.scm 482 */
						BgL_oldzd2funszd2_2281 = BNIL;
					}
				else
					{	/* Ast/let.scm 482 */
						obj_t BgL_head1469z00_2319;

						{	/* Ast/let.scm 482 */
							obj_t BgL_arg2095z00_2331;

							{	/* Ast/let.scm 482 */
								obj_t BgL_pairz00_5818;

								BgL_pairz00_5818 = CAR(((obj_t) BgL_valuezd2bindingszd2_32));
								BgL_arg2095z00_2331 = CAR(BgL_pairz00_5818);
							}
							BgL_head1469z00_2319 = MAKE_YOUNG_PAIR(BgL_arg2095z00_2331, BNIL);
						}
						{	/* Ast/let.scm 482 */
							obj_t BgL_g1472z00_2320;

							BgL_g1472z00_2320 = CDR(((obj_t) BgL_valuezd2bindingszd2_32));
							{
								obj_t BgL_l1467z00_2322;
								obj_t BgL_tail1470z00_2323;

								BgL_l1467z00_2322 = BgL_g1472z00_2320;
								BgL_tail1470z00_2323 = BgL_head1469z00_2319;
							BgL_zc3z04anonymousza32089ze3z87_2324:
								if (NULLP(BgL_l1467z00_2322))
									{	/* Ast/let.scm 482 */
										BgL_oldzd2funszd2_2281 = BgL_head1469z00_2319;
									}
								else
									{	/* Ast/let.scm 482 */
										obj_t BgL_newtail1471z00_2326;

										{	/* Ast/let.scm 482 */
											obj_t BgL_arg2093z00_2328;

											{	/* Ast/let.scm 482 */
												obj_t BgL_pairz00_5821;

												BgL_pairz00_5821 = CAR(((obj_t) BgL_l1467z00_2322));
												BgL_arg2093z00_2328 = CAR(BgL_pairz00_5821);
											}
											BgL_newtail1471z00_2326 =
												MAKE_YOUNG_PAIR(BgL_arg2093z00_2328, BNIL);
										}
										SET_CDR(BgL_tail1470z00_2323, BgL_newtail1471z00_2326);
										{	/* Ast/let.scm 482 */
											obj_t BgL_arg2091z00_2327;

											BgL_arg2091z00_2327 = CDR(((obj_t) BgL_l1467z00_2322));
											{
												obj_t BgL_tail1470z00_9581;
												obj_t BgL_l1467z00_9580;

												BgL_l1467z00_9580 = BgL_arg2091z00_2327;
												BgL_tail1470z00_9581 = BgL_newtail1471z00_2326;
												BgL_tail1470z00_2323 = BgL_tail1470z00_9581;
												BgL_l1467z00_2322 = BgL_l1467z00_9580;
												goto BgL_zc3z04anonymousza32089ze3z87_2324;
											}
										}
									}
							}
						}
					}
				if (NULLP(BgL_valuezd2bindingszd2_32))
					{	/* Ast/let.scm 483 */
						BgL_newzd2funszd2_2282 = BNIL;
					}
				else
					{	/* Ast/let.scm 483 */
						obj_t BgL_head1475z00_2335;

						BgL_head1475z00_2335 = MAKE_YOUNG_PAIR(BNIL, BNIL);
						{
							obj_t BgL_l1473z00_2337;
							obj_t BgL_tail1476z00_2338;

							BgL_l1473z00_2337 = BgL_valuezd2bindingszd2_32;
							BgL_tail1476z00_2338 = BgL_head1475z00_2335;
						BgL_zc3z04anonymousza32098ze3z87_2339:
							if (NULLP(BgL_l1473z00_2337))
								{	/* Ast/let.scm 483 */
									BgL_newzd2funszd2_2282 = CDR(BgL_head1475z00_2335);
								}
							else
								{	/* Ast/let.scm 483 */
									obj_t BgL_newtail1477z00_2341;

									{	/* Ast/let.scm 483 */
										BgL_localz00_bglt BgL_arg2101z00_2343;

										{	/* Ast/let.scm 483 */
											obj_t BgL_bindingz00_2344;

											BgL_bindingz00_2344 = CAR(((obj_t) BgL_l1473z00_2337));
											{	/* Ast/let.scm 484 */
												obj_t BgL_ovarz00_2345;

												BgL_ovarz00_2345 = CAR(((obj_t) BgL_bindingz00_2344));
												{	/* Ast/let.scm 484 */
													obj_t BgL_valz00_2346;

													BgL_valz00_2346 = CDR(((obj_t) BgL_bindingz00_2344));
													{	/* Ast/let.scm 485 */
														obj_t BgL_auxz00_2347;

														{	/* Ast/let.scm 486 */
															obj_t BgL_pairz00_5829;

															BgL_pairz00_5829 =
																(((BgL_letzd2funzd2_bglt) COBJECT(
																		((BgL_letzd2funzd2_bglt)
																			BgL_valz00_2346)))->BgL_localsz00);
															BgL_auxz00_2347 = CAR(BgL_pairz00_5829);
														}
														{	/* Ast/let.scm 486 */
															obj_t BgL_idz00_2348;

															if (
																(((BgL_variablez00_bglt) COBJECT(
																			((BgL_variablez00_bglt)
																				((BgL_localz00_bglt)
																					BgL_ovarz00_2345))))->BgL_userzf3zf3))
																{	/* Ast/let.scm 487 */
																	BgL_idz00_2348 =
																		(((BgL_variablez00_bglt) COBJECT(
																				((BgL_variablez00_bglt)
																					((BgL_localz00_bglt)
																						BgL_ovarz00_2345))))->BgL_idz00);
																}
															else
																{	/* Ast/let.scm 487 */
																	BgL_idz00_2348 =
																		(((BgL_variablez00_bglt) COBJECT(
																				((BgL_variablez00_bglt)
																					((BgL_localz00_bglt)
																						BgL_auxz00_2347))))->BgL_idz00);
																}
															{	/* Ast/let.scm 487 */
																BgL_localz00_bglt BgL_newz00_2349;

																{	/* Ast/let.scm 490 */
																	BgL_typez00_bglt BgL_arg2105z00_2354;

																	BgL_arg2105z00_2354 =
																		(((BgL_variablez00_bglt) COBJECT(
																				((BgL_variablez00_bglt)
																					((BgL_localz00_bglt)
																						BgL_auxz00_2347))))->BgL_typez00);
																	BgL_newz00_2349 =
																		BGl_makezd2localzd2svarz00zzast_localz00
																		(BgL_idz00_2348, BgL_arg2105z00_2354);
																}
																{	/* Ast/let.scm 490 */

																	{	/* Ast/let.scm 491 */
																		BgL_valuez00_bglt BgL_arg2102z00_2350;

																		BgL_arg2102z00_2350 =
																			(((BgL_variablez00_bglt) COBJECT(
																					((BgL_variablez00_bglt)
																						((BgL_localz00_bglt)
																							BgL_auxz00_2347))))->
																			BgL_valuez00);
																		((((BgL_variablez00_bglt)
																					COBJECT(((BgL_variablez00_bglt)
																							BgL_newz00_2349)))->
																				BgL_valuez00) =
																			((BgL_valuez00_bglt) BgL_arg2102z00_2350),
																			BUNSPEC);
																	}
																	{	/* Ast/let.scm 492 */
																		bool_t BgL_arg2103z00_2351;

																		{	/* Ast/let.scm 492 */
																			bool_t BgL__ortest_1181z00_2352;

																			BgL__ortest_1181z00_2352 =
																				(((BgL_variablez00_bglt) COBJECT(
																						((BgL_variablez00_bglt)
																							((BgL_localz00_bglt)
																								BgL_auxz00_2347))))->
																				BgL_userzf3zf3);
																			if (BgL__ortest_1181z00_2352)
																				{	/* Ast/let.scm 492 */
																					BgL_arg2103z00_2351 =
																						BgL__ortest_1181z00_2352;
																				}
																			else
																				{	/* Ast/let.scm 492 */
																					BgL_arg2103z00_2351 =
																						(((BgL_variablez00_bglt) COBJECT(
																								((BgL_variablez00_bglt)
																									((BgL_localz00_bglt)
																										BgL_ovarz00_2345))))->
																						BgL_userzf3zf3);
																				}
																		}
																		((((BgL_variablez00_bglt) COBJECT(
																						((BgL_variablez00_bglt)
																							BgL_newz00_2349)))->
																				BgL_userzf3zf3) =
																			((bool_t) BgL_arg2103z00_2351), BUNSPEC);
																	}
																	{	/* Ast/let.scm 494 */
																		obj_t BgL_arg2104z00_2353;

																		BgL_arg2104z00_2353 =
																			(((BgL_variablez00_bglt) COBJECT(
																					((BgL_variablez00_bglt)
																						((BgL_localz00_bglt)
																							BgL_auxz00_2347))))->BgL_namez00);
																		((((BgL_variablez00_bglt)
																					COBJECT(((BgL_variablez00_bglt)
																							BgL_newz00_2349)))->BgL_namez00) =
																			((obj_t) BgL_arg2104z00_2353), BUNSPEC);
																	}
																	BgL_arg2101z00_2343 = BgL_newz00_2349;
																}
															}
														}
													}
												}
											}
										}
										BgL_newtail1477z00_2341 =
											MAKE_YOUNG_PAIR(((obj_t) BgL_arg2101z00_2343), BNIL);
									}
									SET_CDR(BgL_tail1476z00_2338, BgL_newtail1477z00_2341);
									{	/* Ast/let.scm 483 */
										obj_t BgL_arg2100z00_2342;

										BgL_arg2100z00_2342 = CDR(((obj_t) BgL_l1473z00_2337));
										{
											obj_t BgL_tail1476z00_9636;
											obj_t BgL_l1473z00_9635;

											BgL_l1473z00_9635 = BgL_arg2100z00_2342;
											BgL_tail1476z00_9636 = BgL_newtail1477z00_2341;
											BgL_tail1476z00_2338 = BgL_tail1476z00_9636;
											BgL_l1473z00_2337 = BgL_l1473z00_9635;
											goto BgL_zc3z04anonymousza32098ze3z87_2339;
										}
									}
								}
						}
					}
				{
					obj_t BgL_vbindingsz00_2284;
					obj_t BgL_nvarsz00_2285;

					BgL_vbindingsz00_2284 = BgL_valuezd2bindingszd2_32;
					BgL_nvarsz00_2285 = BgL_newzd2funszd2_2282;
				BgL_zc3z04anonymousza32068ze3z87_2286:
					if (NULLP(BgL_vbindingsz00_2284))
						{	/* Ast/let.scm 502 */
							BgL_nodez00_bglt BgL_bodyz00_2288;

							BgL_bodyz00_2288 =
								BGl_substitutez12z12zzast_substitutez00(BgL_oldzd2funszd2_2281,
								BgL_newzd2funszd2_2282, BgL_nodez00_33, BgL_sitez00_34);
							{	/* Ast/let.scm 502 */
								obj_t BgL_funsz00_2289;

								BgL_funsz00_2289 = bgl_reverse_bang(BgL_newzd2funszd2_2282);
								{	/* Ast/let.scm 503 */
									obj_t BgL_locz00_2290;

									{	/* Ast/let.scm 504 */
										bool_t BgL_test4023z00_9641;

										if (NULLP(BgL_funsz00_2289))
											{	/* Ast/let.scm 504 */
												BgL_test4023z00_9641 = ((bool_t) 0);
											}
										else
											{	/* Ast/let.scm 505 */
												BgL_valuez00_bglt BgL_arg2079z00_2302;

												BgL_arg2079z00_2302 =
													(((BgL_variablez00_bglt) COBJECT(
															((BgL_variablez00_bglt)
																((BgL_localz00_bglt)
																	CAR(BgL_funsz00_2289)))))->BgL_valuez00);
												{	/* Ast/let.scm 505 */
													obj_t BgL_classz00_5847;

													BgL_classz00_5847 = BGl_sfunz00zzast_varz00;
													{	/* Ast/let.scm 505 */
														BgL_objectz00_bglt BgL_arg1801z00_5849;

														{	/* Ast/let.scm 505 */
															obj_t BgL_tmpz00_9648;

															BgL_tmpz00_9648 =
																((obj_t)
																((BgL_objectz00_bglt) BgL_arg2079z00_2302));
															BgL_arg1801z00_5849 =
																(BgL_objectz00_bglt) (BgL_tmpz00_9648);
														}
														if (BGL_CONDEXPAND_ISA_ARCH64())
															{	/* Ast/let.scm 505 */
																long BgL_idxz00_5855;

																BgL_idxz00_5855 =
																	BGL_OBJECT_INHERITANCE_NUM
																	(BgL_arg1801z00_5849);
																BgL_test4023z00_9641 =
																	(VECTOR_REF
																	(BGl_za2inheritancesza2z00zz__objectz00,
																		(BgL_idxz00_5855 + 3L)) ==
																	BgL_classz00_5847);
															}
														else
															{	/* Ast/let.scm 505 */
																bool_t BgL_res3727z00_5877;

																{	/* Ast/let.scm 505 */
																	obj_t BgL_oclassz00_5863;

																	{	/* Ast/let.scm 505 */
																		long BgL_arg1808z00_5869;

																		{	/* Ast/let.scm 505 */
																			long BgL_arg1809z00_5870;

																			BgL_arg1809z00_5870 =
																				BGL_OBJECT_CLASS_NUM
																				(BgL_arg1801z00_5849);
																			BgL_arg1808z00_5869 =
																				(BgL_arg1809z00_5870 - OBJECT_TYPE);
																		}
																		BgL_oclassz00_5863 =
																			VECTOR_REF
																			(BGl_za2classesza2z00zz__objectz00,
																			BgL_arg1808z00_5869);
																	}
																	{	/* Ast/let.scm 505 */
																		bool_t BgL__ortest_1115z00_5864;

																		BgL__ortest_1115z00_5864 =
																			(BgL_classz00_5847 == BgL_oclassz00_5863);
																		if (BgL__ortest_1115z00_5864)
																			{	/* Ast/let.scm 505 */
																				BgL_res3727z00_5877 =
																					BgL__ortest_1115z00_5864;
																			}
																		else
																			{	/* Ast/let.scm 505 */
																				long BgL_odepthz00_5865;

																				BgL_odepthz00_5865 =
																					BGL_CLASS_DEPTH(BgL_oclassz00_5863);
																				if ((3L < BgL_odepthz00_5865))
																					{	/* Ast/let.scm 505 */
																						obj_t BgL_arg1797z00_5867;

																						BgL_arg1797z00_5867 =
																							BGL_CLASS_ANCESTORS_REF
																							(BgL_oclassz00_5863, 3L);
																						BgL_res3727z00_5877 =
																							(BgL_arg1797z00_5867 ==
																							BgL_classz00_5847);
																					}
																				else
																					{	/* Ast/let.scm 505 */
																						BgL_res3727z00_5877 = ((bool_t) 0);
																					}
																			}
																	}
																}
																BgL_test4023z00_9641 = BgL_res3727z00_5877;
															}
													}
												}
											}
										if (BgL_test4023z00_9641)
											{	/* Ast/let.scm 504 */
												BgL_locz00_2290 =
													(((BgL_nodez00_bglt) COBJECT(
															((BgL_nodez00_bglt)
																(((BgL_sfunz00_bglt) COBJECT(
																			((BgL_sfunz00_bglt)
																				(((BgL_variablez00_bglt) COBJECT(
																							((BgL_variablez00_bglt)
																								((BgL_localz00_bglt)
																									CAR(BgL_funsz00_2289)))))->
																					BgL_valuez00))))->BgL_bodyz00))))->
													BgL_locz00);
											}
										else
											{	/* Ast/let.scm 504 */
												BgL_locz00_2290 =
													(((BgL_nodez00_bglt) COBJECT(BgL_nodez00_33))->
													BgL_locz00);
											}
									}
									{	/* Ast/let.scm 504 */

										{	/* Ast/let.scm 508 */
											BgL_letzd2funzd2_bglt BgL_new1184z00_2291;

											{	/* Ast/let.scm 509 */
												BgL_letzd2funzd2_bglt BgL_new1182z00_2292;

												BgL_new1182z00_2292 =
													((BgL_letzd2funzd2_bglt)
													BOBJECT(GC_MALLOC(sizeof(struct
																BgL_letzd2funzd2_bgl))));
												{	/* Ast/let.scm 509 */
													long BgL_arg2070z00_2293;

													BgL_arg2070z00_2293 =
														BGL_CLASS_NUM(BGl_letzd2funzd2zzast_nodez00);
													BGL_OBJECT_CLASS_NUM_SET(
														((BgL_objectz00_bglt) BgL_new1182z00_2292),
														BgL_arg2070z00_2293);
												}
												{	/* Ast/let.scm 509 */
													BgL_objectz00_bglt BgL_tmpz00_9681;

													BgL_tmpz00_9681 =
														((BgL_objectz00_bglt) BgL_new1182z00_2292);
													BGL_OBJECT_WIDENING_SET(BgL_tmpz00_9681, BFALSE);
												}
												((BgL_objectz00_bglt) BgL_new1182z00_2292);
												BgL_new1184z00_2291 = BgL_new1182z00_2292;
											}
											((((BgL_nodez00_bglt) COBJECT(
															((BgL_nodez00_bglt) BgL_new1184z00_2291)))->
													BgL_locz00) = ((obj_t) BgL_locz00_2290), BUNSPEC);
											((((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
																BgL_new1184z00_2291)))->BgL_typez00) =
												((BgL_typez00_bglt) (((BgL_nodez00_bglt)
															COBJECT(BgL_nodez00_33))->BgL_typez00)), BUNSPEC);
											((((BgL_nodezf2effectzf2_bglt)
														COBJECT(((BgL_nodezf2effectzf2_bglt)
																BgL_new1184z00_2291)))->BgL_sidezd2effectzd2) =
												((obj_t) BUNSPEC), BUNSPEC);
											((((BgL_nodezf2effectzf2_bglt)
														COBJECT(((BgL_nodezf2effectzf2_bglt)
																BgL_new1184z00_2291)))->BgL_keyz00) =
												((obj_t) BINT(-1L)), BUNSPEC);
											((((BgL_letzd2funzd2_bglt) COBJECT(BgL_new1184z00_2291))->
													BgL_localsz00) = ((obj_t) BgL_funsz00_2289), BUNSPEC);
											((((BgL_letzd2funzd2_bglt) COBJECT(BgL_new1184z00_2291))->
													BgL_bodyz00) =
												((BgL_nodez00_bglt) BgL_bodyz00_2288), BUNSPEC);
											return BgL_new1184z00_2291;
										}
									}
								}
							}
						}
					else
						{	/* Ast/let.scm 514 */
							obj_t BgL_bindingz00_2304;

							BgL_bindingz00_2304 = CAR(((obj_t) BgL_vbindingsz00_2284));
							{	/* Ast/let.scm 514 */
								obj_t BgL_nvarz00_2305;

								BgL_nvarz00_2305 = CAR(((obj_t) BgL_nvarsz00_2285));
								{	/* Ast/let.scm 515 */
									BgL_valuez00_bglt BgL_sfunz00_2306;

									BgL_sfunz00_2306 =
										(((BgL_variablez00_bglt) COBJECT(
												((BgL_variablez00_bglt)
													((BgL_localz00_bglt) BgL_nvarz00_2305))))->
										BgL_valuez00);
									{	/* Ast/let.scm 516 */
										obj_t BgL_bodyz00_2307;

										BgL_bodyz00_2307 =
											(((BgL_sfunz00_bglt) COBJECT(
													((BgL_sfunz00_bglt) BgL_sfunz00_2306)))->BgL_bodyz00);
										{	/* Ast/let.scm 517 */
											obj_t BgL_valz00_2308;

											BgL_valz00_2308 = CDR(((obj_t) BgL_bindingz00_2304));
											{	/* Ast/let.scm 518 */
												obj_t BgL_auxz00_2309;

												{	/* Ast/let.scm 519 */
													obj_t BgL_pairz00_5894;

													BgL_pairz00_5894 =
														(((BgL_letzd2funzd2_bglt) COBJECT(
																((BgL_letzd2funzd2_bglt) BgL_valz00_2308)))->
														BgL_localsz00);
													BgL_auxz00_2309 = CAR(BgL_pairz00_5894);
												}
												{	/* Ast/let.scm 519 */

													{	/* Ast/let.scm 521 */
														BgL_nodez00_bglt BgL_arg2081z00_2310;

														{	/* Ast/let.scm 521 */
															obj_t BgL_arg2082z00_2311;
															obj_t BgL_arg2083z00_2312;

															BgL_arg2082z00_2311 =
																MAKE_YOUNG_PAIR(BgL_auxz00_2309,
																BgL_oldzd2funszd2_2281);
															BgL_arg2083z00_2312 =
																MAKE_YOUNG_PAIR(BgL_nvarz00_2305,
																BgL_newzd2funszd2_2282);
															BgL_arg2081z00_2310 =
																BGl_substitutez12z12zzast_substitutez00
																(BgL_arg2082z00_2311, BgL_arg2083z00_2312,
																((BgL_nodez00_bglt) BgL_bodyz00_2307),
																CNST_TABLE_REF(1L));
														}
														((((BgL_sfunz00_bglt) COBJECT(
																		((BgL_sfunz00_bglt) BgL_sfunz00_2306)))->
																BgL_bodyz00) =
															((obj_t) ((obj_t) BgL_arg2081z00_2310)), BUNSPEC);
													}
													{	/* Ast/let.scm 526 */
														obj_t BgL_arg2085z00_2313;
														obj_t BgL_arg2086z00_2314;

														BgL_arg2085z00_2313 =
															CDR(((obj_t) BgL_vbindingsz00_2284));
														BgL_arg2086z00_2314 =
															CDR(((obj_t) BgL_nvarsz00_2285));
														{
															obj_t BgL_nvarsz00_9724;
															obj_t BgL_vbindingsz00_9723;

															BgL_vbindingsz00_9723 = BgL_arg2085z00_2313;
															BgL_nvarsz00_9724 = BgL_arg2086z00_2314;
															BgL_nvarsz00_2285 = BgL_nvarsz00_9724;
															BgL_vbindingsz00_2284 = BgL_vbindingsz00_9723;
															goto BgL_zc3z04anonymousza32068ze3z87_2286;
														}
													}
												}
											}
										}
									}
								}
							}
						}
				}
			}
		}

	}



/* letrec*->node */
	BGL_EXPORTED_DEF BgL_nodez00_bglt BGl_letrecza2zd2ze3nodez93zzast_letz00(obj_t
		BgL_sexpz00_35, obj_t BgL_stackz00_36, obj_t BgL_locz00_37,
		obj_t BgL_sitez00_38)
	{
		{	/* Ast/let.scm 549 */
			{	/* Ast/let.scm 552 */
				obj_t BgL_stage1z00_7555;
				obj_t BgL_stage2z00_7554;
				obj_t BgL_stage3z00_7552;
				obj_t BgL_stage4z00_7550;
				obj_t BgL_stage5z00_7549;
				obj_t BgL_stage7z00_7548;

				{
					int BgL_tmpz00_9725;

					BgL_tmpz00_9725 = (int) (8L);
					BgL_stage1z00_7555 =
						MAKE_L_PROCEDURE(BGl_z62stage1z62zzast_letz00, BgL_tmpz00_9725);
				}
				{
					int BgL_tmpz00_9728;

					BgL_tmpz00_9728 = (int) (7L);
					BgL_stage2z00_7554 = MAKE_EL_PROCEDURE(BgL_tmpz00_9728);
				}
				{
					int BgL_tmpz00_9731;

					BgL_tmpz00_9731 = (int) (6L);
					BgL_stage3z00_7552 =
						MAKE_L_PROCEDURE(BGl_z62stage3z62zzast_letz00, BgL_tmpz00_9731);
				}
				{
					int BgL_tmpz00_9734;

					BgL_tmpz00_9734 = (int) (5L);
					BgL_stage4z00_7550 =
						MAKE_L_PROCEDURE(BGl_z62stage4z62zzast_letz00, BgL_tmpz00_9734);
				}
				{
					int BgL_tmpz00_9737;

					BgL_tmpz00_9737 = (int) (4L);
					BgL_stage5z00_7549 = MAKE_EL_PROCEDURE(BgL_tmpz00_9737);
				}
				{
					int BgL_tmpz00_9740;

					BgL_tmpz00_9740 = (int) (3L);
					BgL_stage7z00_7548 = MAKE_EL_PROCEDURE(BgL_tmpz00_9740);
				}
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (0L), BgL_stage7z00_7548);
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (1L), BgL_stage5z00_7549);
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (2L), BgL_stage4z00_7550);
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (3L), BgL_stage3z00_7552);
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (4L), BgL_stackz00_36);
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (5L), BgL_locz00_37);
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (6L), BgL_sitez00_38);
				PROCEDURE_L_SET(BgL_stage1z00_7555, (int) (7L), BgL_stage2z00_7554);
				PROCEDURE_EL_SET(BgL_stage2z00_7554, (int) (0L), BgL_stage7z00_7548);
				PROCEDURE_EL_SET(BgL_stage2z00_7554, (int) (1L), BgL_stackz00_36);
				PROCEDURE_EL_SET(BgL_stage2z00_7554, (int) (2L), BgL_locz00_37);
				PROCEDURE_EL_SET(BgL_stage2z00_7554, (int) (3L), BgL_sitez00_38);
				PROCEDURE_EL_SET(BgL_stage2z00_7554, (int) (4L), BgL_stage5z00_7549);
				PROCEDURE_EL_SET(BgL_stage2z00_7554, (int) (5L), BgL_stage4z00_7550);
				PROCEDURE_EL_SET(BgL_stage2z00_7554, (int) (6L), BgL_stage3z00_7552);
				PROCEDURE_L_SET(BgL_stage3z00_7552, (int) (0L), BgL_stage7z00_7548);
				PROCEDURE_L_SET(BgL_stage3z00_7552, (int) (1L), BgL_stackz00_36);
				PROCEDURE_L_SET(BgL_stage3z00_7552, (int) (2L), BgL_locz00_37);
				PROCEDURE_L_SET(BgL_stage3z00_7552, (int) (3L), BgL_sitez00_38);
				PROCEDURE_L_SET(BgL_stage3z00_7552, (int) (4L), BgL_stage5z00_7549);
				PROCEDURE_L_SET(BgL_stage3z00_7552, (int) (5L), BgL_stage4z00_7550);
				PROCEDURE_L_SET(BgL_stage4z00_7550, (int) (0L), BgL_stage7z00_7548);
				PROCEDURE_L_SET(BgL_stage4z00_7550, (int) (1L), BgL_stackz00_36);
				PROCEDURE_L_SET(BgL_stage4z00_7550, (int) (2L), BgL_locz00_37);
				PROCEDURE_L_SET(BgL_stage4z00_7550, (int) (3L), BgL_sitez00_38);
				PROCEDURE_L_SET(BgL_stage4z00_7550, (int) (4L), BgL_stage5z00_7549);
				PROCEDURE_EL_SET(BgL_stage5z00_7549, (int) (0L), BgL_stage7z00_7548);
				PROCEDURE_EL_SET(BgL_stage5z00_7549, (int) (1L), BgL_stackz00_36);
				PROCEDURE_EL_SET(BgL_stage5z00_7549, (int) (2L), BgL_locz00_37);
				PROCEDURE_EL_SET(BgL_stage5z00_7549, (int) (3L), BgL_sitez00_38);
				PROCEDURE_EL_SET(BgL_stage7z00_7548, (int) (0L), BgL_locz00_37);
				PROCEDURE_EL_SET(BgL_stage7z00_7548, (int) (1L), BgL_stackz00_36);
				PROCEDURE_EL_SET(BgL_stage7z00_7548, (int) (2L), BgL_sitez00_38);
				{
					obj_t BgL_bz00_2463;
					obj_t BgL_vz00_2464;
					obj_t BgL_varsz00_2465;
					obj_t BgL_ebindingsz00_4090;
					obj_t BgL_bodyz00_4091;
					obj_t BgL_bindingsz00_4125;
					obj_t BgL_bodyz00_4126;
					obj_t BgL_expz00_4176;

					{
						obj_t BgL_bodyz00_2395;
						obj_t BgL_bindingsz00_2397;
						obj_t BgL_bindingz00_2398;
						obj_t BgL_bodyz00_2399;
						obj_t BgL_bindingsz00_2401;
						obj_t BgL_bodyz00_2402;

						if (PAIRP(BgL_sexpz00_35))
							{	/* Ast/let.scm 1154 */
								obj_t BgL_cdrzd22817zd2_2407;

								BgL_cdrzd22817zd2_2407 = CDR(((obj_t) BgL_sexpz00_35));
								if ((CAR(((obj_t) BgL_sexpz00_35)) == CNST_TABLE_REF(4L)))
									{	/* Ast/let.scm 1154 */
										if (PAIRP(BgL_cdrzd22817zd2_2407))
											{	/* Ast/let.scm 1154 */
												if (NULLP(CAR(BgL_cdrzd22817zd2_2407)))
													{	/* Ast/let.scm 1154 */
														BgL_bodyz00_2395 = CDR(BgL_cdrzd22817zd2_2407);
														{	/* Ast/let.scm 1158 */
															obj_t BgL_arg2128z00_2432;

															{	/* Ast/let.scm 1158 */
																obj_t BgL_arg2129z00_2433;

																{	/* Ast/let.scm 1158 */
																	obj_t BgL_arg2130z00_2434;

																	BgL_arg2130z00_2434 =
																		BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
																		(BgL_bodyz00_2395, BNIL);
																	BgL_arg2129z00_2433 =
																		MAKE_YOUNG_PAIR(CNST_TABLE_REF(9L),
																		BgL_arg2130z00_2434);
																}
																BgL_arg2128z00_2432 =
																	BGl_epairifyzd2propagatezd2locz00zztools_miscz00
																	(BgL_arg2129z00_2433, BgL_locz00_37);
															}
															BGL_TAIL return
																BGl_sexpzd2ze3nodez31zzast_sexpz00
																(BgL_arg2128z00_2432, BgL_stackz00_36,
																BgL_locz00_37, BgL_sitez00_38);
														}
													}
												else
													{	/* Ast/let.scm 1154 */
														obj_t BgL_carzd22833zd2_2415;

														BgL_carzd22833zd2_2415 =
															CAR(((obj_t) BgL_cdrzd22817zd2_2407));
														if (PAIRP(BgL_carzd22833zd2_2415))
															{	/* Ast/let.scm 1154 */
																if (NULLP(CDR(BgL_carzd22833zd2_2415)))
																	{	/* Ast/let.scm 1154 */
																		obj_t BgL_arg2118z00_2419;
																		obj_t BgL_arg2119z00_2420;

																		BgL_arg2118z00_2419 =
																			CAR(BgL_carzd22833zd2_2415);
																		BgL_arg2119z00_2420 =
																			CDR(((obj_t) BgL_cdrzd22817zd2_2407));
																		BgL_bindingsz00_2397 =
																			BgL_carzd22833zd2_2415;
																		BgL_bindingz00_2398 = BgL_arg2118z00_2419;
																		BgL_bodyz00_2399 = BgL_arg2119z00_2420;
																		{	/* Ast/let.scm 1162 */
																			obj_t BgL_arg2131z00_2435;

																			{	/* Ast/let.scm 1162 */
																				obj_t BgL_arg2132z00_2436;

																				{	/* Ast/let.scm 1162 */
																					obj_t BgL_arg2134z00_2437;

																					BgL_arg2134z00_2437 =
																						MAKE_YOUNG_PAIR
																						(BgL_bindingsz00_2397,
																						BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
																						(BgL_bodyz00_2399, BNIL));
																					BgL_arg2132z00_2436 =
																						MAKE_YOUNG_PAIR(CNST_TABLE_REF(10L),
																						BgL_arg2134z00_2437);
																				}
																				BgL_arg2131z00_2435 =
																					BGl_epairifyzd2propagatezd2locz00zztools_miscz00
																					(BgL_arg2132z00_2436, BgL_locz00_37);
																			}
																			BGL_TAIL return
																				BGl_sexpzd2ze3nodez31zzast_sexpz00
																				(BgL_arg2131z00_2435, BgL_stackz00_36,
																				BgL_locz00_37, BgL_sitez00_38);
																		}
																	}
																else
																	{	/* Ast/let.scm 1154 */
																		obj_t BgL_cdrzd22849zd2_2421;

																		BgL_cdrzd22849zd2_2421 =
																			CDR(((obj_t) BgL_sexpz00_35));
																		{	/* Ast/let.scm 1154 */
																			obj_t BgL_carzd22852zd2_2422;

																			BgL_carzd22852zd2_2422 =
																				CAR(((obj_t) BgL_cdrzd22849zd2_2421));
																			if (BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(BgL_carzd22852zd2_2422))
																				{	/* Ast/let.scm 1154 */
																					obj_t BgL_arg2122z00_2424;

																					BgL_arg2122z00_2424 =
																						CDR(
																						((obj_t) BgL_cdrzd22849zd2_2421));
																					BgL_bindingsz00_2401 =
																						BgL_carzd22852zd2_2422;
																					BgL_bodyz00_2402 =
																						BgL_arg2122z00_2424;
																				BgL_tagzd22809zd2_2403:
																					{	/* Ast/let.scm 1165 */
																						bool_t BgL_test4035z00_9853;

																						{
																							obj_t BgL_l1628z00_2450;

																							BgL_l1628z00_2450 =
																								BgL_bindingsz00_2401;
																						BgL_zc3z04anonymousza32141ze3z87_2451:
																							if (NULLP
																								(BgL_l1628z00_2450))
																								{	/* Ast/let.scm 1165 */
																									BgL_test4035z00_9853 =
																										((bool_t) 1);
																								}
																							else
																								{	/* Ast/let.scm 1165 */
																									bool_t BgL_test4037z00_9856;

																									{	/* Ast/let.scm 1165 */
																										obj_t BgL_arg2143z00_2456;

																										BgL_arg2143z00_2456 =
																											CAR(
																											((obj_t)
																												BgL_l1628z00_2450));
																										BgL_expz00_4176 =
																											BgL_arg2143z00_2456;
																										if (PAIRP(BgL_expz00_4176))
																											{	/* Ast/let.scm 1151 */
																												obj_t
																													BgL_cdrzd22644zd2_4187;
																												BgL_cdrzd22644zd2_4187 =
																													CDR(((obj_t)
																														BgL_expz00_4176));
																												if (PAIRP
																													(BgL_cdrzd22644zd2_4187))
																													{	/* Ast/let.scm 1151 */
																														obj_t
																															BgL_carzd22645zd2_4189;
																														BgL_carzd22645zd2_4189
																															=
																															CAR
																															(BgL_cdrzd22644zd2_4187);
																														if (PAIRP
																															(BgL_carzd22645zd2_4189))
																															{	/* Ast/let.scm 1151 */
																																if (
																																	(CAR
																																		(BgL_carzd22645zd2_4189)
																																		==
																																		CNST_TABLE_REF
																																		(7L)))
																																	{	/* Ast/let.scm 1151 */
																																		bool_t
																																			BgL_test4042z00_9872;
																																		{	/* Ast/let.scm 1151 */
																																			obj_t
																																				BgL_tmpz00_9873;
																																			BgL_tmpz00_9873
																																				=
																																				CDR
																																				(BgL_carzd22645zd2_4189);
																																			BgL_test4042z00_9872
																																				=
																																				PAIRP
																																				(BgL_tmpz00_9873);
																																		}
																																		if (BgL_test4042z00_9872)
																																			{	/* Ast/let.scm 1151 */
																																				BgL_test4037z00_9856
																																					=
																																					NULLP
																																					(CDR
																																					(BgL_cdrzd22644zd2_4187));
																																			}
																																		else
																																			{	/* Ast/let.scm 1151 */
																																				BgL_test4037z00_9856
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																else
																																	{	/* Ast/let.scm 1151 */
																																		obj_t
																																			BgL_carzd22671zd2_4200;
																																		BgL_carzd22671zd2_4200
																																			=
																																			CAR((
																																				(obj_t)
																																				BgL_cdrzd22644zd2_4187));
																																		{	/* Ast/let.scm 1151 */
																																			obj_t
																																				BgL_cdrzd22676zd2_4201;
																																			BgL_cdrzd22676zd2_4201
																																				=
																																				CDR((
																																					(obj_t)
																																					BgL_carzd22671zd2_4200));
																																			if ((CAR((
																																							(obj_t)
																																							BgL_carzd22671zd2_4200))
																																					==
																																					CNST_TABLE_REF
																																					(8L)))
																																				{	/* Ast/let.scm 1151 */
																																					if (PAIRP(BgL_cdrzd22676zd2_4201))
																																						{	/* Ast/let.scm 1151 */
																																							obj_t
																																								BgL_carzd22679zd2_4205;
																																							obj_t
																																								BgL_cdrzd22680zd2_4206;
																																							BgL_carzd22679zd2_4205
																																								=
																																								CAR
																																								(BgL_cdrzd22676zd2_4201);
																																							BgL_cdrzd22680zd2_4206
																																								=
																																								CDR
																																								(BgL_cdrzd22676zd2_4201);
																																							if (PAIRP(BgL_carzd22679zd2_4205))
																																								{	/* Ast/let.scm 1151 */
																																									obj_t
																																										BgL_carzd22682zd2_4208;
																																									BgL_carzd22682zd2_4208
																																										=
																																										CAR
																																										(BgL_carzd22679zd2_4205);
																																									if (PAIRP(BgL_carzd22682zd2_4208))
																																										{	/* Ast/let.scm 1151 */
																																											if (NULLP(CDR(BgL_carzd22679zd2_4205)))
																																												{	/* Ast/let.scm 1151 */
																																													if (PAIRP(BgL_cdrzd22680zd2_4206))
																																														{	/* Ast/let.scm 1151 */
																																															obj_t
																																																BgL_carzd22689zd2_4213;
																																															BgL_carzd22689zd2_4213
																																																=
																																																CAR
																																																(BgL_cdrzd22680zd2_4206);
																																															if (SYMBOLP(BgL_carzd22689zd2_4213))
																																																{	/* Ast/let.scm 1151 */
																																																	if (NULLP(CDR(BgL_cdrzd22680zd2_4206)))
																																																		{	/* Ast/let.scm 1151 */
																																																			if (NULLP(CDR(((obj_t) BgL_cdrzd22644zd2_4187))))
																																																				{	/* Ast/let.scm 1151 */
																																																					obj_t
																																																						BgL_arg3429z00_4219;
																																																					BgL_arg3429z00_4219
																																																						=
																																																						CAR
																																																						(BgL_carzd22682zd2_4208);
																																																					BgL_test4037z00_9856
																																																						=
																																																						(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																																						(BgL_arg3429z00_4219,
																																																							BFALSE)
																																																						==
																																																						BgL_carzd22689zd2_4213);
																																																				}
																																																			else
																																																				{	/* Ast/let.scm 1151 */
																																																					BgL_test4037z00_9856
																																																						=
																																																						(
																																																						(bool_t)
																																																						0);
																																																				}
																																																		}
																																																	else
																																																		{	/* Ast/let.scm 1151 */
																																																			obj_t
																																																				BgL_cdrzd22698zd2_4221;
																																																			BgL_cdrzd22698zd2_4221
																																																				=
																																																				CDR
																																																				(
																																																				((obj_t) BgL_expz00_4176));
																																																			{	/* Ast/let.scm 1151 */
																																																				obj_t
																																																					BgL_carzd22703zd2_4222;
																																																				{	/* Ast/let.scm 1151 */
																																																					obj_t
																																																						BgL_pairz00_6639;
																																																					BgL_pairz00_6639
																																																						=
																																																						CAR
																																																						(
																																																						((obj_t) BgL_cdrzd22698zd2_4221));
																																																					BgL_carzd22703zd2_4222
																																																						=
																																																						CAR
																																																						(BgL_pairz00_6639);
																																																				}
																																																				if (SYMBOLP(BgL_carzd22703zd2_4222))
																																																					{	/* Ast/let.scm 1151 */
																																																						if (NULLP(CDR(((obj_t) BgL_cdrzd22698zd2_4221))))
																																																							{	/* Ast/let.scm 1149 */
																																																								obj_t
																																																									BgL_arg3481z00_6641;
																																																								BgL_arg3481z00_6641
																																																									=
																																																									BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																																									(BgL_carzd22703zd2_4222,
																																																									BFALSE);
																																																								BgL_test4037z00_9856
																																																									=
																																																									(BgL_arg3481z00_6641
																																																									==
																																																									CNST_TABLE_REF
																																																									(7L));
																																																							}
																																																						else
																																																							{	/* Ast/let.scm 1151 */
																																																								BgL_test4037z00_9856
																																																									=
																																																									(
																																																									(bool_t)
																																																									0);
																																																							}
																																																					}
																																																				else
																																																					{	/* Ast/let.scm 1151 */
																																																						BgL_test4037z00_9856
																																																							=
																																																							(
																																																							(bool_t)
																																																							0);
																																																					}
																																																			}
																																																		}
																																																}
																																															else
																																																{	/* Ast/let.scm 1151 */
																																																	obj_t
																																																		BgL_cdrzd22710zd2_4229;
																																																	BgL_cdrzd22710zd2_4229
																																																		=
																																																		CDR
																																																		(
																																																		((obj_t) BgL_expz00_4176));
																																																	{	/* Ast/let.scm 1151 */
																																																		obj_t
																																																			BgL_carzd22715zd2_4230;
																																																		{	/* Ast/let.scm 1151 */
																																																			obj_t
																																																				BgL_pairz00_6644;
																																																			BgL_pairz00_6644
																																																				=
																																																				CAR
																																																				(
																																																				((obj_t) BgL_cdrzd22710zd2_4229));
																																																			BgL_carzd22715zd2_4230
																																																				=
																																																				CAR
																																																				(BgL_pairz00_6644);
																																																		}
																																																		if (SYMBOLP(BgL_carzd22715zd2_4230))
																																																			{	/* Ast/let.scm 1151 */
																																																				if (NULLP(CDR(((obj_t) BgL_cdrzd22710zd2_4229))))
																																																					{	/* Ast/let.scm 1149 */
																																																						obj_t
																																																							BgL_arg3481z00_6646;
																																																						BgL_arg3481z00_6646
																																																							=
																																																							BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																																							(BgL_carzd22715zd2_4230,
																																																							BFALSE);
																																																						BgL_test4037z00_9856
																																																							=
																																																							(BgL_arg3481z00_6646
																																																							==
																																																							CNST_TABLE_REF
																																																							(7L));
																																																					}
																																																				else
																																																					{	/* Ast/let.scm 1151 */
																																																						BgL_test4037z00_9856
																																																							=
																																																							(
																																																							(bool_t)
																																																							0);
																																																					}
																																																			}
																																																		else
																																																			{	/* Ast/let.scm 1151 */
																																																				BgL_test4037z00_9856
																																																					=
																																																					(
																																																					(bool_t)
																																																					0);
																																																			}
																																																	}
																																																}
																																														}
																																													else
																																														{	/* Ast/let.scm 1151 */
																																															obj_t
																																																BgL_cdrzd22722zd2_4236;
																																															BgL_cdrzd22722zd2_4236
																																																=
																																																CDR
																																																(
																																																((obj_t) BgL_expz00_4176));
																																															{	/* Ast/let.scm 1151 */
																																																obj_t
																																																	BgL_carzd22727zd2_4237;
																																																{	/* Ast/let.scm 1151 */
																																																	obj_t
																																																		BgL_pairz00_6649;
																																																	BgL_pairz00_6649
																																																		=
																																																		CAR
																																																		(
																																																		((obj_t) BgL_cdrzd22722zd2_4236));
																																																	BgL_carzd22727zd2_4237
																																																		=
																																																		CAR
																																																		(BgL_pairz00_6649);
																																																}
																																																if (SYMBOLP(BgL_carzd22727zd2_4237))
																																																	{	/* Ast/let.scm 1151 */
																																																		if (NULLP(CDR(((obj_t) BgL_cdrzd22722zd2_4236))))
																																																			{	/* Ast/let.scm 1149 */
																																																				obj_t
																																																					BgL_arg3481z00_6651;
																																																				BgL_arg3481z00_6651
																																																					=
																																																					BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																																					(BgL_carzd22727zd2_4237,
																																																					BFALSE);
																																																				BgL_test4037z00_9856
																																																					=
																																																					(BgL_arg3481z00_6651
																																																					==
																																																					CNST_TABLE_REF
																																																					(7L));
																																																			}
																																																		else
																																																			{	/* Ast/let.scm 1151 */
																																																				BgL_test4037z00_9856
																																																					=
																																																					(
																																																					(bool_t)
																																																					0);
																																																			}
																																																	}
																																																else
																																																	{	/* Ast/let.scm 1151 */
																																																		BgL_test4037z00_9856
																																																			=
																																																			(
																																																			(bool_t)
																																																			0);
																																																	}
																																															}
																																														}
																																												}
																																											else
																																												{	/* Ast/let.scm 1151 */
																																													obj_t
																																														BgL_cdrzd22734zd2_4243;
																																													BgL_cdrzd22734zd2_4243
																																														=
																																														CDR
																																														(
																																														((obj_t) BgL_expz00_4176));
																																													{	/* Ast/let.scm 1151 */
																																														obj_t
																																															BgL_carzd22739zd2_4244;
																																														{	/* Ast/let.scm 1151 */
																																															obj_t
																																																BgL_pairz00_6654;
																																															BgL_pairz00_6654
																																																=
																																																CAR
																																																(
																																																((obj_t) BgL_cdrzd22734zd2_4243));
																																															BgL_carzd22739zd2_4244
																																																=
																																																CAR
																																																(BgL_pairz00_6654);
																																														}
																																														if (SYMBOLP(BgL_carzd22739zd2_4244))
																																															{	/* Ast/let.scm 1151 */
																																																if (NULLP(CDR(((obj_t) BgL_cdrzd22734zd2_4243))))
																																																	{	/* Ast/let.scm 1149 */
																																																		obj_t
																																																			BgL_arg3481z00_6656;
																																																		BgL_arg3481z00_6656
																																																			=
																																																			BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																																			(BgL_carzd22739zd2_4244,
																																																			BFALSE);
																																																		BgL_test4037z00_9856
																																																			=
																																																			(BgL_arg3481z00_6656
																																																			==
																																																			CNST_TABLE_REF
																																																			(7L));
																																																	}
																																																else
																																																	{	/* Ast/let.scm 1151 */
																																																		BgL_test4037z00_9856
																																																			=
																																																			(
																																																			(bool_t)
																																																			0);
																																																	}
																																															}
																																														else
																																															{	/* Ast/let.scm 1151 */
																																																BgL_test4037z00_9856
																																																	=
																																																	(
																																																	(bool_t)
																																																	0);
																																															}
																																													}
																																												}
																																										}
																																									else
																																										{	/* Ast/let.scm 1151 */
																																											obj_t
																																												BgL_cdrzd22748zd2_4251;
																																											BgL_cdrzd22748zd2_4251
																																												=
																																												CDR
																																												(
																																												((obj_t) BgL_expz00_4176));
																																											{	/* Ast/let.scm 1151 */
																																												obj_t
																																													BgL_carzd22753zd2_4252;
																																												{	/* Ast/let.scm 1151 */
																																													obj_t
																																														BgL_pairz00_6659;
																																													BgL_pairz00_6659
																																														=
																																														CAR
																																														(
																																														((obj_t) BgL_cdrzd22748zd2_4251));
																																													BgL_carzd22753zd2_4252
																																														=
																																														CAR
																																														(BgL_pairz00_6659);
																																												}
																																												if (SYMBOLP(BgL_carzd22753zd2_4252))
																																													{	/* Ast/let.scm 1151 */
																																														if (NULLP(CDR(((obj_t) BgL_cdrzd22748zd2_4251))))
																																															{	/* Ast/let.scm 1149 */
																																																obj_t
																																																	BgL_arg3481z00_6661;
																																																BgL_arg3481z00_6661
																																																	=
																																																	BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																																	(BgL_carzd22753zd2_4252,
																																																	BFALSE);
																																																BgL_test4037z00_9856
																																																	=
																																																	(BgL_arg3481z00_6661
																																																	==
																																																	CNST_TABLE_REF
																																																	(7L));
																																															}
																																														else
																																															{	/* Ast/let.scm 1151 */
																																																BgL_test4037z00_9856
																																																	=
																																																	(
																																																	(bool_t)
																																																	0);
																																															}
																																													}
																																												else
																																													{	/* Ast/let.scm 1151 */
																																														BgL_test4037z00_9856
																																															=
																																															(
																																															(bool_t)
																																															0);
																																													}
																																											}
																																										}
																																								}
																																							else
																																								{	/* Ast/let.scm 1151 */
																																									obj_t
																																										BgL_cdrzd22762zd2_4258;
																																									BgL_cdrzd22762zd2_4258
																																										=
																																										CDR
																																										(
																																										((obj_t) BgL_expz00_4176));
																																									{	/* Ast/let.scm 1151 */
																																										obj_t
																																											BgL_carzd22767zd2_4259;
																																										{	/* Ast/let.scm 1151 */
																																											obj_t
																																												BgL_pairz00_6664;
																																											BgL_pairz00_6664
																																												=
																																												CAR
																																												(
																																												((obj_t) BgL_cdrzd22762zd2_4258));
																																											BgL_carzd22767zd2_4259
																																												=
																																												CAR
																																												(BgL_pairz00_6664);
																																										}
																																										if (SYMBOLP(BgL_carzd22767zd2_4259))
																																											{	/* Ast/let.scm 1151 */
																																												if (NULLP(CDR(((obj_t) BgL_cdrzd22762zd2_4258))))
																																													{	/* Ast/let.scm 1149 */
																																														obj_t
																																															BgL_arg3481z00_6666;
																																														BgL_arg3481z00_6666
																																															=
																																															BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																															(BgL_carzd22767zd2_4259,
																																															BFALSE);
																																														BgL_test4037z00_9856
																																															=
																																															(BgL_arg3481z00_6666
																																															==
																																															CNST_TABLE_REF
																																															(7L));
																																													}
																																												else
																																													{	/* Ast/let.scm 1151 */
																																														BgL_test4037z00_9856
																																															=
																																															(
																																															(bool_t)
																																															0);
																																													}
																																											}
																																										else
																																											{	/* Ast/let.scm 1151 */
																																												BgL_test4037z00_9856
																																													=
																																													(
																																													(bool_t)
																																													0);
																																											}
																																									}
																																								}
																																						}
																																					else
																																						{	/* Ast/let.scm 1151 */
																																							BgL_test4037z00_9856
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Ast/let.scm 1151 */
																																					obj_t
																																						BgL_cdrzd22778zd2_4265;
																																					BgL_cdrzd22778zd2_4265
																																						=
																																						CDR(
																																						((obj_t) BgL_expz00_4176));
																																					{	/* Ast/let.scm 1151 */
																																						obj_t
																																							BgL_carzd22780zd2_4266;
																																						BgL_carzd22780zd2_4266
																																							=
																																							CAR
																																							(((obj_t) BgL_cdrzd22778zd2_4265));
																																						{	/* Ast/let.scm 1151 */
																																							obj_t
																																								BgL_carzd22783zd2_4267;
																																							BgL_carzd22783zd2_4267
																																								=
																																								CAR
																																								(
																																								((obj_t) BgL_carzd22780zd2_4266));
																																							if (SYMBOLP(BgL_carzd22783zd2_4267))
																																								{	/* Ast/let.scm 1151 */
																																									bool_t
																																										BgL_test4065z00_10006;
																																									{	/* Ast/let.scm 1151 */
																																										obj_t
																																											BgL_tmpz00_10007;
																																										BgL_tmpz00_10007
																																											=
																																											CDR
																																											(
																																											((obj_t) BgL_carzd22780zd2_4266));
																																										BgL_test4065z00_10006
																																											=
																																											PAIRP
																																											(BgL_tmpz00_10007);
																																									}
																																									if (BgL_test4065z00_10006)
																																										{	/* Ast/let.scm 1151 */
																																											if (NULLP(CDR(((obj_t) BgL_cdrzd22778zd2_4265))))
																																												{	/* Ast/let.scm 1149 */
																																													obj_t
																																														BgL_arg3481z00_6672;
																																													BgL_arg3481z00_6672
																																														=
																																														BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																														(BgL_carzd22783zd2_4267,
																																														BFALSE);
																																													BgL_test4037z00_9856
																																														=
																																														(BgL_arg3481z00_6672
																																														==
																																														CNST_TABLE_REF
																																														(7L));
																																												}
																																											else
																																												{	/* Ast/let.scm 1151 */
																																													BgL_test4037z00_9856
																																														=
																																														(
																																														(bool_t)
																																														0);
																																												}
																																										}
																																									else
																																										{	/* Ast/let.scm 1151 */
																																											BgL_test4037z00_9856
																																												=
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																							else
																																								{	/* Ast/let.scm 1151 */
																																									BgL_test4037z00_9856
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					}
																																				}
																																		}
																																	}
																															}
																														else
																															{	/* Ast/let.scm 1151 */
																																BgL_test4037z00_9856
																																	=
																																	((bool_t) 0);
																															}
																													}
																												else
																													{	/* Ast/let.scm 1151 */
																														BgL_test4037z00_9856
																															= ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Ast/let.scm 1151 */
																												BgL_test4037z00_9856 =
																													((bool_t) 0);
																											}
																									}
																									if (BgL_test4037z00_9856)
																										{	/* Ast/let.scm 1165 */
																											obj_t BgL_arg2142z00_2455;

																											BgL_arg2142z00_2455 =
																												CDR(
																												((obj_t)
																													BgL_l1628z00_2450));
																											{
																												obj_t
																													BgL_l1628z00_10020;
																												BgL_l1628z00_10020 =
																													BgL_arg2142z00_2455;
																												BgL_l1628z00_2450 =
																													BgL_l1628z00_10020;
																												goto
																													BgL_zc3z04anonymousza32141ze3z87_2451;
																											}
																										}
																									else
																										{	/* Ast/let.scm 1165 */
																											BgL_test4035z00_9853 =
																												((bool_t) 0);
																										}
																								}
																						}
																						if (BgL_test4035z00_9853)
																							{	/* Ast/let.scm 1165 */
																								{	/* Ast/let.scm 1139 */
																									obj_t BgL_objz00_6676;

																									BgL_objz00_6676 =
																										CNST_TABLE_REF(10L);
																									{	/* Ast/let.scm 1139 */
																										obj_t BgL_tmpz00_10022;

																										BgL_tmpz00_10022 =
																											((obj_t) BgL_sexpz00_35);
																										SET_CAR(BgL_tmpz00_10022,
																											BgL_objz00_6676);
																									}
																								}
																								BGL_TAIL return
																									BGl_sexpzd2ze3nodez31zzast_sexpz00
																									(BgL_sexpz00_35,
																									BgL_stackz00_36,
																									BgL_locz00_37,
																									BgL_sitez00_38);
																							}
																						else
																							{	/* Ast/let.scm 1165 */
																								BgL_bindingsz00_4125 =
																									BgL_bindingsz00_2401;
																								BgL_bodyz00_4126 =
																									BgL_bodyz00_2402;
																								{	/* Ast/let.scm 1124 */
																									obj_t BgL_varsz00_4128;

																									if (NULLP
																										(BgL_bindingsz00_4125))
																										{	/* Ast/let.scm 1124 */
																											BgL_varsz00_4128 = BNIL;
																										}
																									else
																										{	/* Ast/let.scm 1124 */
																											obj_t
																												BgL_head1617z00_4159;
																											BgL_head1617z00_4159 =
																												MAKE_YOUNG_PAIR(BNIL,
																												BNIL);
																											{
																												obj_t BgL_l1615z00_4161;
																												obj_t
																													BgL_tail1618z00_4162;
																												BgL_l1615z00_4161 =
																													BgL_bindingsz00_4125;
																												BgL_tail1618z00_4162 =
																													BgL_head1617z00_4159;
																											BgL_zc3z04anonymousza33396ze3z87_4163:
																												if (NULLP
																													(BgL_l1615z00_4161))
																													{	/* Ast/let.scm 1124 */
																														BgL_varsz00_4128 =
																															CDR
																															(BgL_head1617z00_4159);
																													}
																												else
																													{	/* Ast/let.scm 1124 */
																														obj_t
																															BgL_newtail1619z00_4165;
																														{	/* Ast/let.scm 1124 */
																															obj_t
																																BgL_arg3400z00_4167;
																															{	/* Ast/let.scm 1124 */
																																obj_t
																																	BgL_bz00_4168;
																																BgL_bz00_4168 =
																																	CAR(((obj_t)
																																		BgL_l1615z00_4161));
																																{	/* Ast/let.scm 1124 */
																																	obj_t
																																		BgL_arg3401z00_4169;
																																	BgL_arg3401z00_4169
																																		=
																																		CAR(((obj_t)
																																			BgL_bz00_4168));
																																	BgL_arg3400z00_4167
																																		=
																																		BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																		(BgL_arg3401z00_4169,
																																		BgL_locz00_37);
																																}
																															}
																															BgL_newtail1619z00_4165
																																=
																																MAKE_YOUNG_PAIR
																																(BgL_arg3400z00_4167,
																																BNIL);
																														}
																														SET_CDR
																															(BgL_tail1618z00_4162,
																															BgL_newtail1619z00_4165);
																														{	/* Ast/let.scm 1124 */
																															obj_t
																																BgL_arg3398z00_4166;
																															BgL_arg3398z00_4166
																																=
																																CDR(((obj_t)
																																	BgL_l1615z00_4161));
																															{
																																obj_t
																																	BgL_tail1618z00_10042;
																																obj_t
																																	BgL_l1615z00_10041;
																																BgL_l1615z00_10041
																																	=
																																	BgL_arg3398z00_4166;
																																BgL_tail1618z00_10042
																																	=
																																	BgL_newtail1619z00_4165;
																																BgL_tail1618z00_4162
																																	=
																																	BgL_tail1618z00_10042;
																																BgL_l1615z00_4161
																																	=
																																	BgL_l1615z00_10041;
																																goto
																																	BgL_zc3z04anonymousza33396ze3z87_4163;
																															}
																														}
																													}
																											}
																										}
																									{	/* Ast/let.scm 1124 */
																										obj_t BgL_ebindingsz00_4129;

																										if (NULLP
																											(BgL_bindingsz00_4125))
																											{	/* Ast/let.scm 1125 */
																												BgL_ebindingsz00_4129 =
																													BNIL;
																											}
																										else
																											{	/* Ast/let.scm 1125 */
																												obj_t
																													BgL_head1622z00_4143;
																												BgL_head1622z00_4143 =
																													MAKE_YOUNG_PAIR(BNIL,
																													BNIL);
																												{
																													obj_t
																														BgL_ll1620z00_4145;
																													obj_t
																														BgL_ll1621z00_4146;
																													obj_t
																														BgL_tail1623z00_4147;
																													BgL_ll1620z00_4145 =
																														BgL_bindingsz00_4125;
																													BgL_ll1621z00_4146 =
																														BgL_varsz00_4128;
																													BgL_tail1623z00_4147 =
																														BgL_head1622z00_4143;
																												BgL_zc3z04anonymousza33383ze3z87_4148:
																													if (NULLP
																														(BgL_ll1620z00_4145))
																														{	/* Ast/let.scm 1125 */
																															BgL_ebindingsz00_4129
																																=
																																CDR
																																(BgL_head1622z00_4143);
																														}
																													else
																														{	/* Ast/let.scm 1125 */
																															obj_t
																																BgL_newtail1624z00_4150;
																															{	/* Ast/let.scm 1125 */
																																obj_t
																																	BgL_arg3394z00_4153;
																																{	/* Ast/let.scm 1125 */
																																	obj_t
																																		BgL_bz00_4154;
																																	obj_t
																																		BgL_vz00_4155;
																																	BgL_bz00_4154
																																		=
																																		CAR(((obj_t)
																																			BgL_ll1620z00_4145));
																																	BgL_vz00_4155
																																		=
																																		CAR(((obj_t)
																																			BgL_ll1621z00_4146));
																																	BgL_bz00_2463
																																		=
																																		BgL_bz00_4154;
																																	BgL_vz00_2464
																																		=
																																		BgL_vz00_4155;
																																	BgL_varsz00_2465
																																		=
																																		BgL_varsz00_4128;
																																	{	/* Ast/let.scm 557 */
																																		obj_t
																																			BgL_arg2148z00_2467;
																																		obj_t
																																			BgL_arg2149z00_2468;
																																		{	/* Ast/let.scm 557 */
																																			obj_t
																																				BgL_arg2154z00_2473;
																																			{	/* Ast/let.scm 557 */
																																				obj_t
																																					BgL_pairz00_5901;
																																				BgL_pairz00_5901
																																					=
																																					CDR((
																																						(obj_t)
																																						BgL_bz00_2463));
																																				BgL_arg2154z00_2473
																																					=
																																					CAR
																																					(BgL_pairz00_5901);
																																			}
																																			BgL_arg2148z00_2467
																																				=
																																				BGl_loopze71ze7zzast_letz00
																																				(BgL_varsz00_2465,
																																				BgL_arg2154z00_2473,
																																				BNIL,
																																				BNIL);
																																		}
																																		{	/* Ast/let.scm 558 */
																																			obj_t
																																				BgL_arg2155z00_2474;
																																			{	/* Ast/let.scm 558 */
																																				obj_t
																																					BgL_pairz00_5905;
																																				BgL_pairz00_5905
																																					=
																																					CDR((
																																						(obj_t)
																																						BgL_bz00_2463));
																																				BgL_arg2155z00_2474
																																					=
																																					CAR
																																					(BgL_pairz00_5905);
																																			}
																																			BgL_arg2149z00_2468
																																				=
																																				BGl_loopze72ze7zzast_letz00
																																				(BgL_vz00_2464,
																																				BgL_varsz00_2465,
																																				BgL_arg2155z00_2474,
																																				BNIL,
																																				BNIL);
																																		}
																																		{	/* Ast/let.scm 556 */
																																			obj_t
																																				BgL_list2150z00_2469;
																																			{	/* Ast/let.scm 556 */
																																				obj_t
																																					BgL_arg2151z00_2470;
																																				{	/* Ast/let.scm 556 */
																																					obj_t
																																						BgL_arg2152z00_2471;
																																					{	/* Ast/let.scm 556 */
																																						obj_t
																																							BgL_arg2153z00_2472;
																																						BgL_arg2153z00_2472
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_arg2149z00_2468,
																																							BNIL);
																																						BgL_arg2152z00_2471
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_arg2148z00_2467,
																																							BgL_arg2153z00_2472);
																																					}
																																					BgL_arg2151z00_2470
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_vz00_2464,
																																						BgL_arg2152z00_2471);
																																				}
																																				BgL_list2150z00_2469
																																					=
																																					MAKE_YOUNG_PAIR
																																					(BgL_bz00_2463,
																																					BgL_arg2151z00_2470);
																																			}
																																			BgL_arg3394z00_4153
																																				=
																																				BgL_list2150z00_2469;
																																		}
																																	}
																																}
																																BgL_newtail1624z00_4150
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BgL_arg3394z00_4153,
																																	BNIL);
																															}
																															SET_CDR
																																(BgL_tail1623z00_4147,
																																BgL_newtail1624z00_4150);
																															{	/* Ast/let.scm 1125 */
																																obj_t
																																	BgL_arg3391z00_4151;
																																obj_t
																																	BgL_arg3392z00_4152;
																																BgL_arg3391z00_4151
																																	=
																																	CDR(((obj_t)
																																		BgL_ll1620z00_4145));
																																BgL_arg3392z00_4152
																																	=
																																	CDR(((obj_t)
																																		BgL_ll1621z00_4146));
																																{
																																	obj_t
																																		BgL_tail1623z00_10073;
																																	obj_t
																																		BgL_ll1621z00_10072;
																																	obj_t
																																		BgL_ll1620z00_10071;
																																	BgL_ll1620z00_10071
																																		=
																																		BgL_arg3391z00_4151;
																																	BgL_ll1621z00_10072
																																		=
																																		BgL_arg3392z00_4152;
																																	BgL_tail1623z00_10073
																																		=
																																		BgL_newtail1624z00_4150;
																																	BgL_tail1623z00_4147
																																		=
																																		BgL_tail1623z00_10073;
																																	BgL_ll1621z00_4146
																																		=
																																		BgL_ll1621z00_10072;
																																	BgL_ll1620z00_4145
																																		=
																																		BgL_ll1620z00_10071;
																																	goto
																																		BgL_zc3z04anonymousza33383ze3z87_4148;
																																}
																															}
																														}
																												}
																											}
																										{	/* Ast/let.scm 1125 */

																											{	/* Ast/let.scm 1136 */
																												obj_t
																													BgL_arg3371z00_4137;
																												{	/* Ast/let.scm 1136 */
																													obj_t
																														BgL_arg3380z00_4138;
																													{	/* Ast/let.scm 1136 */
																														obj_t
																															BgL_arg3381z00_4139;
																														BgL_arg3381z00_4139
																															=
																															BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
																															(BgL_bodyz00_4126,
																															BNIL);
																														BgL_arg3380z00_4138
																															=
																															MAKE_YOUNG_PAIR
																															(CNST_TABLE_REF
																															(9L),
																															BgL_arg3381z00_4139);
																													}
																													BgL_arg3371z00_4137 =
																														BGl_epairifyzd2propagatezd2locz00zztools_miscz00
																														(BgL_arg3380z00_4138,
																														BgL_locz00_37);
																												}
																												BgL_ebindingsz00_4090 =
																													BgL_ebindingsz00_4129;
																												BgL_bodyz00_4091 =
																													BgL_arg3371z00_4137;
																												return
																													BGl_z62splitzd2headzd2letrecz62zzast_letz00
																													(BgL_sitez00_38,
																													BgL_locz00_37,
																													BgL_stackz00_36,
																													BgL_ebindingsz00_4090,
																													BgL_bodyz00_4091,
																													BGl_proc3764z00zzast_letz00,
																													BgL_stage1z00_7555);
																											}
																										}
																									}
																								}
																							}
																					}
																				}
																			else
																				{	/* Ast/let.scm 1154 */
																				BgL_tagzd22810zd2_2404:
																					return
																						BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
																						(BGl_string3765z00zzast_letz00,
																						BGl_expzd2envzd2zz__r4_numbers_6_5z00,
																						BGl_findzd2locationzf2locz20zztools_locationz00
																						(BGl_expzd2envzd2zz__r4_numbers_6_5z00,
																							BgL_locz00_37));
																				}
																		}
																	}
															}
														else
															{	/* Ast/let.scm 1154 */
																obj_t BgL_cdrzd22864zd2_2426;

																BgL_cdrzd22864zd2_2426 =
																	CDR(((obj_t) BgL_sexpz00_35));
																{	/* Ast/let.scm 1154 */
																	obj_t BgL_carzd22868zd2_2427;

																	BgL_carzd22868zd2_2427 =
																		CAR(((obj_t) BgL_cdrzd22864zd2_2426));
																	if (BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(BgL_carzd22868zd2_2427))
																		{	/* Ast/let.scm 1154 */
																			obj_t BgL_arg2125z00_2429;

																			BgL_arg2125z00_2429 =
																				CDR(((obj_t) BgL_cdrzd22864zd2_2426));
																			{
																				obj_t BgL_bodyz00_10090;
																				obj_t BgL_bindingsz00_10089;

																				BgL_bindingsz00_10089 =
																					BgL_carzd22868zd2_2427;
																				BgL_bodyz00_10090 = BgL_arg2125z00_2429;
																				BgL_bodyz00_2402 = BgL_bodyz00_10090;
																				BgL_bindingsz00_2401 =
																					BgL_bindingsz00_10089;
																				goto BgL_tagzd22809zd2_2403;
																			}
																		}
																	else
																		{	/* Ast/let.scm 1154 */
																			goto BgL_tagzd22810zd2_2404;
																		}
																}
															}
													}
											}
										else
											{	/* Ast/let.scm 1154 */
												goto BgL_tagzd22810zd2_2404;
											}
									}
								else
									{	/* Ast/let.scm 1154 */
										goto BgL_tagzd22810zd2_2404;
									}
							}
						else
							{	/* Ast/let.scm 1154 */
								goto BgL_tagzd22810zd2_2404;
							}
					}
				}
			}
		}

	}



/* loop~1 */
	obj_t BGl_loopze71ze7zzast_letz00(obj_t BgL_varsz00_7630,
		obj_t BgL_sexpz00_2977, obj_t BgL_resz00_2978, obj_t BgL_envz00_2979)
	{
		{	/* Ast/let.scm 787 */
		BGl_loopze71ze7zzast_letz00:
			{

				if (SYMBOLP(BgL_sexpz00_2977))
					{	/* Ast/let.scm 787 */
						if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_sexpz00_2977,
									BgL_varsz00_7630)))
							{	/* Ast/let.scm 793 */
								if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
										(BgL_sexpz00_2977, BgL_envz00_2979)))
									{	/* Ast/let.scm 794 */
										return BgL_resz00_2978;
									}
								else
									{	/* Ast/let.scm 794 */
										if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
												(BgL_sexpz00_2977, BgL_resz00_2978)))
											{	/* Ast/let.scm 795 */
												return BgL_resz00_2978;
											}
										else
											{	/* Ast/let.scm 795 */
												return
													MAKE_YOUNG_PAIR(BgL_sexpz00_2977, BgL_resz00_2978);
											}
									}
							}
						else
							{	/* Ast/let.scm 793 */
								return BgL_resz00_2978;
							}
					}
				else
					{	/* Ast/let.scm 787 */
						if (PAIRP(BgL_sexpz00_2977))
							{	/* Ast/let.scm 787 */
								obj_t BgL_cdrzd2506zd2_3010;

								BgL_cdrzd2506zd2_3010 = CDR(((obj_t) BgL_sexpz00_2977));
								if ((CAR(((obj_t) BgL_sexpz00_2977)) == CNST_TABLE_REF(11L)))
									{	/* Ast/let.scm 787 */
										if (PAIRP(BgL_cdrzd2506zd2_3010))
											{	/* Ast/let.scm 787 */
												if (NULLP(CDR(BgL_cdrzd2506zd2_3010)))
													{	/* Ast/let.scm 787 */
														return BgL_resz00_2978;
													}
												else
													{	/* Ast/let.scm 787 */
													BgL_tagzd2488zd2_3005:
														{	/* Ast/let.scm 814 */
															obj_t BgL_arg2640z00_3166;
															obj_t BgL_arg2641z00_3167;

															BgL_arg2640z00_3166 =
																CAR(((obj_t) BgL_sexpz00_2977));
															{	/* Ast/let.scm 814 */
																obj_t BgL_arg2643z00_3168;

																BgL_arg2643z00_3168 =
																	CDR(((obj_t) BgL_sexpz00_2977));
																BgL_arg2641z00_3167 =
																	BGl_loopze71ze7zzast_letz00(BgL_varsz00_7630,
																	BgL_arg2643z00_3168, BgL_resz00_2978,
																	BgL_envz00_2979);
															}
															{
																obj_t BgL_resz00_10123;
																obj_t BgL_sexpz00_10122;

																BgL_sexpz00_10122 = BgL_arg2640z00_3166;
																BgL_resz00_10123 = BgL_arg2641z00_3167;
																BgL_resz00_2978 = BgL_resz00_10123;
																BgL_sexpz00_2977 = BgL_sexpz00_10122;
																goto BGl_loopze71ze7zzast_letz00;
															}
														}
													}
											}
										else
											{	/* Ast/let.scm 787 */
												goto BgL_tagzd2488zd2_3005;
											}
									}
								else
									{	/* Ast/let.scm 787 */
										if ((CAR(((obj_t) BgL_sexpz00_2977)) == CNST_TABLE_REF(0L)))
											{	/* Ast/let.scm 787 */
												if (PAIRP(BgL_cdrzd2506zd2_3010))
													{	/* Ast/let.scm 787 */
														obj_t BgL_carzd2602zd2_3021;
														obj_t BgL_cdrzd2603zd2_3022;

														BgL_carzd2602zd2_3021 = CAR(BgL_cdrzd2506zd2_3010);
														BgL_cdrzd2603zd2_3022 = CDR(BgL_cdrzd2506zd2_3010);
														if (PAIRP(BgL_carzd2602zd2_3021))
															{	/* Ast/let.scm 787 */
																obj_t BgL_carzd2606zd2_3024;

																BgL_carzd2606zd2_3024 =
																	CAR(BgL_carzd2602zd2_3021);
																if (PAIRP(BgL_carzd2606zd2_3024))
																	{	/* Ast/let.scm 787 */
																		obj_t BgL_cdrzd2611zd2_3026;

																		BgL_cdrzd2611zd2_3026 =
																			CDR(BgL_carzd2606zd2_3024);
																		if (PAIRP(BgL_cdrzd2611zd2_3026))
																			{	/* Ast/let.scm 787 */
																				if (NULLP(CDR(BgL_cdrzd2611zd2_3026)))
																					{	/* Ast/let.scm 787 */
																						if (NULLP(CDR
																								(BgL_carzd2602zd2_3021)))
																							{	/* Ast/let.scm 787 */
																								if (PAIRP
																									(BgL_cdrzd2603zd2_3022))
																									{	/* Ast/let.scm 787 */
																										if (NULLP(CDR
																												(BgL_cdrzd2603zd2_3022)))
																											{	/* Ast/let.scm 787 */
																												obj_t
																													BgL_arg2503z00_3035;
																												obj_t
																													BgL_arg2504z00_3036;
																												obj_t
																													BgL_arg2505z00_3037;
																												BgL_arg2503z00_3035 =
																													CAR
																													(BgL_carzd2606zd2_3024);
																												BgL_arg2504z00_3036 =
																													CAR
																													(BgL_cdrzd2611zd2_3026);
																												BgL_arg2505z00_3037 =
																													CAR
																													(BgL_cdrzd2603zd2_3022);
																												{	/* Ast/let.scm 801 */
																													obj_t
																														BgL_arg2622z00_6146;
																													obj_t
																														BgL_arg2623z00_6147;
																													BgL_arg2622z00_6146 =
																														BGl_loopze71ze7zzast_letz00
																														(BgL_varsz00_7630,
																														BgL_arg2504z00_3036,
																														BgL_resz00_2978,
																														BgL_envz00_2979);
																													BgL_arg2623z00_6147 =
																														MAKE_YOUNG_PAIR
																														(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																														(BgL_arg2503z00_3035,
																															BFALSE),
																														BgL_envz00_2979);
																													{
																														obj_t
																															BgL_envz00_10160;
																														obj_t
																															BgL_resz00_10159;
																														obj_t
																															BgL_sexpz00_10158;
																														BgL_sexpz00_10158 =
																															BgL_arg2505z00_3037;
																														BgL_resz00_10159 =
																															BgL_arg2622z00_6146;
																														BgL_envz00_10160 =
																															BgL_arg2623z00_6147;
																														BgL_envz00_2979 =
																															BgL_envz00_10160;
																														BgL_resz00_2978 =
																															BgL_resz00_10159;
																														BgL_sexpz00_2977 =
																															BgL_sexpz00_10158;
																														goto
																															BGl_loopze71ze7zzast_letz00;
																													}
																												}
																											}
																										else
																											{	/* Ast/let.scm 787 */
																												goto
																													BgL_tagzd2488zd2_3005;
																											}
																									}
																								else
																									{	/* Ast/let.scm 787 */
																										goto BgL_tagzd2488zd2_3005;
																									}
																							}
																						else
																							{	/* Ast/let.scm 787 */
																								goto BgL_tagzd2488zd2_3005;
																							}
																					}
																				else
																					{	/* Ast/let.scm 787 */
																						goto BgL_tagzd2488zd2_3005;
																					}
																			}
																		else
																			{	/* Ast/let.scm 787 */
																				goto BgL_tagzd2488zd2_3005;
																			}
																	}
																else
																	{	/* Ast/let.scm 787 */
																		goto BgL_tagzd2488zd2_3005;
																	}
															}
														else
															{	/* Ast/let.scm 787 */
																goto BgL_tagzd2488zd2_3005;
															}
													}
												else
													{	/* Ast/let.scm 787 */
														goto BgL_tagzd2488zd2_3005;
													}
											}
										else
											{	/* Ast/let.scm 787 */
												obj_t BgL_cdrzd2886zd2_3041;

												BgL_cdrzd2886zd2_3041 = CDR(((obj_t) BgL_sexpz00_2977));
												if (
													(CAR(
															((obj_t) BgL_sexpz00_2977)) ==
														CNST_TABLE_REF(12L)))
													{	/* Ast/let.scm 787 */
														if (PAIRP(BgL_cdrzd2886zd2_3041))
															{	/* Ast/let.scm 787 */
																obj_t BgL_carzd2890zd2_3045;
																obj_t BgL_cdrzd2891zd2_3046;

																BgL_carzd2890zd2_3045 =
																	CAR(BgL_cdrzd2886zd2_3041);
																BgL_cdrzd2891zd2_3046 =
																	CDR(BgL_cdrzd2886zd2_3041);
																if (PAIRP(BgL_carzd2890zd2_3045))
																	{	/* Ast/let.scm 787 */
																		obj_t BgL_carzd2894zd2_3048;

																		BgL_carzd2894zd2_3048 =
																			CAR(BgL_carzd2890zd2_3045);
																		if (PAIRP(BgL_carzd2894zd2_3048))
																			{	/* Ast/let.scm 787 */
																				obj_t BgL_cdrzd2899zd2_3050;

																				BgL_cdrzd2899zd2_3050 =
																					CDR(BgL_carzd2894zd2_3048);
																				if (PAIRP(BgL_cdrzd2899zd2_3050))
																					{	/* Ast/let.scm 787 */
																						if (NULLP(CDR
																								(BgL_cdrzd2899zd2_3050)))
																							{	/* Ast/let.scm 787 */
																								if (NULLP(CDR
																										(BgL_carzd2890zd2_3045)))
																									{	/* Ast/let.scm 787 */
																										if (PAIRP
																											(BgL_cdrzd2891zd2_3046))
																											{	/* Ast/let.scm 787 */
																												if (NULLP(CDR
																														(BgL_cdrzd2891zd2_3046)))
																													{	/* Ast/let.scm 787 */
																														obj_t
																															BgL_arg2527z00_3059;
																														obj_t
																															BgL_arg2528z00_3060;
																														obj_t
																															BgL_arg2531z00_3061;
																														BgL_arg2527z00_3059
																															=
																															CAR
																															(BgL_carzd2894zd2_3048);
																														BgL_arg2528z00_3060
																															=
																															CAR
																															(BgL_cdrzd2899zd2_3050);
																														BgL_arg2531z00_3061
																															=
																															CAR
																															(BgL_cdrzd2891zd2_3046);
																														{	/* Ast/let.scm 803 */
																															obj_t
																																BgL_arg2625z00_6161;
																															obj_t
																																BgL_arg2626z00_6162;
																															BgL_arg2625z00_6161
																																=
																																BGl_loopze71ze7zzast_letz00
																																(BgL_varsz00_7630,
																																BgL_arg2528z00_3060,
																																BgL_resz00_2978,
																																BgL_envz00_2979);
																															BgL_arg2626z00_6162
																																=
																																MAKE_YOUNG_PAIR
																																(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																(BgL_arg2527z00_3059,
																																	BFALSE),
																																BgL_envz00_2979);
																															{
																																obj_t
																																	BgL_envz00_10199;
																																obj_t
																																	BgL_resz00_10198;
																																obj_t
																																	BgL_sexpz00_10197;
																																BgL_sexpz00_10197
																																	=
																																	BgL_arg2531z00_3061;
																																BgL_resz00_10198
																																	=
																																	BgL_arg2625z00_6161;
																																BgL_envz00_10199
																																	=
																																	BgL_arg2626z00_6162;
																																BgL_envz00_2979
																																	=
																																	BgL_envz00_10199;
																																BgL_resz00_2978
																																	=
																																	BgL_resz00_10198;
																																BgL_sexpz00_2977
																																	=
																																	BgL_sexpz00_10197;
																																goto
																																	BGl_loopze71ze7zzast_letz00;
																															}
																														}
																													}
																												else
																													{	/* Ast/let.scm 787 */
																														goto
																															BgL_tagzd2488zd2_3005;
																													}
																											}
																										else
																											{	/* Ast/let.scm 787 */
																												goto
																													BgL_tagzd2488zd2_3005;
																											}
																									}
																								else
																									{	/* Ast/let.scm 787 */
																										goto BgL_tagzd2488zd2_3005;
																									}
																							}
																						else
																							{	/* Ast/let.scm 787 */
																								goto BgL_tagzd2488zd2_3005;
																							}
																					}
																				else
																					{	/* Ast/let.scm 787 */
																						goto BgL_tagzd2488zd2_3005;
																					}
																			}
																		else
																			{	/* Ast/let.scm 787 */
																				goto BgL_tagzd2488zd2_3005;
																			}
																	}
																else
																	{	/* Ast/let.scm 787 */
																		goto BgL_tagzd2488zd2_3005;
																	}
															}
														else
															{	/* Ast/let.scm 787 */
																goto BgL_tagzd2488zd2_3005;
															}
													}
												else
													{	/* Ast/let.scm 787 */
														if (
															(CAR(
																	((obj_t) BgL_sexpz00_2977)) ==
																CNST_TABLE_REF(10L)))
															{	/* Ast/let.scm 787 */
																if (PAIRP(BgL_cdrzd2886zd2_3041))
																	{	/* Ast/let.scm 787 */
																		obj_t BgL_carzd21114zd2_3069;
																		obj_t BgL_cdrzd21115zd2_3070;

																		BgL_carzd21114zd2_3069 =
																			CAR(BgL_cdrzd2886zd2_3041);
																		BgL_cdrzd21115zd2_3070 =
																			CDR(BgL_cdrzd2886zd2_3041);
																		if (PAIRP(BgL_carzd21114zd2_3069))
																			{	/* Ast/let.scm 787 */
																				obj_t BgL_carzd21118zd2_3072;

																				BgL_carzd21118zd2_3072 =
																					CAR(BgL_carzd21114zd2_3069);
																				if (PAIRP(BgL_carzd21118zd2_3072))
																					{	/* Ast/let.scm 787 */
																						obj_t BgL_cdrzd21123zd2_3074;

																						BgL_cdrzd21123zd2_3074 =
																							CDR(BgL_carzd21118zd2_3072);
																						if (PAIRP(BgL_cdrzd21123zd2_3074))
																							{	/* Ast/let.scm 787 */
																								if (NULLP(CDR
																										(BgL_cdrzd21123zd2_3074)))
																									{	/* Ast/let.scm 787 */
																										if (NULLP(CDR
																												(BgL_carzd21114zd2_3069)))
																											{	/* Ast/let.scm 787 */
																												if (PAIRP
																													(BgL_cdrzd21115zd2_3070))
																													{	/* Ast/let.scm 787 */
																														if (NULLP(CDR
																																(BgL_cdrzd21115zd2_3070)))
																															{	/* Ast/let.scm 787 */
																																obj_t
																																	BgL_arg2553z00_3083;
																																obj_t
																																	BgL_arg2554z00_3084;
																																obj_t
																																	BgL_arg2557z00_3085;
																																BgL_arg2553z00_3083
																																	=
																																	CAR
																																	(BgL_carzd21118zd2_3072);
																																BgL_arg2554z00_3084
																																	=
																																	CAR
																																	(BgL_cdrzd21123zd2_3074);
																																BgL_arg2557z00_3085
																																	=
																																	CAR
																																	(BgL_cdrzd21115zd2_3070);
																																{	/* Ast/let.scm 805 */
																																	obj_t
																																		BgL_nenvz00_6176;
																																	BgL_nenvz00_6176
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																		(BgL_arg2553z00_3083,
																																			BFALSE),
																																		BgL_envz00_2979);
																																	{
																																		obj_t
																																			BgL_envz00_10236;
																																		obj_t
																																			BgL_resz00_10234;
																																		obj_t
																																			BgL_sexpz00_10233;
																																		BgL_sexpz00_10233
																																			=
																																			BgL_arg2557z00_3085;
																																		BgL_resz00_10234
																																			=
																																			BGl_loopze71ze7zzast_letz00
																																			(BgL_varsz00_7630,
																																			BgL_arg2554z00_3084,
																																			BgL_resz00_2978,
																																			BgL_nenvz00_6176);
																																		BgL_envz00_10236
																																			=
																																			BgL_nenvz00_6176;
																																		BgL_envz00_2979
																																			=
																																			BgL_envz00_10236;
																																		BgL_resz00_2978
																																			=
																																			BgL_resz00_10234;
																																		BgL_sexpz00_2977
																																			=
																																			BgL_sexpz00_10233;
																																		goto
																																			BGl_loopze71ze7zzast_letz00;
																																	}
																																}
																															}
																														else
																															{	/* Ast/let.scm 787 */
																																goto
																																	BgL_tagzd2488zd2_3005;
																															}
																													}
																												else
																													{	/* Ast/let.scm 787 */
																														goto
																															BgL_tagzd2488zd2_3005;
																													}
																											}
																										else
																											{	/* Ast/let.scm 787 */
																												goto
																													BgL_tagzd2488zd2_3005;
																											}
																									}
																								else
																									{	/* Ast/let.scm 787 */
																										goto BgL_tagzd2488zd2_3005;
																									}
																							}
																						else
																							{	/* Ast/let.scm 787 */
																								goto BgL_tagzd2488zd2_3005;
																							}
																					}
																				else
																					{	/* Ast/let.scm 787 */
																						goto BgL_tagzd2488zd2_3005;
																					}
																			}
																		else
																			{	/* Ast/let.scm 787 */
																				goto BgL_tagzd2488zd2_3005;
																			}
																	}
																else
																	{	/* Ast/let.scm 787 */
																		goto BgL_tagzd2488zd2_3005;
																	}
															}
														else
															{	/* Ast/let.scm 787 */
																obj_t BgL_cdrzd21270zd2_3089;

																BgL_cdrzd21270zd2_3089 =
																	CDR(((obj_t) BgL_sexpz00_2977));
																if (
																	(CAR(
																			((obj_t) BgL_sexpz00_2977)) ==
																		CNST_TABLE_REF(4L)))
																	{	/* Ast/let.scm 787 */
																		if (PAIRP(BgL_cdrzd21270zd2_3089))
																			{	/* Ast/let.scm 787 */
																				obj_t BgL_carzd21274zd2_3093;
																				obj_t BgL_cdrzd21275zd2_3094;

																				BgL_carzd21274zd2_3093 =
																					CAR(BgL_cdrzd21270zd2_3089);
																				BgL_cdrzd21275zd2_3094 =
																					CDR(BgL_cdrzd21270zd2_3089);
																				if (PAIRP(BgL_carzd21274zd2_3093))
																					{	/* Ast/let.scm 787 */
																						obj_t BgL_carzd21278zd2_3096;

																						BgL_carzd21278zd2_3096 =
																							CAR(BgL_carzd21274zd2_3093);
																						if (PAIRP(BgL_carzd21278zd2_3096))
																							{	/* Ast/let.scm 787 */
																								obj_t BgL_cdrzd21283zd2_3098;

																								BgL_cdrzd21283zd2_3098 =
																									CDR(BgL_carzd21278zd2_3096);
																								if (PAIRP
																									(BgL_cdrzd21283zd2_3098))
																									{	/* Ast/let.scm 787 */
																										if (NULLP(CDR
																												(BgL_cdrzd21283zd2_3098)))
																											{	/* Ast/let.scm 787 */
																												if (NULLP(CDR
																														(BgL_carzd21274zd2_3093)))
																													{	/* Ast/let.scm 787 */
																														if (PAIRP
																															(BgL_cdrzd21275zd2_3094))
																															{	/* Ast/let.scm 787 */
																																if (NULLP(CDR
																																		(BgL_cdrzd21275zd2_3094)))
																																	{	/* Ast/let.scm 787 */
																																		obj_t
																																			BgL_arg2581z00_3107;
																																		obj_t
																																			BgL_arg2582z00_3108;
																																		obj_t
																																			BgL_arg2583z00_3109;
																																		BgL_arg2581z00_3107
																																			=
																																			CAR
																																			(BgL_carzd21278zd2_3096);
																																		BgL_arg2582z00_3108
																																			=
																																			CAR
																																			(BgL_cdrzd21283zd2_3098);
																																		BgL_arg2583z00_3109
																																			=
																																			CAR
																																			(BgL_cdrzd21275zd2_3094);
																																		{	/* Ast/let.scm 808 */
																																			obj_t
																																				BgL_nenvz00_6191;
																																			BgL_nenvz00_6191
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																				(BgL_arg2581z00_3107,
																																					BFALSE),
																																				BgL_envz00_2979);
																																			{
																																				obj_t
																																					BgL_envz00_10275;
																																				obj_t
																																					BgL_resz00_10273;
																																				obj_t
																																					BgL_sexpz00_10272;
																																				BgL_sexpz00_10272
																																					=
																																					BgL_arg2583z00_3109;
																																				BgL_resz00_10273
																																					=
																																					BGl_loopze71ze7zzast_letz00
																																					(BgL_varsz00_7630,
																																					BgL_arg2582z00_3108,
																																					BgL_resz00_2978,
																																					BgL_nenvz00_6191);
																																				BgL_envz00_10275
																																					=
																																					BgL_nenvz00_6191;
																																				BgL_envz00_2979
																																					=
																																					BgL_envz00_10275;
																																				BgL_resz00_2978
																																					=
																																					BgL_resz00_10273;
																																				BgL_sexpz00_2977
																																					=
																																					BgL_sexpz00_10272;
																																				goto
																																					BGl_loopze71ze7zzast_letz00;
																																			}
																																		}
																																	}
																																else
																																	{	/* Ast/let.scm 787 */
																																		goto
																																			BgL_tagzd2488zd2_3005;
																																	}
																															}
																														else
																															{	/* Ast/let.scm 787 */
																																goto
																																	BgL_tagzd2488zd2_3005;
																															}
																													}
																												else
																													{	/* Ast/let.scm 787 */
																														goto
																															BgL_tagzd2488zd2_3005;
																													}
																											}
																										else
																											{	/* Ast/let.scm 787 */
																												goto
																													BgL_tagzd2488zd2_3005;
																											}
																									}
																								else
																									{	/* Ast/let.scm 787 */
																										goto BgL_tagzd2488zd2_3005;
																									}
																							}
																						else
																							{	/* Ast/let.scm 787 */
																								goto BgL_tagzd2488zd2_3005;
																							}
																					}
																				else
																					{	/* Ast/let.scm 787 */
																						goto BgL_tagzd2488zd2_3005;
																					}
																			}
																		else
																			{	/* Ast/let.scm 787 */
																				goto BgL_tagzd2488zd2_3005;
																			}
																	}
																else
																	{	/* Ast/let.scm 787 */
																		if (
																			(CAR(
																					((obj_t) BgL_sexpz00_2977)) ==
																				CNST_TABLE_REF(8L)))
																			{	/* Ast/let.scm 787 */
																				if (PAIRP(BgL_cdrzd21270zd2_3089))
																					{	/* Ast/let.scm 787 */
																						obj_t BgL_carzd21371zd2_3117;
																						obj_t BgL_cdrzd21372zd2_3118;

																						BgL_carzd21371zd2_3117 =
																							CAR(BgL_cdrzd21270zd2_3089);
																						BgL_cdrzd21372zd2_3118 =
																							CDR(BgL_cdrzd21270zd2_3089);
																						if (PAIRP(BgL_carzd21371zd2_3117))
																							{	/* Ast/let.scm 787 */
																								obj_t BgL_carzd21376zd2_3120;

																								BgL_carzd21376zd2_3120 =
																									CAR(BgL_carzd21371zd2_3117);
																								if (PAIRP
																									(BgL_carzd21376zd2_3120))
																									{	/* Ast/let.scm 787 */
																										obj_t
																											BgL_cdrzd21382zd2_3122;
																										BgL_cdrzd21382zd2_3122 =
																											CDR
																											(BgL_carzd21376zd2_3120);
																										if (PAIRP
																											(BgL_cdrzd21382zd2_3122))
																											{	/* Ast/let.scm 787 */
																												obj_t
																													BgL_cdrzd21387zd2_3124;
																												BgL_cdrzd21387zd2_3124 =
																													CDR
																													(BgL_cdrzd21382zd2_3122);
																												if (PAIRP
																													(BgL_cdrzd21387zd2_3124))
																													{	/* Ast/let.scm 787 */
																														if (NULLP(CDR
																																(BgL_cdrzd21387zd2_3124)))
																															{	/* Ast/let.scm 787 */
																																if (NULLP(CDR
																																		(BgL_carzd21371zd2_3117)))
																																	{	/* Ast/let.scm 787 */
																																		if (PAIRP
																																			(BgL_cdrzd21372zd2_3118))
																																			{	/* Ast/let.scm 787 */
																																				if (NULLP(CDR(BgL_cdrzd21372zd2_3118)))
																																					{	/* Ast/let.scm 787 */
																																						obj_t
																																							BgL_arg2605z00_3133;
																																						obj_t
																																							BgL_arg2606z00_3134;
																																						obj_t
																																							BgL_arg2607z00_3135;
																																						obj_t
																																							BgL_arg2608z00_3136;
																																						BgL_arg2605z00_3133
																																							=
																																							CAR
																																							(BgL_carzd21376zd2_3120);
																																						BgL_arg2606z00_3134
																																							=
																																							CAR
																																							(BgL_cdrzd21382zd2_3122);
																																						BgL_arg2607z00_3135
																																							=
																																							CAR
																																							(BgL_cdrzd21387zd2_3124);
																																						BgL_arg2608z00_3136
																																							=
																																							CAR
																																							(BgL_cdrzd21372zd2_3118);
																																						{	/* Ast/let.scm 811 */
																																							obj_t
																																								BgL_fenvz00_6208;
																																							BgL_fenvz00_6208
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																								(BgL_arg2605z00_3133,
																																									BFALSE),
																																								BGl_appendza2ze70z45zzast_letz00
																																								(BgL_arg2606z00_3134,
																																									BgL_envz00_2979));
																																							{	/* Ast/let.scm 812 */
																																								obj_t
																																									BgL_arg2633z00_6211;
																																								obj_t
																																									BgL_arg2637z00_6212;
																																								BgL_arg2633z00_6211
																																									=
																																									BGl_loopze71ze7zzast_letz00
																																									(BgL_varsz00_7630,
																																									BgL_arg2607z00_3135,
																																									BgL_resz00_2978,
																																									BgL_fenvz00_6208);
																																								BgL_arg2637z00_6212
																																									=
																																									MAKE_YOUNG_PAIR
																																									(BgL_arg2605z00_3133,
																																									BgL_envz00_2979);
																																								{
																																									obj_t
																																										BgL_envz00_10318;
																																									obj_t
																																										BgL_resz00_10317;
																																									obj_t
																																										BgL_sexpz00_10316;
																																									BgL_sexpz00_10316
																																										=
																																										BgL_arg2608z00_3136;
																																									BgL_resz00_10317
																																										=
																																										BgL_arg2633z00_6211;
																																									BgL_envz00_10318
																																										=
																																										BgL_arg2637z00_6212;
																																									BgL_envz00_2979
																																										=
																																										BgL_envz00_10318;
																																									BgL_resz00_2978
																																										=
																																										BgL_resz00_10317;
																																									BgL_sexpz00_2977
																																										=
																																										BgL_sexpz00_10316;
																																									goto
																																										BGl_loopze71ze7zzast_letz00;
																																								}
																																							}
																																						}
																																					}
																																				else
																																					{	/* Ast/let.scm 787 */
																																						goto
																																							BgL_tagzd2488zd2_3005;
																																					}
																																			}
																																		else
																																			{	/* Ast/let.scm 787 */
																																				goto
																																					BgL_tagzd2488zd2_3005;
																																			}
																																	}
																																else
																																	{	/* Ast/let.scm 787 */
																																		goto
																																			BgL_tagzd2488zd2_3005;
																																	}
																															}
																														else
																															{	/* Ast/let.scm 787 */
																																goto
																																	BgL_tagzd2488zd2_3005;
																															}
																													}
																												else
																													{	/* Ast/let.scm 787 */
																														goto
																															BgL_tagzd2488zd2_3005;
																													}
																											}
																										else
																											{	/* Ast/let.scm 787 */
																												goto
																													BgL_tagzd2488zd2_3005;
																											}
																									}
																								else
																									{	/* Ast/let.scm 787 */
																										goto BgL_tagzd2488zd2_3005;
																									}
																							}
																						else
																							{	/* Ast/let.scm 787 */
																								goto BgL_tagzd2488zd2_3005;
																							}
																					}
																				else
																					{	/* Ast/let.scm 787 */
																						goto BgL_tagzd2488zd2_3005;
																					}
																			}
																		else
																			{	/* Ast/let.scm 787 */
																				goto BgL_tagzd2488zd2_3005;
																			}
																	}
															}
													}
											}
									}
							}
						else
							{	/* Ast/let.scm 787 */
								return BgL_resz00_2978;
							}
					}
			}
		}

	}



/* append*~0 */
	obj_t BGl_appendza2ze70z45zzast_letz00(obj_t BgL_pairz00_2960,
		obj_t BgL_lstz00_2961)
	{
		{	/* Ast/let.scm 782 */
			if (NULLP(BgL_pairz00_2960))
				{	/* Ast/let.scm 777 */
					return BgL_lstz00_2961;
				}
			else
				{	/* Ast/let.scm 777 */
					if (PAIRP(BgL_pairz00_2960))
						{	/* Ast/let.scm 779 */
							return
								MAKE_YOUNG_PAIR(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(CAR
									(BgL_pairz00_2960), BFALSE),
								BGl_appendza2ze70z45zzast_letz00(CDR(BgL_pairz00_2960),
									BgL_lstz00_2961));
						}
					else
						{	/* Ast/let.scm 779 */
							return
								MAKE_YOUNG_PAIR(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
								(BgL_pairz00_2960, BFALSE), BgL_lstz00_2961);
						}
				}
		}

	}



/* loop~2 */
	obj_t BGl_loopze72ze7zzast_letz00(obj_t BgL_vz00_7632, obj_t BgL_varsz00_7631,
		obj_t BgL_sexpz00_3177, obj_t BgL_resz00_3178, obj_t BgL_envz00_3179)
	{
		{	/* Ast/let.scm 819 */
		BGl_loopze72ze7zzast_letz00:
			{
				obj_t BgL_varz00_3183;
				obj_t BgL_valz00_3184;

				if (PAIRP(BgL_sexpz00_3177))
					{	/* Ast/let.scm 819 */
						obj_t BgL_cdrzd21461zd2_3212;

						BgL_cdrzd21461zd2_3212 = CDR(((obj_t) BgL_sexpz00_3177));
						if ((CAR(((obj_t) BgL_sexpz00_3177)) == CNST_TABLE_REF(11L)))
							{	/* Ast/let.scm 819 */
								if (PAIRP(BgL_cdrzd21461zd2_3212))
									{	/* Ast/let.scm 819 */
										if (NULLP(CDR(BgL_cdrzd21461zd2_3212)))
											{	/* Ast/let.scm 819 */
												return BgL_resz00_3178;
											}
										else
											{	/* Ast/let.scm 819 */
											BgL_tagzd21446zd2_3208:
												{	/* Ast/let.scm 847 */
													obj_t BgL_arg2835z00_3384;
													obj_t BgL_arg2836z00_3385;

													BgL_arg2835z00_3384 = CAR(((obj_t) BgL_sexpz00_3177));
													{	/* Ast/let.scm 847 */
														obj_t BgL_arg2837z00_3386;

														BgL_arg2837z00_3386 =
															CDR(((obj_t) BgL_sexpz00_3177));
														BgL_arg2836z00_3385 =
															BGl_loopze72ze7zzast_letz00(BgL_vz00_7632,
															BgL_varsz00_7631, BgL_arg2837z00_3386,
															BgL_resz00_3178, BgL_envz00_3179);
													}
													{
														obj_t BgL_resz00_10350;
														obj_t BgL_sexpz00_10349;

														BgL_sexpz00_10349 = BgL_arg2835z00_3384;
														BgL_resz00_10350 = BgL_arg2836z00_3385;
														BgL_resz00_3178 = BgL_resz00_10350;
														BgL_sexpz00_3177 = BgL_sexpz00_10349;
														goto BGl_loopze72ze7zzast_letz00;
													}
												}
											}
									}
								else
									{	/* Ast/let.scm 819 */
										goto BgL_tagzd21446zd2_3208;
									}
							}
						else
							{	/* Ast/let.scm 819 */
								if ((CAR(((obj_t) BgL_sexpz00_3177)) == CNST_TABLE_REF(5L)))
									{	/* Ast/let.scm 819 */
										if (PAIRP(BgL_cdrzd21461zd2_3212))
											{	/* Ast/let.scm 819 */
												obj_t BgL_carzd21582zd2_3223;
												obj_t BgL_cdrzd21583zd2_3224;

												BgL_carzd21582zd2_3223 = CAR(BgL_cdrzd21461zd2_3212);
												BgL_cdrzd21583zd2_3224 = CDR(BgL_cdrzd21461zd2_3212);
												if (SYMBOLP(BgL_carzd21582zd2_3223))
													{	/* Ast/let.scm 819 */
														if (PAIRP(BgL_cdrzd21583zd2_3224))
															{	/* Ast/let.scm 819 */
																if (NULLP(CDR(BgL_cdrzd21583zd2_3224)))
																	{	/* Ast/let.scm 819 */
																		BgL_varz00_3183 = BgL_carzd21582zd2_3223;
																		BgL_valz00_3184 =
																			CAR(BgL_cdrzd21583zd2_3224);
																		{	/* Ast/let.scm 828 */
																			bool_t BgL_test4137z00_10367;

																			if ((BgL_sexpz00_3177 == BgL_vz00_7632))
																				{	/* Ast/let.scm 828 */
																					BgL_test4137z00_10367 = ((bool_t) 1);
																				}
																			else
																				{	/* Ast/let.scm 828 */
																					if (CBOOL
																						(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																							(BgL_varz00_3183,
																								BgL_varsz00_7631)))
																						{	/* Ast/let.scm 828 */
																							BgL_test4137z00_10367 =
																								((bool_t) 0);
																						}
																					else
																						{	/* Ast/let.scm 828 */
																							BgL_test4137z00_10367 =
																								((bool_t) 1);
																						}
																				}
																			if (BgL_test4137z00_10367)
																				{
																					obj_t BgL_sexpz00_10373;

																					BgL_sexpz00_10373 = BgL_varz00_3183;
																					BgL_sexpz00_3177 = BgL_sexpz00_10373;
																					goto BGl_loopze72ze7zzast_letz00;
																				}
																			else
																				{	/* Ast/let.scm 828 */
																					if (CBOOL
																						(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																							(BgL_varz00_3183,
																								BgL_resz00_3178)))
																						{
																							obj_t BgL_sexpz00_10377;

																							BgL_sexpz00_10377 =
																								BgL_valz00_3184;
																							BgL_sexpz00_3177 =
																								BgL_sexpz00_10377;
																							goto BGl_loopze72ze7zzast_letz00;
																						}
																					else
																						{	/* Ast/let.scm 829 */
																							if (CBOOL
																								(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																									(BgL_varz00_3183,
																										BgL_envz00_3179)))
																								{
																									obj_t BgL_sexpz00_10381;

																									BgL_sexpz00_10381 =
																										BgL_valz00_3184;
																									BgL_sexpz00_3177 =
																										BgL_sexpz00_10381;
																									goto
																										BGl_loopze72ze7zzast_letz00;
																								}
																							else
																								{	/* Ast/let.scm 831 */
																									obj_t BgL_arg2798z00_3365;

																									BgL_arg2798z00_3365 =
																										MAKE_YOUNG_PAIR
																										(BgL_varz00_3183,
																										BgL_resz00_3178);
																									{
																										obj_t BgL_resz00_10384;
																										obj_t BgL_sexpz00_10383;

																										BgL_sexpz00_10383 =
																											BgL_valz00_3184;
																										BgL_resz00_10384 =
																											BgL_arg2798z00_3365;
																										BgL_resz00_3178 =
																											BgL_resz00_10384;
																										BgL_sexpz00_3177 =
																											BgL_sexpz00_10383;
																										goto
																											BGl_loopze72ze7zzast_letz00;
																									}
																								}
																						}
																				}
																		}
																	}
																else
																	{	/* Ast/let.scm 819 */
																		goto BgL_tagzd21446zd2_3208;
																	}
															}
														else
															{	/* Ast/let.scm 819 */
																goto BgL_tagzd21446zd2_3208;
															}
													}
												else
													{	/* Ast/let.scm 819 */
														goto BgL_tagzd21446zd2_3208;
													}
											}
										else
											{	/* Ast/let.scm 819 */
												goto BgL_tagzd21446zd2_3208;
											}
									}
								else
									{	/* Ast/let.scm 819 */
										obj_t BgL_cdrzd21784zd2_3231;

										BgL_cdrzd21784zd2_3231 = CDR(((obj_t) BgL_sexpz00_3177));
										if ((CAR(((obj_t) BgL_sexpz00_3177)) == CNST_TABLE_REF(0L)))
											{	/* Ast/let.scm 819 */
												if (PAIRP(BgL_cdrzd21784zd2_3231))
													{	/* Ast/let.scm 819 */
														obj_t BgL_carzd21788zd2_3235;
														obj_t BgL_cdrzd21789zd2_3236;

														BgL_carzd21788zd2_3235 =
															CAR(BgL_cdrzd21784zd2_3231);
														BgL_cdrzd21789zd2_3236 =
															CDR(BgL_cdrzd21784zd2_3231);
														if (PAIRP(BgL_carzd21788zd2_3235))
															{	/* Ast/let.scm 819 */
																obj_t BgL_carzd21792zd2_3238;

																BgL_carzd21792zd2_3238 =
																	CAR(BgL_carzd21788zd2_3235);
																if (PAIRP(BgL_carzd21792zd2_3238))
																	{	/* Ast/let.scm 819 */
																		obj_t BgL_cdrzd21797zd2_3240;

																		BgL_cdrzd21797zd2_3240 =
																			CDR(BgL_carzd21792zd2_3238);
																		if (PAIRP(BgL_cdrzd21797zd2_3240))
																			{	/* Ast/let.scm 819 */
																				if (NULLP(CDR(BgL_cdrzd21797zd2_3240)))
																					{	/* Ast/let.scm 819 */
																						if (NULLP(CDR
																								(BgL_carzd21788zd2_3235)))
																							{	/* Ast/let.scm 819 */
																								if (PAIRP
																									(BgL_cdrzd21789zd2_3236))
																									{	/* Ast/let.scm 819 */
																										if (NULLP(CDR
																												(BgL_cdrzd21789zd2_3236)))
																											{	/* Ast/let.scm 819 */
																												obj_t
																													BgL_arg2678z00_3249;
																												obj_t
																													BgL_arg2679z00_3250;
																												obj_t
																													BgL_arg2680z00_3251;
																												BgL_arg2678z00_3249 =
																													CAR
																													(BgL_carzd21792zd2_3238);
																												BgL_arg2679z00_3250 =
																													CAR
																													(BgL_cdrzd21797zd2_3240);
																												BgL_arg2680z00_3251 =
																													CAR
																													(BgL_cdrzd21789zd2_3236);
																												{	/* Ast/let.scm 834 */
																													obj_t
																														BgL_arg2799z00_6253;
																													obj_t
																														BgL_arg2801z00_6254;
																													BgL_arg2799z00_6253 =
																														BGl_loopze72ze7zzast_letz00
																														(BgL_vz00_7632,
																														BgL_varsz00_7631,
																														BgL_arg2679z00_3250,
																														BgL_resz00_3178,
																														BgL_envz00_3179);
																													BgL_arg2801z00_6254 =
																														MAKE_YOUNG_PAIR
																														(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																														(BgL_arg2678z00_3249,
																															BFALSE),
																														BgL_envz00_3179);
																													{
																														obj_t
																															BgL_envz00_10424;
																														obj_t
																															BgL_resz00_10423;
																														obj_t
																															BgL_sexpz00_10422;
																														BgL_sexpz00_10422 =
																															BgL_arg2680z00_3251;
																														BgL_resz00_10423 =
																															BgL_arg2799z00_6253;
																														BgL_envz00_10424 =
																															BgL_arg2801z00_6254;
																														BgL_envz00_3179 =
																															BgL_envz00_10424;
																														BgL_resz00_3178 =
																															BgL_resz00_10423;
																														BgL_sexpz00_3177 =
																															BgL_sexpz00_10422;
																														goto
																															BGl_loopze72ze7zzast_letz00;
																													}
																												}
																											}
																										else
																											{	/* Ast/let.scm 819 */
																												goto
																													BgL_tagzd21446zd2_3208;
																											}
																									}
																								else
																									{	/* Ast/let.scm 819 */
																										goto BgL_tagzd21446zd2_3208;
																									}
																							}
																						else
																							{	/* Ast/let.scm 819 */
																								goto BgL_tagzd21446zd2_3208;
																							}
																					}
																				else
																					{	/* Ast/let.scm 819 */
																						goto BgL_tagzd21446zd2_3208;
																					}
																			}
																		else
																			{	/* Ast/let.scm 819 */
																				goto BgL_tagzd21446zd2_3208;
																			}
																	}
																else
																	{	/* Ast/let.scm 819 */
																		goto BgL_tagzd21446zd2_3208;
																	}
															}
														else
															{	/* Ast/let.scm 819 */
																goto BgL_tagzd21446zd2_3208;
															}
													}
												else
													{	/* Ast/let.scm 819 */
														goto BgL_tagzd21446zd2_3208;
													}
											}
										else
											{	/* Ast/let.scm 819 */
												if (
													(CAR(
															((obj_t) BgL_sexpz00_3177)) ==
														CNST_TABLE_REF(12L)))
													{	/* Ast/let.scm 819 */
														if (PAIRP(BgL_cdrzd21784zd2_3231))
															{	/* Ast/let.scm 819 */
																obj_t BgL_carzd22076zd2_3259;
																obj_t BgL_cdrzd22077zd2_3260;

																BgL_carzd22076zd2_3259 =
																	CAR(BgL_cdrzd21784zd2_3231);
																BgL_cdrzd22077zd2_3260 =
																	CDR(BgL_cdrzd21784zd2_3231);
																if (PAIRP(BgL_carzd22076zd2_3259))
																	{	/* Ast/let.scm 819 */
																		obj_t BgL_carzd22080zd2_3262;

																		BgL_carzd22080zd2_3262 =
																			CAR(BgL_carzd22076zd2_3259);
																		if (PAIRP(BgL_carzd22080zd2_3262))
																			{	/* Ast/let.scm 819 */
																				obj_t BgL_cdrzd22085zd2_3264;

																				BgL_cdrzd22085zd2_3264 =
																					CDR(BgL_carzd22080zd2_3262);
																				if (PAIRP(BgL_cdrzd22085zd2_3264))
																					{	/* Ast/let.scm 819 */
																						if (NULLP(CDR
																								(BgL_cdrzd22085zd2_3264)))
																							{	/* Ast/let.scm 819 */
																								if (NULLP(CDR
																										(BgL_carzd22076zd2_3259)))
																									{	/* Ast/let.scm 819 */
																										if (PAIRP
																											(BgL_cdrzd22077zd2_3260))
																											{	/* Ast/let.scm 819 */
																												if (NULLP(CDR
																														(BgL_cdrzd22077zd2_3260)))
																													{	/* Ast/let.scm 819 */
																														obj_t
																															BgL_arg2699z00_3273;
																														obj_t
																															BgL_arg2701z00_3274;
																														obj_t
																															BgL_arg2702z00_3275;
																														BgL_arg2699z00_3273
																															=
																															CAR
																															(BgL_carzd22080zd2_3262);
																														BgL_arg2701z00_3274
																															=
																															CAR
																															(BgL_cdrzd22085zd2_3264);
																														BgL_arg2702z00_3275
																															=
																															CAR
																															(BgL_cdrzd22077zd2_3260);
																														{	/* Ast/let.scm 836 */
																															obj_t
																																BgL_arg2805z00_6268;
																															obj_t
																																BgL_arg2807z00_6269;
																															BgL_arg2805z00_6268
																																=
																																BGl_loopze72ze7zzast_letz00
																																(BgL_vz00_7632,
																																BgL_varsz00_7631,
																																BgL_arg2701z00_3274,
																																BgL_resz00_3178,
																																BgL_envz00_3179);
																															BgL_arg2807z00_6269
																																=
																																MAKE_YOUNG_PAIR
																																(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																(BgL_arg2699z00_3273,
																																	BFALSE),
																																BgL_envz00_3179);
																															{
																																obj_t
																																	BgL_envz00_10461;
																																obj_t
																																	BgL_resz00_10460;
																																obj_t
																																	BgL_sexpz00_10459;
																																BgL_sexpz00_10459
																																	=
																																	BgL_arg2702z00_3275;
																																BgL_resz00_10460
																																	=
																																	BgL_arg2805z00_6268;
																																BgL_envz00_10461
																																	=
																																	BgL_arg2807z00_6269;
																																BgL_envz00_3179
																																	=
																																	BgL_envz00_10461;
																																BgL_resz00_3178
																																	=
																																	BgL_resz00_10460;
																																BgL_sexpz00_3177
																																	=
																																	BgL_sexpz00_10459;
																																goto
																																	BGl_loopze72ze7zzast_letz00;
																															}
																														}
																													}
																												else
																													{	/* Ast/let.scm 819 */
																														goto
																															BgL_tagzd21446zd2_3208;
																													}
																											}
																										else
																											{	/* Ast/let.scm 819 */
																												goto
																													BgL_tagzd21446zd2_3208;
																											}
																									}
																								else
																									{	/* Ast/let.scm 819 */
																										goto BgL_tagzd21446zd2_3208;
																									}
																							}
																						else
																							{	/* Ast/let.scm 819 */
																								goto BgL_tagzd21446zd2_3208;
																							}
																					}
																				else
																					{	/* Ast/let.scm 819 */
																						goto BgL_tagzd21446zd2_3208;
																					}
																			}
																		else
																			{	/* Ast/let.scm 819 */
																				goto BgL_tagzd21446zd2_3208;
																			}
																	}
																else
																	{	/* Ast/let.scm 819 */
																		goto BgL_tagzd21446zd2_3208;
																	}
															}
														else
															{	/* Ast/let.scm 819 */
																goto BgL_tagzd21446zd2_3208;
															}
													}
												else
													{	/* Ast/let.scm 819 */
														obj_t BgL_cdrzd22296zd2_3279;

														BgL_cdrzd22296zd2_3279 =
															CDR(((obj_t) BgL_sexpz00_3177));
														if (
															(CAR(
																	((obj_t) BgL_sexpz00_3177)) ==
																CNST_TABLE_REF(10L)))
															{	/* Ast/let.scm 819 */
																if (PAIRP(BgL_cdrzd22296zd2_3279))
																	{	/* Ast/let.scm 819 */
																		obj_t BgL_carzd22300zd2_3283;
																		obj_t BgL_cdrzd22301zd2_3284;

																		BgL_carzd22300zd2_3283 =
																			CAR(BgL_cdrzd22296zd2_3279);
																		BgL_cdrzd22301zd2_3284 =
																			CDR(BgL_cdrzd22296zd2_3279);
																		if (PAIRP(BgL_carzd22300zd2_3283))
																			{	/* Ast/let.scm 819 */
																				obj_t BgL_carzd22304zd2_3286;

																				BgL_carzd22304zd2_3286 =
																					CAR(BgL_carzd22300zd2_3283);
																				if (PAIRP(BgL_carzd22304zd2_3286))
																					{	/* Ast/let.scm 819 */
																						obj_t BgL_cdrzd22309zd2_3288;

																						BgL_cdrzd22309zd2_3288 =
																							CDR(BgL_carzd22304zd2_3286);
																						if (PAIRP(BgL_cdrzd22309zd2_3288))
																							{	/* Ast/let.scm 819 */
																								if (NULLP(CDR
																										(BgL_cdrzd22309zd2_3288)))
																									{	/* Ast/let.scm 819 */
																										if (NULLP(CDR
																												(BgL_carzd22300zd2_3283)))
																											{	/* Ast/let.scm 819 */
																												if (PAIRP
																													(BgL_cdrzd22301zd2_3284))
																													{	/* Ast/let.scm 819 */
																														if (NULLP(CDR
																																(BgL_cdrzd22301zd2_3284)))
																															{	/* Ast/let.scm 819 */
																																obj_t
																																	BgL_arg2720z00_3297;
																																obj_t
																																	BgL_arg2721z00_3298;
																																obj_t
																																	BgL_arg2722z00_3299;
																																BgL_arg2720z00_3297
																																	=
																																	CAR
																																	(BgL_carzd22304zd2_3286);
																																BgL_arg2721z00_3298
																																	=
																																	CAR
																																	(BgL_cdrzd22309zd2_3288);
																																BgL_arg2722z00_3299
																																	=
																																	CAR
																																	(BgL_cdrzd22301zd2_3284);
																																{	/* Ast/let.scm 838 */
																																	obj_t
																																		BgL_nenvz00_6283;
																																	BgL_nenvz00_6283
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																		(BgL_arg2720z00_3297,
																																			BFALSE),
																																		BgL_envz00_3179);
																																	{
																																		obj_t
																																			BgL_envz00_10500;
																																		obj_t
																																			BgL_resz00_10498;
																																		obj_t
																																			BgL_sexpz00_10497;
																																		BgL_sexpz00_10497
																																			=
																																			BgL_arg2722z00_3299;
																																		BgL_resz00_10498
																																			=
																																			BGl_loopze72ze7zzast_letz00
																																			(BgL_vz00_7632,
																																			BgL_varsz00_7631,
																																			BgL_arg2721z00_3298,
																																			BgL_resz00_3178,
																																			BgL_nenvz00_6283);
																																		BgL_envz00_10500
																																			=
																																			BgL_nenvz00_6283;
																																		BgL_envz00_3179
																																			=
																																			BgL_envz00_10500;
																																		BgL_resz00_3178
																																			=
																																			BgL_resz00_10498;
																																		BgL_sexpz00_3177
																																			=
																																			BgL_sexpz00_10497;
																																		goto
																																			BGl_loopze72ze7zzast_letz00;
																																	}
																																}
																															}
																														else
																															{	/* Ast/let.scm 819 */
																																goto
																																	BgL_tagzd21446zd2_3208;
																															}
																													}
																												else
																													{	/* Ast/let.scm 819 */
																														goto
																															BgL_tagzd21446zd2_3208;
																													}
																											}
																										else
																											{	/* Ast/let.scm 819 */
																												goto
																													BgL_tagzd21446zd2_3208;
																											}
																									}
																								else
																									{	/* Ast/let.scm 819 */
																										goto BgL_tagzd21446zd2_3208;
																									}
																							}
																						else
																							{	/* Ast/let.scm 819 */
																								goto BgL_tagzd21446zd2_3208;
																							}
																					}
																				else
																					{	/* Ast/let.scm 819 */
																						goto BgL_tagzd21446zd2_3208;
																					}
																			}
																		else
																			{	/* Ast/let.scm 819 */
																				goto BgL_tagzd21446zd2_3208;
																			}
																	}
																else
																	{	/* Ast/let.scm 819 */
																		goto BgL_tagzd21446zd2_3208;
																	}
															}
														else
															{	/* Ast/let.scm 819 */
																if (
																	(CAR(
																			((obj_t) BgL_sexpz00_3177)) ==
																		CNST_TABLE_REF(4L)))
																	{	/* Ast/let.scm 819 */
																		if (PAIRP(BgL_cdrzd22296zd2_3279))
																			{	/* Ast/let.scm 819 */
																				obj_t BgL_carzd22460zd2_3307;
																				obj_t BgL_cdrzd22461zd2_3308;

																				BgL_carzd22460zd2_3307 =
																					CAR(BgL_cdrzd22296zd2_3279);
																				BgL_cdrzd22461zd2_3308 =
																					CDR(BgL_cdrzd22296zd2_3279);
																				if (PAIRP(BgL_carzd22460zd2_3307))
																					{	/* Ast/let.scm 819 */
																						obj_t BgL_carzd22464zd2_3310;

																						BgL_carzd22464zd2_3310 =
																							CAR(BgL_carzd22460zd2_3307);
																						if (PAIRP(BgL_carzd22464zd2_3310))
																							{	/* Ast/let.scm 819 */
																								obj_t BgL_cdrzd22469zd2_3312;

																								BgL_cdrzd22469zd2_3312 =
																									CDR(BgL_carzd22464zd2_3310);
																								if (PAIRP
																									(BgL_cdrzd22469zd2_3312))
																									{	/* Ast/let.scm 819 */
																										if (NULLP(CDR
																												(BgL_cdrzd22469zd2_3312)))
																											{	/* Ast/let.scm 819 */
																												if (NULLP(CDR
																														(BgL_carzd22460zd2_3307)))
																													{	/* Ast/let.scm 819 */
																														if (PAIRP
																															(BgL_cdrzd22461zd2_3308))
																															{	/* Ast/let.scm 819 */
																																if (NULLP(CDR
																																		(BgL_cdrzd22461zd2_3308)))
																																	{	/* Ast/let.scm 819 */
																																		obj_t
																																			BgL_arg2746z00_3321;
																																		obj_t
																																			BgL_arg2747z00_3322;
																																		obj_t
																																			BgL_arg2748z00_3323;
																																		BgL_arg2746z00_3321
																																			=
																																			CAR
																																			(BgL_carzd22464zd2_3310);
																																		BgL_arg2747z00_3322
																																			=
																																			CAR
																																			(BgL_cdrzd22469zd2_3312);
																																		BgL_arg2748z00_3323
																																			=
																																			CAR
																																			(BgL_cdrzd22461zd2_3308);
																																		{	/* Ast/let.scm 841 */
																																			obj_t
																																				BgL_nenvz00_6298;
																																			BgL_nenvz00_6298
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																				(BgL_arg2746z00_3321,
																																					BFALSE),
																																				BgL_envz00_3179);
																																			{
																																				obj_t
																																					BgL_envz00_10537;
																																				obj_t
																																					BgL_resz00_10535;
																																				obj_t
																																					BgL_sexpz00_10534;
																																				BgL_sexpz00_10534
																																					=
																																					BgL_arg2748z00_3323;
																																				BgL_resz00_10535
																																					=
																																					BGl_loopze72ze7zzast_letz00
																																					(BgL_vz00_7632,
																																					BgL_varsz00_7631,
																																					BgL_arg2747z00_3322,
																																					BgL_resz00_3178,
																																					BgL_nenvz00_6298);
																																				BgL_envz00_10537
																																					=
																																					BgL_nenvz00_6298;
																																				BgL_envz00_3179
																																					=
																																					BgL_envz00_10537;
																																				BgL_resz00_3178
																																					=
																																					BgL_resz00_10535;
																																				BgL_sexpz00_3177
																																					=
																																					BgL_sexpz00_10534;
																																				goto
																																					BGl_loopze72ze7zzast_letz00;
																																			}
																																		}
																																	}
																																else
																																	{	/* Ast/let.scm 819 */
																																		goto
																																			BgL_tagzd21446zd2_3208;
																																	}
																															}
																														else
																															{	/* Ast/let.scm 819 */
																																goto
																																	BgL_tagzd21446zd2_3208;
																															}
																													}
																												else
																													{	/* Ast/let.scm 819 */
																														goto
																															BgL_tagzd21446zd2_3208;
																													}
																											}
																										else
																											{	/* Ast/let.scm 819 */
																												goto
																													BgL_tagzd21446zd2_3208;
																											}
																									}
																								else
																									{	/* Ast/let.scm 819 */
																										goto BgL_tagzd21446zd2_3208;
																									}
																							}
																						else
																							{	/* Ast/let.scm 819 */
																								goto BgL_tagzd21446zd2_3208;
																							}
																					}
																				else
																					{	/* Ast/let.scm 819 */
																						goto BgL_tagzd21446zd2_3208;
																					}
																			}
																		else
																			{	/* Ast/let.scm 819 */
																				goto BgL_tagzd21446zd2_3208;
																			}
																	}
																else
																	{	/* Ast/let.scm 819 */
																		obj_t BgL_cdrzd22552zd2_3327;

																		BgL_cdrzd22552zd2_3327 =
																			CDR(((obj_t) BgL_sexpz00_3177));
																		if (
																			(CAR(
																					((obj_t) BgL_sexpz00_3177)) ==
																				CNST_TABLE_REF(8L)))
																			{	/* Ast/let.scm 819 */
																				if (PAIRP(BgL_cdrzd22552zd2_3327))
																					{	/* Ast/let.scm 819 */
																						obj_t BgL_carzd22557zd2_3331;
																						obj_t BgL_cdrzd22558zd2_3332;

																						BgL_carzd22557zd2_3331 =
																							CAR(BgL_cdrzd22552zd2_3327);
																						BgL_cdrzd22558zd2_3332 =
																							CDR(BgL_cdrzd22552zd2_3327);
																						if (PAIRP(BgL_carzd22557zd2_3331))
																							{	/* Ast/let.scm 819 */
																								obj_t BgL_carzd22562zd2_3334;

																								BgL_carzd22562zd2_3334 =
																									CAR(BgL_carzd22557zd2_3331);
																								if (PAIRP
																									(BgL_carzd22562zd2_3334))
																									{	/* Ast/let.scm 819 */
																										obj_t
																											BgL_cdrzd22568zd2_3336;
																										BgL_cdrzd22568zd2_3336 =
																											CDR
																											(BgL_carzd22562zd2_3334);
																										if (PAIRP
																											(BgL_cdrzd22568zd2_3336))
																											{	/* Ast/let.scm 819 */
																												obj_t
																													BgL_cdrzd22573zd2_3338;
																												BgL_cdrzd22573zd2_3338 =
																													CDR
																													(BgL_cdrzd22568zd2_3336);
																												if (PAIRP
																													(BgL_cdrzd22573zd2_3338))
																													{	/* Ast/let.scm 819 */
																														if (NULLP(CDR
																																(BgL_cdrzd22573zd2_3338)))
																															{	/* Ast/let.scm 819 */
																																if (NULLP(CDR
																																		(BgL_carzd22557zd2_3331)))
																																	{	/* Ast/let.scm 819 */
																																		if (PAIRP
																																			(BgL_cdrzd22558zd2_3332))
																																			{	/* Ast/let.scm 819 */
																																				if (NULLP(CDR(BgL_cdrzd22558zd2_3332)))
																																					{	/* Ast/let.scm 819 */
																																						obj_t
																																							BgL_arg2777z00_3347;
																																						obj_t
																																							BgL_arg2778z00_3348;
																																						obj_t
																																							BgL_arg2779z00_3349;
																																						obj_t
																																							BgL_arg2781z00_3350;
																																						BgL_arg2777z00_3347
																																							=
																																							CAR
																																							(BgL_carzd22562zd2_3334);
																																						BgL_arg2778z00_3348
																																							=
																																							CAR
																																							(BgL_cdrzd22568zd2_3336);
																																						BgL_arg2779z00_3349
																																							=
																																							CAR
																																							(BgL_cdrzd22573zd2_3338);
																																						BgL_arg2781z00_3350
																																							=
																																							CAR
																																							(BgL_cdrzd22558zd2_3332);
																																						{	/* Ast/let.scm 844 */
																																							obj_t
																																								BgL_fenvz00_6315;
																																							BgL_fenvz00_6315
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																																								(BgL_arg2777z00_3347,
																																									BFALSE),
																																								BGl_appendza2ze70z45zzast_letz00
																																								(BgL_arg2778z00_3348,
																																									BgL_envz00_3179));
																																							{	/* Ast/let.scm 845 */
																																								obj_t
																																									BgL_arg2831z00_6318;
																																								obj_t
																																									BgL_arg2832z00_6319;
																																								BgL_arg2831z00_6318
																																									=
																																									BGl_loopze72ze7zzast_letz00
																																									(BgL_vz00_7632,
																																									BgL_varsz00_7631,
																																									BgL_arg2779z00_3349,
																																									BgL_resz00_3178,
																																									BgL_fenvz00_6315);
																																								BgL_arg2832z00_6319
																																									=
																																									MAKE_YOUNG_PAIR
																																									(BgL_arg2777z00_3347,
																																									BgL_envz00_3179);
																																								{
																																									obj_t
																																										BgL_envz00_10582;
																																									obj_t
																																										BgL_resz00_10581;
																																									obj_t
																																										BgL_sexpz00_10580;
																																									BgL_sexpz00_10580
																																										=
																																										BgL_arg2781z00_3350;
																																									BgL_resz00_10581
																																										=
																																										BgL_arg2831z00_6318;
																																									BgL_envz00_10582
																																										=
																																										BgL_arg2832z00_6319;
																																									BgL_envz00_3179
																																										=
																																										BgL_envz00_10582;
																																									BgL_resz00_3178
																																										=
																																										BgL_resz00_10581;
																																									BgL_sexpz00_3177
																																										=
																																										BgL_sexpz00_10580;
																																									goto
																																										BGl_loopze72ze7zzast_letz00;
																																								}
																																							}
																																						}
																																					}
																																				else
																																					{	/* Ast/let.scm 819 */
																																						goto
																																							BgL_tagzd21446zd2_3208;
																																					}
																																			}
																																		else
																																			{	/* Ast/let.scm 819 */
																																				goto
																																					BgL_tagzd21446zd2_3208;
																																			}
																																	}
																																else
																																	{	/* Ast/let.scm 819 */
																																		goto
																																			BgL_tagzd21446zd2_3208;
																																	}
																															}
																														else
																															{	/* Ast/let.scm 819 */
																																goto
																																	BgL_tagzd21446zd2_3208;
																															}
																													}
																												else
																													{	/* Ast/let.scm 819 */
																														goto
																															BgL_tagzd21446zd2_3208;
																													}
																											}
																										else
																											{	/* Ast/let.scm 819 */
																												goto
																													BgL_tagzd21446zd2_3208;
																											}
																									}
																								else
																									{	/* Ast/let.scm 819 */
																										goto BgL_tagzd21446zd2_3208;
																									}
																							}
																						else
																							{	/* Ast/let.scm 819 */
																								goto BgL_tagzd21446zd2_3208;
																							}
																					}
																				else
																					{	/* Ast/let.scm 819 */
																						goto BgL_tagzd21446zd2_3208;
																					}
																			}
																		else
																			{	/* Ast/let.scm 819 */
																				goto BgL_tagzd21446zd2_3208;
																			}
																	}
															}
													}
											}
									}
							}
					}
				else
					{	/* Ast/let.scm 819 */
						return BgL_resz00_3178;
					}
			}
		}

	}



/* &letrec*->node */
	BgL_nodez00_bglt BGl_z62letrecza2zd2ze3nodezf1zzast_letz00(obj_t
		BgL_envz00_7557, obj_t BgL_sexpz00_7558, obj_t BgL_stackz00_7559,
		obj_t BgL_locz00_7560, obj_t BgL_sitez00_7561)
	{
		{	/* Ast/let.scm 549 */
			return
				BGl_letrecza2zd2ze3nodez93zzast_letz00(BgL_sexpz00_7558,
				BgL_stackz00_7559, BgL_locz00_7560, BgL_sitez00_7561);
		}

	}



/* &letstar */
	obj_t BGl_z62letstarz62zzast_letz00(obj_t BgL_ebindingsz00_2520,
		obj_t BgL_bodyz00_2521)
	{
		{	/* Ast/let.scm 591 */
			if (NULLP(BgL_ebindingsz00_2520))
				{	/* Ast/let.scm 584 */
					return BgL_bodyz00_2521;
				}
			else
				{	/* Ast/let.scm 586 */
					bool_t BgL_test4189z00_10586;

					{	/* Ast/let.scm 586 */
						obj_t BgL_arg2199z00_2543;
						obj_t BgL_arg2201z00_2544;

						BgL_arg2199z00_2543 = CAR(((obj_t) BgL_ebindingsz00_2520));
						{	/* Ast/let.scm 586 */
							obj_t BgL_arg2202z00_2545;

							BgL_arg2202z00_2545 = CAR(((obj_t) BgL_ebindingsz00_2520));
							{	/* Ast/let.scm 586 */
								obj_t BgL_list2203z00_2546;

								BgL_list2203z00_2546 =
									MAKE_YOUNG_PAIR(BgL_arg2202z00_2545, BNIL);
								BgL_arg2201z00_2544 = BgL_list2203z00_2546;
							}
						}
						BgL_test4189z00_10586 =
							CBOOL(BGl_z62usedzd2inzf3z43zzast_letz00(BgL_arg2199z00_2543,
								BgL_arg2201z00_2544));
					}
					if (BgL_test4189z00_10586)
						{	/* Ast/let.scm 587 */
							obj_t BgL_arg2185z00_2529;

							{	/* Ast/let.scm 587 */
								obj_t BgL_arg2186z00_2530;
								obj_t BgL_arg2187z00_2531;

								{	/* Ast/let.scm 587 */
									obj_t BgL_arg2188z00_2532;

									{	/* Ast/let.scm 560 */
										obj_t BgL_pairz00_5965;

										BgL_pairz00_5965 = CAR(((obj_t) BgL_ebindingsz00_2520));
										BgL_arg2188z00_2532 = CAR(BgL_pairz00_5965);
									}
									BgL_arg2186z00_2530 =
										MAKE_YOUNG_PAIR(BgL_arg2188z00_2532, BNIL);
								}
								{	/* Ast/let.scm 588 */
									obj_t BgL_arg2190z00_2534;

									{	/* Ast/let.scm 588 */
										obj_t BgL_arg2191z00_2535;

										BgL_arg2191z00_2535 = CDR(((obj_t) BgL_ebindingsz00_2520));
										BgL_arg2190z00_2534 =
											BGl_z62letstarz62zzast_letz00(BgL_arg2191z00_2535,
											BgL_bodyz00_2521);
									}
									BgL_arg2187z00_2531 =
										MAKE_YOUNG_PAIR(BgL_arg2190z00_2534, BNIL);
								}
								BgL_arg2185z00_2529 =
									MAKE_YOUNG_PAIR(BgL_arg2186z00_2530, BgL_arg2187z00_2531);
							}
							return MAKE_YOUNG_PAIR(CNST_TABLE_REF(10L), BgL_arg2185z00_2529);
						}
					else
						{	/* Ast/let.scm 590 */
							obj_t BgL_arg2192z00_2536;

							{	/* Ast/let.scm 590 */
								obj_t BgL_arg2193z00_2537;
								obj_t BgL_arg2194z00_2538;

								{	/* Ast/let.scm 590 */
									obj_t BgL_arg2195z00_2539;

									{	/* Ast/let.scm 560 */
										obj_t BgL_pairz00_5968;

										BgL_pairz00_5968 = CAR(((obj_t) BgL_ebindingsz00_2520));
										BgL_arg2195z00_2539 = CAR(BgL_pairz00_5968);
									}
									BgL_arg2193z00_2537 =
										MAKE_YOUNG_PAIR(BgL_arg2195z00_2539, BNIL);
								}
								{	/* Ast/let.scm 591 */
									obj_t BgL_arg2197z00_2541;

									{	/* Ast/let.scm 591 */
										obj_t BgL_arg2198z00_2542;

										BgL_arg2198z00_2542 = CDR(((obj_t) BgL_ebindingsz00_2520));
										BgL_arg2197z00_2541 =
											BGl_z62letstarz62zzast_letz00(BgL_arg2198z00_2542,
											BgL_bodyz00_2521);
									}
									BgL_arg2194z00_2538 =
										MAKE_YOUNG_PAIR(BgL_arg2197z00_2541, BNIL);
								}
								BgL_arg2192z00_2536 =
									MAKE_YOUNG_PAIR(BgL_arg2193z00_2537, BgL_arg2194z00_2538);
							}
							return MAKE_YOUNG_PAIR(CNST_TABLE_REF(0L), BgL_arg2192z00_2536);
						}
				}
		}

	}



/* &used-in? */
	obj_t BGl_z62usedzd2inzf3z43zzast_letz00(obj_t BgL_bz00_2505,
		obj_t BgL_ebindingsz00_2506)
	{
		{	/* Ast/let.scm 580 */
			{	/* Ast/let.scm 577 */
				obj_t BgL_varz00_2508;

				{	/* Ast/let.scm 562 */
					obj_t BgL_pairz00_5951;

					BgL_pairz00_5951 = CDR(((obj_t) BgL_bz00_2505));
					BgL_varz00_2508 = CAR(BgL_pairz00_5951);
				}
				{
					obj_t BgL_list1481z00_2510;

					BgL_list1481z00_2510 = BgL_ebindingsz00_2506;
				BgL_zc3z04anonymousza32172ze3z87_2511:
					if (PAIRP(BgL_list1481z00_2510))
						{	/* Ast/let.scm 578 */
							bool_t BgL_test4191z00_10621;

							{	/* Ast/let.scm 579 */
								obj_t BgL_tmpz00_10622;

								{	/* Ast/let.scm 579 */
									obj_t BgL_auxz00_10623;

									{	/* Ast/let.scm 563 */
										obj_t BgL_pairz00_5958;

										{	/* Ast/let.scm 563 */
											obj_t BgL_pairz00_5957;

											BgL_pairz00_5957 =
												CDR(((obj_t) CAR(BgL_list1481z00_2510)));
											BgL_pairz00_5958 = CDR(BgL_pairz00_5957);
										}
										BgL_auxz00_10623 = CAR(BgL_pairz00_5958);
									}
									BgL_tmpz00_10622 =
										BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_varz00_2508,
										BgL_auxz00_10623);
								}
								BgL_test4191z00_10621 = CBOOL(BgL_tmpz00_10622);
							}
							if (BgL_test4191z00_10621)
								{	/* Ast/let.scm 578 */
									return CAR(BgL_list1481z00_2510);
								}
							else
								{
									obj_t BgL_list1481z00_10632;

									BgL_list1481z00_10632 = CDR(BgL_list1481z00_2510);
									BgL_list1481z00_2510 = BgL_list1481z00_10632;
									goto BgL_zc3z04anonymousza32172ze3z87_2511;
								}
						}
					else
						{	/* Ast/let.scm 578 */
							return BFALSE;
						}
				}
			}
		}

	}



/* &mutable-in? */
	obj_t BGl_z62mutablezd2inzf3z43zzast_letz00(obj_t BgL_bz00_2486,
		obj_t BgL_ebindingsz00_2487)
	{
		{	/* Ast/let.scm 571 */
			{	/* Ast/let.scm 568 */
				obj_t BgL_varz00_2489;

				{	/* Ast/let.scm 562 */
					obj_t BgL_pairz00_5935;

					BgL_pairz00_5935 = CDR(((obj_t) BgL_bz00_2486));
					BgL_varz00_2489 = CAR(BgL_pairz00_5935);
				}
				{
					obj_t BgL_list1479z00_2491;

					BgL_list1479z00_2491 = BgL_ebindingsz00_2487;
				BgL_zc3z04anonymousza32163ze3z87_2492:
					if (PAIRP(BgL_list1479z00_2491))
						{	/* Ast/let.scm 569 */
							bool_t BgL_test4193z00_10639;

							{	/* Ast/let.scm 570 */
								obj_t BgL_tmpz00_10640;

								{	/* Ast/let.scm 570 */
									obj_t BgL_auxz00_10641;

									{	/* Ast/let.scm 564 */
										obj_t BgL_pairz00_5944;

										{	/* Ast/let.scm 564 */
											obj_t BgL_pairz00_5943;

											{	/* Ast/let.scm 564 */
												obj_t BgL_pairz00_5942;

												BgL_pairz00_5942 =
													CDR(((obj_t) CAR(BgL_list1479z00_2491)));
												BgL_pairz00_5943 = CDR(BgL_pairz00_5942);
											}
											BgL_pairz00_5944 = CDR(BgL_pairz00_5943);
										}
										BgL_auxz00_10641 = CAR(BgL_pairz00_5944);
									}
									BgL_tmpz00_10640 =
										BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_varz00_2489,
										BgL_auxz00_10641);
								}
								BgL_test4193z00_10639 = CBOOL(BgL_tmpz00_10640);
							}
							if (BgL_test4193z00_10639)
								{	/* Ast/let.scm 569 */
									return CAR(BgL_list1479z00_2491);
								}
							else
								{
									obj_t BgL_list1479z00_10651;

									BgL_list1479z00_10651 = CDR(BgL_list1479z00_2491);
									BgL_list1479z00_2491 = BgL_list1479z00_10651;
									goto BgL_zc3z04anonymousza32163ze3z87_2492;
								}
						}
					else
						{	/* Ast/let.scm 569 */
							return BFALSE;
						}
				}
			}
		}

	}



/* &split-head-letrec */
	BgL_nodez00_bglt BGl_z62splitzd2headzd2letrecz62zzast_letz00(obj_t
		BgL_sitez00_7564, obj_t BgL_locz00_7563, obj_t BgL_stackz00_7562,
		obj_t BgL_ebindingsz00_2776, obj_t BgL_bodyz00_2777,
		obj_t BgL_splitz00_2778, obj_t BgL_kontz00_2779)
	{
		{	/* Ast/let.scm 677 */
			if (NULLP(BgL_ebindingsz00_2776))
				{	/* Ast/let.scm 661 */
					return
						BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_bodyz00_2777,
						BgL_stackz00_7562, BgL_locz00_7563, BgL_sitez00_7564);
				}
			else
				{	/* Ast/let.scm 664 */
					obj_t BgL_reczd2bindingszd2_2782;

					BgL_reczd2bindingszd2_2782 =
						((obj_t(*)(obj_t,
								obj_t))
						PROCEDURE_L_ENTRY(BgL_splitz00_2778)) (BgL_splitz00_2778,
						BgL_ebindingsz00_2776);
					{	/* Ast/let.scm 665 */
						obj_t BgL_recza2zd2bindingsz70_2783;

						{	/* Ast/let.scm 670 */
							obj_t BgL_tmpz00_6022;

							{	/* Ast/let.scm 670 */
								int BgL_tmpz00_10660;

								BgL_tmpz00_10660 = (int) (1L);
								BgL_tmpz00_6022 = BGL_MVALUES_VAL(BgL_tmpz00_10660);
							}
							{	/* Ast/let.scm 670 */
								int BgL_tmpz00_10663;

								BgL_tmpz00_10663 = (int) (1L);
								BGL_MVALUES_VAL_SET(BgL_tmpz00_10663, BUNSPEC);
							}
							BgL_recza2zd2bindingsz70_2783 = BgL_tmpz00_6022;
						}
						if (NULLP(BgL_reczd2bindingszd2_2782))
							{	/* Ast/let.scm 670 */
								return
									((BgL_nodez00_bglt(*)(obj_t, obj_t,
											obj_t))
									PROCEDURE_L_ENTRY(BgL_kontz00_2779)) (BgL_kontz00_2779,
									BgL_ebindingsz00_2776, BgL_bodyz00_2777);
							}
						else
							{	/* Ast/let.scm 674 */
								obj_t BgL_arg2353z00_2785;

								{	/* Ast/let.scm 674 */
									obj_t BgL_arg2354z00_2786;

									{	/* Ast/let.scm 674 */
										obj_t BgL_arg2355z00_2787;

										{	/* Ast/let.scm 674 */
											obj_t BgL_arg2356z00_2788;

											{	/* Ast/let.scm 674 */
												obj_t BgL_arg2357z00_2789;
												obj_t BgL_arg2358z00_2790;

												if (NULLP(BgL_recza2zd2bindingsz70_2783))
													{	/* Ast/let.scm 674 */
														BgL_arg2357z00_2789 = BNIL;
													}
												else
													{	/* Ast/let.scm 674 */
														obj_t BgL_head1493z00_2793;

														{	/* Ast/let.scm 674 */
															obj_t BgL_arg2365z00_2805;

															{	/* Ast/let.scm 560 */
																obj_t BgL_pairz00_6024;

																BgL_pairz00_6024 =
																	CAR(((obj_t) BgL_recza2zd2bindingsz70_2783));
																BgL_arg2365z00_2805 = CAR(BgL_pairz00_6024);
															}
															BgL_head1493z00_2793 =
																MAKE_YOUNG_PAIR(BgL_arg2365z00_2805, BNIL);
														}
														{	/* Ast/let.scm 674 */
															obj_t BgL_g1496z00_2794;

															BgL_g1496z00_2794 =
																CDR(((obj_t) BgL_recza2zd2bindingsz70_2783));
															{
																obj_t BgL_l1491z00_2796;
																obj_t BgL_tail1494z00_2797;

																BgL_l1491z00_2796 = BgL_g1496z00_2794;
																BgL_tail1494z00_2797 = BgL_head1493z00_2793;
															BgL_zc3z04anonymousza32360ze3z87_2798:
																if (NULLP(BgL_l1491z00_2796))
																	{	/* Ast/let.scm 674 */
																		BgL_arg2357z00_2789 = BgL_head1493z00_2793;
																	}
																else
																	{	/* Ast/let.scm 674 */
																		obj_t BgL_newtail1495z00_2800;

																		{	/* Ast/let.scm 674 */
																			obj_t BgL_arg2363z00_2802;

																			{	/* Ast/let.scm 560 */
																				obj_t BgL_pairz00_6027;

																				BgL_pairz00_6027 =
																					CAR(((obj_t) BgL_l1491z00_2796));
																				BgL_arg2363z00_2802 =
																					CAR(BgL_pairz00_6027);
																			}
																			BgL_newtail1495z00_2800 =
																				MAKE_YOUNG_PAIR(BgL_arg2363z00_2802,
																				BNIL);
																		}
																		SET_CDR(BgL_tail1494z00_2797,
																			BgL_newtail1495z00_2800);
																		{	/* Ast/let.scm 674 */
																			obj_t BgL_arg2362z00_2801;

																			BgL_arg2362z00_2801 =
																				CDR(((obj_t) BgL_l1491z00_2796));
																			{
																				obj_t BgL_tail1494z00_10691;
																				obj_t BgL_l1491z00_10690;

																				BgL_l1491z00_10690 =
																					BgL_arg2362z00_2801;
																				BgL_tail1494z00_10691 =
																					BgL_newtail1495z00_2800;
																				BgL_tail1494z00_2797 =
																					BgL_tail1494z00_10691;
																				BgL_l1491z00_2796 = BgL_l1491z00_10690;
																				goto
																					BgL_zc3z04anonymousza32360ze3z87_2798;
																			}
																		}
																	}
															}
														}
													}
												BgL_arg2358z00_2790 =
													MAKE_YOUNG_PAIR(BgL_bodyz00_2777, BNIL);
												BgL_arg2356z00_2788 =
													MAKE_YOUNG_PAIR(BgL_arg2357z00_2789,
													BgL_arg2358z00_2790);
											}
											BgL_arg2355z00_2787 =
												MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L),
												BgL_arg2356z00_2788);
										}
										BgL_arg2354z00_2786 =
											BGl_letrecursiveze70ze7zzast_letz00
											(BgL_reczd2bindingszd2_2782, BgL_arg2355z00_2787);
									}
									BgL_arg2353z00_2785 =
										BGl_z62letcollapsez62zzast_letz00
										(BgL_reczd2bindingszd2_2782, BgL_arg2354z00_2786);
								}
								return
									BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2353z00_2785,
									BgL_stackz00_7562, BgL_locz00_7563, BgL_sitez00_7564);
							}
					}
				}
		}

	}



/* letrecursive~0 */
	obj_t BGl_letrecursiveze70ze7zzast_letz00(obj_t BgL_ebindingsz00_2743,
		obj_t BgL_bodyz00_2744)
	{
		{	/* Ast/let.scm 657 */
			if (NULLP(BgL_ebindingsz00_2743))
				{	/* Ast/let.scm 650 */
					return BgL_bodyz00_2744;
				}
			else
				{	/* Ast/let.scm 652 */
					bool_t BgL_test4199z00_10701;

					{	/* Ast/let.scm 652 */
						obj_t BgL_arg2349z00_2775;

						BgL_arg2349z00_2775 = CAR(((obj_t) BgL_ebindingsz00_2743));
						BgL_test4199z00_10701 =
							CBOOL(BGl_z62usedzd2inzf3z43zzast_letz00(BgL_arg2349z00_2775,
								BgL_ebindingsz00_2743));
					}
					if (BgL_test4199z00_10701)
						{	/* Ast/let.scm 653 */
							obj_t BgL_arg2329z00_2749;

							{	/* Ast/let.scm 653 */
								obj_t BgL_arg2330z00_2750;
								obj_t BgL_arg2331z00_2751;

								{	/* Ast/let.scm 653 */
									obj_t BgL_head1487z00_2754;

									{	/* Ast/let.scm 653 */
										obj_t BgL_arg2338z00_2766;

										{	/* Ast/let.scm 560 */
											obj_t BgL_pairz00_6013;

											BgL_pairz00_6013 = CAR(((obj_t) BgL_ebindingsz00_2743));
											BgL_arg2338z00_2766 = CAR(BgL_pairz00_6013);
										}
										BgL_head1487z00_2754 =
											MAKE_YOUNG_PAIR(BgL_arg2338z00_2766, BNIL);
									}
									{	/* Ast/let.scm 653 */
										obj_t BgL_g1490z00_2755;

										BgL_g1490z00_2755 = CDR(((obj_t) BgL_ebindingsz00_2743));
										{
											obj_t BgL_l1485z00_2757;
											obj_t BgL_tail1488z00_2758;

											BgL_l1485z00_2757 = BgL_g1490z00_2755;
											BgL_tail1488z00_2758 = BgL_head1487z00_2754;
										BgL_zc3z04anonymousza32333ze3z87_2759:
											if (NULLP(BgL_l1485z00_2757))
												{	/* Ast/let.scm 653 */
													BgL_arg2330z00_2750 = BgL_head1487z00_2754;
												}
											else
												{	/* Ast/let.scm 653 */
													obj_t BgL_newtail1489z00_2761;

													{	/* Ast/let.scm 653 */
														obj_t BgL_arg2336z00_2763;

														{	/* Ast/let.scm 560 */
															obj_t BgL_pairz00_6016;

															BgL_pairz00_6016 =
																CAR(((obj_t) BgL_l1485z00_2757));
															BgL_arg2336z00_2763 = CAR(BgL_pairz00_6016);
														}
														BgL_newtail1489z00_2761 =
															MAKE_YOUNG_PAIR(BgL_arg2336z00_2763, BNIL);
													}
													SET_CDR(BgL_tail1488z00_2758,
														BgL_newtail1489z00_2761);
													{	/* Ast/let.scm 653 */
														obj_t BgL_arg2335z00_2762;

														BgL_arg2335z00_2762 =
															CDR(((obj_t) BgL_l1485z00_2757));
														{
															obj_t BgL_tail1488z00_10722;
															obj_t BgL_l1485z00_10721;

															BgL_l1485z00_10721 = BgL_arg2335z00_2762;
															BgL_tail1488z00_10722 = BgL_newtail1489z00_2761;
															BgL_tail1488z00_2758 = BgL_tail1488z00_10722;
															BgL_l1485z00_2757 = BgL_l1485z00_10721;
															goto BgL_zc3z04anonymousza32333ze3z87_2759;
														}
													}
												}
										}
									}
								}
								BgL_arg2331z00_2751 = MAKE_YOUNG_PAIR(BgL_bodyz00_2744, BNIL);
								BgL_arg2329z00_2749 =
									MAKE_YOUNG_PAIR(BgL_arg2330z00_2750, BgL_arg2331z00_2751);
							}
							return MAKE_YOUNG_PAIR(CNST_TABLE_REF(10L), BgL_arg2329z00_2749);
						}
					else
						{	/* Ast/let.scm 656 */
							obj_t BgL_arg2340z00_2768;

							{	/* Ast/let.scm 656 */
								obj_t BgL_arg2341z00_2769;
								obj_t BgL_arg2342z00_2770;

								{	/* Ast/let.scm 656 */
									obj_t BgL_arg2344z00_2771;

									{	/* Ast/let.scm 560 */
										obj_t BgL_pairz00_6020;

										BgL_pairz00_6020 = CAR(((obj_t) BgL_ebindingsz00_2743));
										BgL_arg2344z00_2771 = CAR(BgL_pairz00_6020);
									}
									BgL_arg2341z00_2769 =
										MAKE_YOUNG_PAIR(BgL_arg2344z00_2771, BNIL);
								}
								{	/* Ast/let.scm 657 */
									obj_t BgL_arg2346z00_2773;

									{	/* Ast/let.scm 657 */
										obj_t BgL_arg2348z00_2774;

										BgL_arg2348z00_2774 = CDR(((obj_t) BgL_ebindingsz00_2743));
										BgL_arg2346z00_2773 =
											BGl_letrecursiveze70ze7zzast_letz00(BgL_arg2348z00_2774,
											BgL_bodyz00_2744);
									}
									BgL_arg2342z00_2770 =
										MAKE_YOUNG_PAIR(BgL_arg2346z00_2773, BNIL);
								}
								BgL_arg2340z00_2768 =
									MAKE_YOUNG_PAIR(BgL_arg2341z00_2769, BgL_arg2342z00_2770);
							}
							return MAKE_YOUNG_PAIR(CNST_TABLE_REF(0L), BgL_arg2340z00_2768);
						}
				}
		}

	}



/* &letcollapse */
	obj_t BGl_z62letcollapsez62zzast_letz00(obj_t BgL_ebindingsz00_2725,
		obj_t BgL_exprz00_2726)
	{
		{	/* Ast/let.scm 646 */
			{
				obj_t BgL_ebindingsz00_2547;
				obj_t BgL_exprz00_2548;
				obj_t BgL_ebindingsz00_2660;
				obj_t BgL_exprz00_2661;

				if (PAIRP(BgL_exprz00_2726))
					{	/* Ast/let.scm 646 */
						if ((CAR(((obj_t) BgL_exprz00_2726)) == CNST_TABLE_REF(0L)))
							{	/* Ast/let.scm 646 */
								BgL_ebindingsz00_2547 = BgL_ebindingsz00_2725;
								BgL_exprz00_2548 = BgL_exprz00_2726;
								{
									obj_t BgL_exprz00_2552;
									obj_t BgL_bindingsz00_2553;
									obj_t BgL_ebindingsz00_2554;

									BgL_exprz00_2552 = BgL_exprz00_2548;
									BgL_bindingsz00_2553 = BNIL;
									BgL_ebindingsz00_2554 = BgL_ebindingsz00_2547;
								BgL_zc3z04anonymousza32205ze3z87_2555:
									{
										obj_t BgL_bindingz00_2556;
										obj_t BgL_varz00_2557;
										obj_t BgL_valz00_2558;
										obj_t BgL_subexprz00_2559;

										if (PAIRP(BgL_exprz00_2552))
											{	/* Ast/let.scm 594 */
												obj_t BgL_cdrzd2403zd2_2564;

												BgL_cdrzd2403zd2_2564 = CDR(((obj_t) BgL_exprz00_2552));
												if (
													(CAR(
															((obj_t) BgL_exprz00_2552)) ==
														CNST_TABLE_REF(0L)))
													{	/* Ast/let.scm 594 */
														if (PAIRP(BgL_cdrzd2403zd2_2564))
															{	/* Ast/let.scm 594 */
																obj_t BgL_carzd2408zd2_2568;
																obj_t BgL_cdrzd2409zd2_2569;

																BgL_carzd2408zd2_2568 =
																	CAR(BgL_cdrzd2403zd2_2564);
																BgL_cdrzd2409zd2_2569 =
																	CDR(BgL_cdrzd2403zd2_2564);
																if (PAIRP(BgL_carzd2408zd2_2568))
																	{	/* Ast/let.scm 594 */
																		obj_t BgL_carzd2413zd2_2571;

																		BgL_carzd2413zd2_2571 =
																			CAR(BgL_carzd2408zd2_2568);
																		if (PAIRP(BgL_carzd2413zd2_2571))
																			{	/* Ast/let.scm 594 */
																				obj_t BgL_cdrzd2424zd2_2573;

																				BgL_cdrzd2424zd2_2573 =
																					CDR(BgL_carzd2413zd2_2571);
																				if (PAIRP(BgL_cdrzd2424zd2_2573))
																					{	/* Ast/let.scm 594 */
																						if (NULLP(CDR
																								(BgL_cdrzd2424zd2_2573)))
																							{	/* Ast/let.scm 594 */
																								if (NULLP(CDR
																										(BgL_carzd2408zd2_2568)))
																									{	/* Ast/let.scm 594 */
																										if (PAIRP
																											(BgL_cdrzd2409zd2_2569))
																											{	/* Ast/let.scm 594 */
																												if (NULLP(CDR
																														(BgL_cdrzd2409zd2_2569)))
																													{	/* Ast/let.scm 594 */
																														BgL_bindingz00_2556
																															=
																															BgL_carzd2413zd2_2571;
																														BgL_varz00_2557 =
																															CAR
																															(BgL_carzd2413zd2_2571);
																														BgL_valz00_2558 =
																															CAR
																															(BgL_cdrzd2424zd2_2573);
																														BgL_subexprz00_2559
																															=
																															CAR
																															(BgL_cdrzd2409zd2_2569);
																														{	/* Ast/let.scm 600 */
																															bool_t
																																BgL_test4213z00_10777;
																															{	/* Ast/let.scm 600 */
																																bool_t
																																	BgL_test4214z00_10778;
																																if (BGl_constantzf3zf3zzast_letz00(BgL_valz00_2558))
																																	{	/* Ast/let.scm 600 */
																																		BgL_test4214z00_10778
																																			=
																																			((bool_t)
																																			1);
																																	}
																																else
																																	{	/* Ast/let.scm 600 */

																																		BgL_test4214z00_10778
																																			=
																																			CBOOL
																																			(BGl_functionzf3zf3zzast_letz00
																																			(BgL_valz00_2558,
																																				BFALSE));
																																	}
																																if (BgL_test4214z00_10778)
																																	{	/* Ast/let.scm 601 */
																																		bool_t
																																			BgL_test4216z00_10783;
																																		{
																																			obj_t
																																				BgL_list1483z00_2643;
																																			{	/* Ast/let.scm 603 */
																																				obj_t
																																					BgL_tmpz00_10784;
																																				{	/* Ast/let.scm 563 */
																																					obj_t
																																						BgL_pairz00_5971;
																																					BgL_pairz00_5971
																																						=
																																						CAR(
																																						((obj_t) BgL_ebindingsz00_2554));
																																					BgL_list1483z00_2643
																																						=
																																						CAR
																																						(CDR
																																						(CDR
																																							(BgL_pairz00_5971)));
																																				}
																																			BgL_zc3z04anonymousza32259ze3z87_2644:
																																				if (PAIRP(BgL_list1483z00_2643))
																																					{	/* Ast/let.scm 603 */
																																						bool_t
																																							BgL_test4218z00_10787;
																																						{	/* Ast/let.scm 602 */
																																							obj_t
																																								BgL_tmpz00_10788;
																																							BgL_tmpz00_10788
																																								=
																																								BGl_assqz00zz__r4_pairs_and_lists_6_3z00
																																								(CAR
																																								(BgL_list1483z00_2643),
																																								BgL_bindingsz00_2553);
																																							BgL_test4218z00_10787
																																								=
																																								PAIRP
																																								(BgL_tmpz00_10788);
																																						}
																																						if (BgL_test4218z00_10787)
																																							{	/* Ast/let.scm 603 */
																																								BgL_tmpz00_10784
																																									=
																																									CAR
																																									(BgL_list1483z00_2643);
																																							}
																																						else
																																							{
																																								obj_t
																																									BgL_list1483z00_10793;
																																								BgL_list1483z00_10793
																																									=
																																									CDR
																																									(BgL_list1483z00_2643);
																																								BgL_list1483z00_2643
																																									=
																																									BgL_list1483z00_10793;
																																								goto
																																									BgL_zc3z04anonymousza32259ze3z87_2644;
																																							}
																																					}
																																				else
																																					{	/* Ast/let.scm 603 */
																																						BgL_tmpz00_10784
																																							=
																																							BFALSE;
																																					}
																																				BgL_test4216z00_10783
																																					=
																																					CBOOL
																																					(BgL_tmpz00_10784);
																																			}
																																		}
																																		if (BgL_test4216z00_10783)
																																			{	/* Ast/let.scm 601 */
																																				BgL_test4213z00_10777
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																		else
																																			{	/* Ast/let.scm 601 */
																																				BgL_test4213z00_10777
																																					=
																																					(
																																					(bool_t)
																																					1);
																																			}
																																	}
																																else
																																	{	/* Ast/let.scm 600 */
																																		BgL_test4213z00_10777
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4213z00_10777)
																																{	/* Ast/let.scm 608 */
																																	obj_t
																																		BgL_arg2242z00_2622;
																																	obj_t
																																		BgL_arg2243z00_2623;
																																	BgL_arg2242z00_2622
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_bindingz00_2556,
																																		BgL_bindingsz00_2553);
																																	BgL_arg2243z00_2623
																																		=
																																		CDR(((obj_t)
																																			BgL_ebindingsz00_2554));
																																	{
																																		obj_t
																																			BgL_ebindingsz00_10806;
																																		obj_t
																																			BgL_bindingsz00_10805;
																																		obj_t
																																			BgL_exprz00_10804;
																																		BgL_exprz00_10804
																																			=
																																			BgL_subexprz00_2559;
																																		BgL_bindingsz00_10805
																																			=
																																			BgL_arg2242z00_2622;
																																		BgL_ebindingsz00_10806
																																			=
																																			BgL_arg2243z00_2623;
																																		BgL_ebindingsz00_2554
																																			=
																																			BgL_ebindingsz00_10806;
																																		BgL_bindingsz00_2553
																																			=
																																			BgL_bindingsz00_10805;
																																		BgL_exprz00_2552
																																			=
																																			BgL_exprz00_10804;
																																		goto
																																			BgL_zc3z04anonymousza32205ze3z87_2555;
																																	}
																																}
																															else
																																{	/* Ast/let.scm 600 */
																																	if (NULLP
																																		(BgL_bindingsz00_2553))
																																		{	/* Ast/let.scm 610 */
																																			obj_t
																																				BgL_arg2245z00_2625;
																																			{	/* Ast/let.scm 610 */
																																				obj_t
																																					BgL_arg2246z00_2626;
																																				obj_t
																																					BgL_arg2247z00_2627;
																																				BgL_arg2246z00_2626
																																					=
																																					MAKE_YOUNG_PAIR
																																					(BgL_bindingz00_2556,
																																					BNIL);
																																				{	/* Ast/let.scm 610 */
																																					obj_t
																																						BgL_arg2248z00_2628;
																																					{	/* Ast/let.scm 610 */
																																						obj_t
																																							BgL_arg2249z00_2629;
																																						BgL_arg2249z00_2629
																																							=
																																							CDR
																																							(((obj_t) BgL_ebindingsz00_2554));
																																						BgL_arg2248z00_2628
																																							=
																																							BGl_z62letcollapsez62zzast_letz00
																																							(BgL_arg2249z00_2629,
																																							BgL_subexprz00_2559);
																																					}
																																					BgL_arg2247z00_2627
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_arg2248z00_2628,
																																						BNIL);
																																				}
																																				BgL_arg2245z00_2625
																																					=
																																					MAKE_YOUNG_PAIR
																																					(BgL_arg2246z00_2626,
																																					BgL_arg2247z00_2627);
																																			}
																																			return
																																				MAKE_YOUNG_PAIR
																																				(CNST_TABLE_REF
																																				(0L),
																																				BgL_arg2245z00_2625);
																																		}
																																	else
																																		{	/* Ast/let.scm 612 */
																																			obj_t
																																				BgL_arg2250z00_2630;
																																			{	/* Ast/let.scm 612 */
																																				obj_t
																																					BgL_arg2251z00_2631;
																																				obj_t
																																					BgL_arg2252z00_2632;
																																				BgL_arg2251z00_2631
																																					=
																																					bgl_reverse
																																					(BgL_bindingsz00_2553);
																																				{	/* Ast/let.scm 613 */
																																					obj_t
																																						BgL_arg2253z00_2633;
																																					{	/* Ast/let.scm 613 */
																																						obj_t
																																							BgL_arg2254z00_2634;
																																						{	/* Ast/let.scm 613 */
																																							obj_t
																																								BgL_arg2255z00_2635;
																																							obj_t
																																								BgL_arg2256z00_2636;
																																							BgL_arg2255z00_2635
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BgL_bindingz00_2556,
																																								BNIL);
																																							{	/* Ast/let.scm 613 */
																																								obj_t
																																									BgL_arg2257z00_2637;
																																								{	/* Ast/let.scm 613 */
																																									obj_t
																																										BgL_arg2258z00_2638;
																																									BgL_arg2258z00_2638
																																										=
																																										CDR
																																										(
																																										((obj_t) BgL_ebindingsz00_2554));
																																									BgL_arg2257z00_2637
																																										=
																																										BGl_z62letcollapsez62zzast_letz00
																																										(BgL_arg2258z00_2638,
																																										BgL_subexprz00_2559);
																																								}
																																								BgL_arg2256z00_2636
																																									=
																																									MAKE_YOUNG_PAIR
																																									(BgL_arg2257z00_2637,
																																									BNIL);
																																							}
																																							BgL_arg2254z00_2634
																																								=
																																								MAKE_YOUNG_PAIR
																																								(BgL_arg2255z00_2635,
																																								BgL_arg2256z00_2636);
																																						}
																																						BgL_arg2253z00_2633
																																							=
																																							MAKE_YOUNG_PAIR
																																							(CNST_TABLE_REF
																																							(0L),
																																							BgL_arg2254z00_2634);
																																					}
																																					BgL_arg2252z00_2632
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_arg2253z00_2633,
																																						BNIL);
																																				}
																																				BgL_arg2250z00_2630
																																					=
																																					MAKE_YOUNG_PAIR
																																					(BgL_arg2251z00_2631,
																																					BgL_arg2252z00_2632);
																																			}
																																			return
																																				MAKE_YOUNG_PAIR
																																				(CNST_TABLE_REF
																																				(0L),
																																				BgL_arg2250z00_2630);
																																		}
																																}
																														}
																													}
																												else
																													{	/* Ast/let.scm 594 */
																													BgL_tagzd2392zd2_2561:
																														if (NULLP
																															(BgL_bindingsz00_2553))
																															{	/* Ast/let.scm 615 */
																																return
																																	BgL_exprz00_2552;
																															}
																														else
																															{	/* Ast/let.scm 616 */
																																obj_t
																																	BgL_arg2264z00_2656;
																																{	/* Ast/let.scm 616 */
																																	obj_t
																																		BgL_arg2265z00_2657;
																																	obj_t
																																		BgL_arg2266z00_2658;
																																	BgL_arg2265z00_2657
																																		=
																																		bgl_reverse
																																		(BgL_bindingsz00_2553);
																																	BgL_arg2266z00_2658
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_exprz00_2552,
																																		BNIL);
																																	BgL_arg2264z00_2656
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_arg2265z00_2657,
																																		BgL_arg2266z00_2658);
																																}
																																return
																																	MAKE_YOUNG_PAIR
																																	(CNST_TABLE_REF
																																	(0L),
																																	BgL_arg2264z00_2656);
																															}
																													}
																											}
																										else
																											{	/* Ast/let.scm 594 */
																												goto
																													BgL_tagzd2392zd2_2561;
																											}
																									}
																								else
																									{	/* Ast/let.scm 594 */
																										goto BgL_tagzd2392zd2_2561;
																									}
																							}
																						else
																							{	/* Ast/let.scm 594 */
																								goto BgL_tagzd2392zd2_2561;
																							}
																					}
																				else
																					{	/* Ast/let.scm 594 */
																						goto BgL_tagzd2392zd2_2561;
																					}
																			}
																		else
																			{	/* Ast/let.scm 594 */
																				goto BgL_tagzd2392zd2_2561;
																			}
																	}
																else
																	{	/* Ast/let.scm 594 */
																		goto BgL_tagzd2392zd2_2561;
																	}
															}
														else
															{	/* Ast/let.scm 594 */
																goto BgL_tagzd2392zd2_2561;
															}
													}
												else
													{	/* Ast/let.scm 594 */
														goto BgL_tagzd2392zd2_2561;
													}
											}
										else
											{	/* Ast/let.scm 594 */
												goto BgL_tagzd2392zd2_2561;
											}
									}
								}
							}
						else
							{	/* Ast/let.scm 646 */
								if ((CAR(((obj_t) BgL_exprz00_2726)) == CNST_TABLE_REF(10L)))
									{	/* Ast/let.scm 646 */
										BgL_ebindingsz00_2660 = BgL_ebindingsz00_2725;
										BgL_exprz00_2661 = BgL_exprz00_2726;
										{
											obj_t BgL_exprz00_2665;
											obj_t BgL_bindingsz00_2666;
											obj_t BgL_ebindingsz00_2667;

											BgL_exprz00_2665 = BgL_exprz00_2661;
											BgL_bindingsz00_2666 = BNIL;
											BgL_ebindingsz00_2667 = BgL_ebindingsz00_2660;
										BgL_zc3z04anonymousza32268ze3z87_2668:
											{
												obj_t BgL_bindingz00_2669;
												obj_t BgL_valz00_2670;
												obj_t BgL_subexprz00_2671;

												if (PAIRP(BgL_exprz00_2665))
													{	/* Ast/let.scm 620 */
														obj_t BgL_cdrzd2444zd2_2676;

														BgL_cdrzd2444zd2_2676 =
															CDR(((obj_t) BgL_exprz00_2665));
														if (
															(CAR(
																	((obj_t) BgL_exprz00_2665)) ==
																CNST_TABLE_REF(10L)))
															{	/* Ast/let.scm 620 */
																if (PAIRP(BgL_cdrzd2444zd2_2676))
																	{	/* Ast/let.scm 620 */
																		obj_t BgL_carzd2448zd2_2680;
																		obj_t BgL_cdrzd2449zd2_2681;

																		BgL_carzd2448zd2_2680 =
																			CAR(BgL_cdrzd2444zd2_2676);
																		BgL_cdrzd2449zd2_2681 =
																			CDR(BgL_cdrzd2444zd2_2676);
																		if (PAIRP(BgL_carzd2448zd2_2680))
																			{	/* Ast/let.scm 620 */
																				obj_t BgL_carzd2452zd2_2683;

																				BgL_carzd2452zd2_2683 =
																					CAR(BgL_carzd2448zd2_2680);
																				if (PAIRP(BgL_carzd2452zd2_2683))
																					{	/* Ast/let.scm 620 */
																						obj_t BgL_cdrzd2460zd2_2685;

																						BgL_cdrzd2460zd2_2685 =
																							CDR(BgL_carzd2452zd2_2683);
																						if (PAIRP(BgL_cdrzd2460zd2_2685))
																							{	/* Ast/let.scm 620 */
																								if (NULLP(CDR
																										(BgL_cdrzd2460zd2_2685)))
																									{	/* Ast/let.scm 620 */
																										if (NULLP(CDR
																												(BgL_carzd2448zd2_2680)))
																											{	/* Ast/let.scm 620 */
																												if (PAIRP
																													(BgL_cdrzd2449zd2_2681))
																													{	/* Ast/let.scm 620 */
																														if (NULLP(CDR
																																(BgL_cdrzd2449zd2_2681)))
																															{	/* Ast/let.scm 620 */
																																BgL_bindingz00_2669
																																	=
																																	BgL_carzd2452zd2_2683;
																																BgL_valz00_2670
																																	=
																																	CAR
																																	(BgL_cdrzd2460zd2_2685);
																																BgL_subexprz00_2671
																																	=
																																	CAR
																																	(BgL_cdrzd2449zd2_2681);
																																if (CBOOL
																																	(BGl_functionzf3zf3zzast_letz00
																																		(BgL_valz00_2670,
																																			BTRUE)))
																																	{	/* Ast/let.scm 627 */
																																		obj_t
																																			BgL_arg2291z00_2701;
																																		BgL_arg2291z00_2701
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BgL_bindingz00_2669,
																																			BgL_bindingsz00_2666);
																																		{
																																			obj_t
																																				BgL_bindingsz00_10882;
																																			obj_t
																																				BgL_exprz00_10881;
																																			BgL_exprz00_10881
																																				=
																																				BgL_subexprz00_2671;
																																			BgL_bindingsz00_10882
																																				=
																																				BgL_arg2291z00_2701;
																																			BgL_bindingsz00_2666
																																				=
																																				BgL_bindingsz00_10882;
																																			BgL_exprz00_2665
																																				=
																																				BgL_exprz00_10881;
																																			goto
																																				BgL_zc3z04anonymousza32268ze3z87_2668;
																																		}
																																	}
																																else
																																	{	/* Ast/let.scm 626 */
																																		if (NULLP
																																			(BgL_bindingsz00_2666))
																																			{	/* Ast/let.scm 629 */
																																				obj_t
																																					BgL_arg2293z00_2703;
																																				{	/* Ast/let.scm 629 */
																																					obj_t
																																						BgL_arg2294z00_2704;
																																					obj_t
																																						BgL_arg2295z00_2705;
																																					BgL_arg2294z00_2704
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_bindingz00_2669,
																																						BNIL);
																																					{	/* Ast/let.scm 629 */
																																						obj_t
																																							BgL_arg2296z00_2706;
																																						{	/* Ast/let.scm 629 */
																																							obj_t
																																								BgL_arg2297z00_2707;
																																							BgL_arg2297z00_2707
																																								=
																																								CDR
																																								(
																																								((obj_t) BgL_ebindingsz00_2667));
																																							BgL_arg2296z00_2706
																																								=
																																								BGl_z62letcollapsez62zzast_letz00
																																								(BgL_arg2297z00_2707,
																																								BgL_subexprz00_2671);
																																						}
																																						BgL_arg2295z00_2705
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_arg2296z00_2706,
																																							BNIL);
																																					}
																																					BgL_arg2293z00_2703
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_arg2294z00_2704,
																																						BgL_arg2295z00_2705);
																																				}
																																				return
																																					MAKE_YOUNG_PAIR
																																					(CNST_TABLE_REF
																																					(10L),
																																					BgL_arg2293z00_2703);
																																			}
																																		else
																																			{	/* Ast/let.scm 631 */
																																				obj_t
																																					BgL_arg2298z00_2708;
																																				{	/* Ast/let.scm 631 */
																																					obj_t
																																						BgL_arg2299z00_2709;
																																					obj_t
																																						BgL_arg2300z00_2710;
																																					BgL_arg2299z00_2709
																																						=
																																						bgl_reverse
																																						(BgL_bindingsz00_2666);
																																					{	/* Ast/let.scm 632 */
																																						obj_t
																																							BgL_arg2301z00_2711;
																																						{	/* Ast/let.scm 632 */
																																							obj_t
																																								BgL_arg2302z00_2712;
																																							{	/* Ast/let.scm 632 */
																																								obj_t
																																									BgL_arg2304z00_2713;
																																								obj_t
																																									BgL_arg2305z00_2714;
																																								BgL_arg2304z00_2713
																																									=
																																									MAKE_YOUNG_PAIR
																																									(BgL_bindingz00_2669,
																																									BNIL);
																																								{	/* Ast/let.scm 632 */
																																									obj_t
																																										BgL_arg2306z00_2715;
																																									{	/* Ast/let.scm 632 */
																																										obj_t
																																											BgL_arg2307z00_2716;
																																										BgL_arg2307z00_2716
																																											=
																																											CDR
																																											(
																																											((obj_t) BgL_ebindingsz00_2667));
																																										BgL_arg2306z00_2715
																																											=
																																											BGl_z62letcollapsez62zzast_letz00
																																											(BgL_arg2307z00_2716,
																																											BgL_subexprz00_2671);
																																									}
																																									BgL_arg2305z00_2714
																																										=
																																										MAKE_YOUNG_PAIR
																																										(BgL_arg2306z00_2715,
																																										BNIL);
																																								}
																																								BgL_arg2302z00_2712
																																									=
																																									MAKE_YOUNG_PAIR
																																									(BgL_arg2304z00_2713,
																																									BgL_arg2305z00_2714);
																																							}
																																							BgL_arg2301z00_2711
																																								=
																																								MAKE_YOUNG_PAIR
																																								(CNST_TABLE_REF
																																								(10L),
																																								BgL_arg2302z00_2712);
																																						}
																																						BgL_arg2300z00_2710
																																							=
																																							MAKE_YOUNG_PAIR
																																							(BgL_arg2301z00_2711,
																																							BNIL);
																																					}
																																					BgL_arg2298z00_2708
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_arg2299z00_2709,
																																						BgL_arg2300z00_2710);
																																				}
																																				return
																																					MAKE_YOUNG_PAIR
																																					(CNST_TABLE_REF
																																					(10L),
																																					BgL_arg2298z00_2708);
																																			}
																																	}
																															}
																														else
																															{	/* Ast/let.scm 620 */
																															BgL_tagzd2435zd2_2673:
																																if (NULLP
																																	(BgL_bindingsz00_2666))
																																	{	/* Ast/let.scm 634 */
																																		return
																																			BgL_exprz00_2665;
																																	}
																																else
																																	{	/* Ast/let.scm 635 */
																																		obj_t
																																			BgL_arg2309z00_2718;
																																		{	/* Ast/let.scm 635 */
																																			obj_t
																																				BgL_arg2310z00_2719;
																																			obj_t
																																				BgL_arg2311z00_2720;
																																			BgL_arg2310z00_2719
																																				=
																																				bgl_reverse
																																				(BgL_bindingsz00_2666);
																																			BgL_arg2311z00_2720
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BgL_exprz00_2665,
																																				BNIL);
																																			BgL_arg2309z00_2718
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BgL_arg2310z00_2719,
																																				BgL_arg2311z00_2720);
																																		}
																																		return
																																			MAKE_YOUNG_PAIR
																																			(CNST_TABLE_REF
																																			(10L),
																																			BgL_arg2309z00_2718);
																																	}
																															}
																													}
																												else
																													{	/* Ast/let.scm 620 */
																														goto
																															BgL_tagzd2435zd2_2673;
																													}
																											}
																										else
																											{	/* Ast/let.scm 620 */
																												goto
																													BgL_tagzd2435zd2_2673;
																											}
																									}
																								else
																									{	/* Ast/let.scm 620 */
																										goto BgL_tagzd2435zd2_2673;
																									}
																							}
																						else
																							{	/* Ast/let.scm 620 */
																								goto BgL_tagzd2435zd2_2673;
																							}
																					}
																				else
																					{	/* Ast/let.scm 620 */
																						goto BgL_tagzd2435zd2_2673;
																					}
																			}
																		else
																			{	/* Ast/let.scm 620 */
																				goto BgL_tagzd2435zd2_2673;
																			}
																	}
																else
																	{	/* Ast/let.scm 620 */
																		goto BgL_tagzd2435zd2_2673;
																	}
															}
														else
															{	/* Ast/let.scm 620 */
																goto BgL_tagzd2435zd2_2673;
															}
													}
												else
													{	/* Ast/let.scm 620 */
														goto BgL_tagzd2435zd2_2673;
													}
											}
										}
									}
								else
									{	/* Ast/let.scm 646 */
										if ((CAR(((obj_t) BgL_exprz00_2726)) == CNST_TABLE_REF(8L)))
											{	/* Ast/let.scm 646 */
												return BgL_exprz00_2726;
											}
										else
											{	/* Ast/let.scm 646 */
												return BgL_exprz00_2726;
											}
									}
							}
					}
				else
					{	/* Ast/let.scm 646 */
						return BgL_exprz00_2726;
					}
			}
		}

	}



/* &stage1 */
	BgL_nodez00_bglt BGl_z62stage1z62zzast_letz00(obj_t BgL_envz00_7565,
		obj_t BgL_ebindingsz00_7574, obj_t BgL_bodyz00_7575)
	{
		{	/* Ast/let.scm 1092 */
			{	/* Ast/let.scm 1071 */
				obj_t BgL_stage7z00_7566;
				obj_t BgL_stage5z00_7567;
				obj_t BgL_stage4z00_7568;
				obj_t BgL_stage3z00_7569;
				obj_t BgL_stackz00_7570;
				obj_t BgL_locz00_7571;
				obj_t BgL_sitez00_7572;
				obj_t BgL_stage2z00_7573;

				BgL_stage7z00_7566 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7565, (int) (0L)));
				BgL_stage5z00_7567 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7565, (int) (1L)));
				BgL_stage4z00_7568 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7565, (int) (2L)));
				BgL_stage3z00_7569 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7565, (int) (3L)));
				BgL_stackz00_7570 = PROCEDURE_L_REF(BgL_envz00_7565, (int) (4L));
				BgL_locz00_7571 = PROCEDURE_L_REF(BgL_envz00_7565, (int) (5L));
				BgL_sitez00_7572 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7565, (int) (6L)));
				BgL_stage2z00_7573 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7565, (int) (7L)));
				{
					obj_t BgL_ebindingsz00_7649;
					obj_t BgL_bodyz00_7650;
					obj_t BgL_splitz00_7651;
					obj_t BgL_kontz00_7652;

					{	/* Ast/let.scm 1071 */
						obj_t BgL_splitz00_7669;

						{	/* Ast/let.scm 1071 */
							int BgL_tmpz00_10942;

							BgL_tmpz00_10942 = (int) (0L);
							BgL_splitz00_7669 = MAKE_EL_PROCEDURE(BgL_tmpz00_10942);
						}
						BgL_ebindingsz00_7649 = BgL_ebindingsz00_7574;
						BgL_bodyz00_7650 = BgL_bodyz00_7575;
						BgL_splitz00_7651 = BgL_splitz00_7669;
						BgL_kontz00_7652 = BgL_stage2z00_7573;
						if (NULLP(BgL_ebindingsz00_7649))
							{	/* Ast/let.scm 728 */
								return
									BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_bodyz00_7650,
									BgL_stackz00_7570, BgL_locz00_7571, BgL_sitez00_7572);
							}
						else
							{	/* Ast/let.scm 731 */
								obj_t BgL_recza2zd2bindingsz70_7653;

								BgL_recza2zd2bindingsz70_7653 =
									BGl_z62splitz62zzast_letz00(BgL_splitz00_7651,
									BgL_ebindingsz00_7649);
								{	/* Ast/let.scm 732 */
									obj_t BgL_tailzd2bindingszd2_7654;

									{	/* Ast/let.scm 738 */
										obj_t BgL_tmpz00_7655;

										{	/* Ast/let.scm 738 */
											int BgL_tmpz00_10952;

											BgL_tmpz00_10952 = (int) (1L);
											BgL_tmpz00_7655 = BGL_MVALUES_VAL(BgL_tmpz00_10952);
										}
										{	/* Ast/let.scm 738 */
											int BgL_tmpz00_10955;

											BgL_tmpz00_10955 = (int) (1L);
											BGL_MVALUES_VAL_SET(BgL_tmpz00_10955, BUNSPEC);
										}
										BgL_tailzd2bindingszd2_7654 = BgL_tmpz00_7655;
									}
									if (NULLP(BgL_tailzd2bindingszd2_7654))
										{	/* Ast/let.scm 738 */
											return
												BGl_z62stage2z62zzast_letz00(BgL_kontz00_7652,
												BgL_ebindingsz00_7649, BgL_bodyz00_7650);
										}
									else
										{	/* Ast/let.scm 738 */
											if (NULLP(BgL_recza2zd2bindingsz70_7653))
												{	/* Ast/let.scm 740 */
													return
														BGl_sexpzd2ze3nodez31zzast_sexpz00
														(BGl_z62letstarz62zzast_letz00
														(BgL_tailzd2bindingszd2_7654, BgL_bodyz00_7650),
														BgL_stackz00_7570, BgL_locz00_7571,
														BgL_sitez00_7572);
												}
											else
												{	/* Ast/let.scm 742 */
													obj_t BgL_arg2426z00_7656;

													{	/* Ast/let.scm 742 */
														obj_t BgL_arg2427z00_7657;

														{	/* Ast/let.scm 742 */
															obj_t BgL_arg2429z00_7658;
															obj_t BgL_arg2430z00_7659;

															{	/* Ast/let.scm 742 */
																obj_t BgL_head1517z00_7660;

																BgL_head1517z00_7660 =
																	MAKE_YOUNG_PAIR(CAR(CAR
																		(BgL_recza2zd2bindingsz70_7653)), BNIL);
																{	/* Ast/let.scm 742 */
																	obj_t BgL_g1520z00_7661;

																	BgL_g1520z00_7661 =
																		CDR(BgL_recza2zd2bindingsz70_7653);
																	{
																		obj_t BgL_l1515z00_7663;
																		obj_t BgL_tail1518z00_7664;

																		BgL_l1515z00_7663 = BgL_g1520z00_7661;
																		BgL_tail1518z00_7664 = BgL_head1517z00_7660;
																	BgL_zc3z04anonymousza32432ze3z87_7662:
																		if (NULLP(BgL_l1515z00_7663))
																			{	/* Ast/let.scm 742 */
																				BgL_arg2429z00_7658 =
																					BgL_head1517z00_7660;
																			}
																		else
																			{	/* Ast/let.scm 742 */
																				obj_t BgL_newtail1519z00_7665;

																				{	/* Ast/let.scm 742 */
																					obj_t BgL_arg2435z00_7666;

																					{	/* Ast/let.scm 560 */
																						obj_t BgL_pairz00_7667;

																						BgL_pairz00_7667 =
																							CAR(((obj_t) BgL_l1515z00_7663));
																						BgL_arg2435z00_7666 =
																							CAR(BgL_pairz00_7667);
																					}
																					BgL_newtail1519z00_7665 =
																						MAKE_YOUNG_PAIR(BgL_arg2435z00_7666,
																						BNIL);
																				}
																				SET_CDR(BgL_tail1518z00_7664,
																					BgL_newtail1519z00_7665);
																				{	/* Ast/let.scm 742 */
																					obj_t BgL_arg2434z00_7668;

																					BgL_arg2434z00_7668 =
																						CDR(((obj_t) BgL_l1515z00_7663));
																					{
																						obj_t BgL_tail1518z00_10983;
																						obj_t BgL_l1515z00_10982;

																						BgL_l1515z00_10982 =
																							BgL_arg2434z00_7668;
																						BgL_tail1518z00_10983 =
																							BgL_newtail1519z00_7665;
																						BgL_tail1518z00_7664 =
																							BgL_tail1518z00_10983;
																						BgL_l1515z00_7663 =
																							BgL_l1515z00_10982;
																						goto
																							BgL_zc3z04anonymousza32432ze3z87_7662;
																					}
																				}
																			}
																	}
																}
															}
															BgL_arg2430z00_7659 =
																MAKE_YOUNG_PAIR(BGl_z62letstarz62zzast_letz00
																(BgL_tailzd2bindingszd2_7654, BgL_bodyz00_7650),
																BNIL);
															BgL_arg2427z00_7657 =
																MAKE_YOUNG_PAIR(BgL_arg2429z00_7658,
																BgL_arg2430z00_7659);
														}
														BgL_arg2426z00_7656 =
															MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L),
															BgL_arg2427z00_7657);
													}
													return
														BGl_sexpzd2ze3nodez31zzast_sexpz00
														(BgL_arg2426z00_7656, BgL_stackz00_7570,
														BgL_locz00_7571, BgL_sitez00_7572);
												}
										}
								}
							}
					}
				}
			}
		}

	}



/* &split3756 */
	obj_t BGl_z62split3756z62zzast_letz00(obj_t BgL_envz00_7576,
		obj_t BgL_ebindingsz00_7577)
	{
		{	/* Ast/let.scm 1116 */
			{
				obj_t BgL_ebindingsz00_7671;
				obj_t BgL_reczd2bindingszd2_7672;
				obj_t BgL_recza2zd2bindingsz70_7673;

				BgL_ebindingsz00_7671 = BgL_ebindingsz00_7577;
				BgL_reczd2bindingszd2_7672 = BNIL;
				BgL_recza2zd2bindingsz70_7673 = BNIL;
			BgL_loopz00_7670:
				if (NULLP(BgL_ebindingsz00_7671))
					{	/* Ast/let.scm 1106 */
						obj_t BgL_val0_1613z00_7674;
						obj_t BgL_val1_1614z00_7675;

						BgL_val0_1613z00_7674 =
							bgl_reverse_bang(BgL_reczd2bindingszd2_7672);
						BgL_val1_1614z00_7675 =
							bgl_reverse_bang(BgL_recza2zd2bindingsz70_7673);
						{	/* Ast/let.scm 1106 */
							int BgL_tmpz00_10994;

							BgL_tmpz00_10994 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_10994);
						}
						{	/* Ast/let.scm 1106 */
							int BgL_tmpz00_10997;

							BgL_tmpz00_10997 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_10997, BgL_val1_1614z00_7675);
						}
						return BgL_val0_1613z00_7674;
					}
				else
					{	/* Ast/let.scm 1107 */
						bool_t BgL_test4241z00_11000;

						{	/* Ast/let.scm 1107 */
							bool_t BgL_test4242z00_11001;

							{	/* Ast/let.scm 1107 */
								obj_t BgL_arg3365z00_7676;

								{	/* Ast/let.scm 561 */
									obj_t BgL_pairz00_7677;

									BgL_pairz00_7677 =
										CAR(((obj_t) CAR(((obj_t) BgL_ebindingsz00_7671))));
									BgL_arg3365z00_7676 = CAR(CDR(BgL_pairz00_7677));
								}
								BgL_test4242z00_11001 =
									BGl_loopze70ze7zzast_letz00(BgL_arg3365z00_7676);
							}
							if (BgL_test4242z00_11001)
								{	/* Ast/let.scm 1107 */
									BgL_test4241z00_11000 = ((bool_t) 0);
								}
							else
								{	/* Ast/let.scm 1108 */
									obj_t BgL_arg3364z00_7678;

									BgL_arg3364z00_7678 = CAR(((obj_t) BgL_ebindingsz00_7671));
									if (CBOOL(BGl_z62mutablezd2inzf3z43zzast_letz00
											(BgL_arg3364z00_7678, BgL_recza2zd2bindingsz70_7673)))
										{	/* Ast/let.scm 574 */
											BgL_test4241z00_11000 = ((bool_t) 0);
										}
									else
										{	/* Ast/let.scm 574 */
											BgL_test4241z00_11000 = ((bool_t) 1);
										}
								}
						}
						if (BgL_test4241z00_11000)
							{	/* Ast/let.scm 1110 */
								obj_t BgL_arg3355z00_7679;
								obj_t BgL_arg3356z00_7680;

								BgL_arg3355z00_7679 = CDR(((obj_t) BgL_ebindingsz00_7671));
								{	/* Ast/let.scm 1111 */
									obj_t BgL_arg3358z00_7681;

									BgL_arg3358z00_7681 = CAR(((obj_t) BgL_ebindingsz00_7671));
									BgL_arg3356z00_7680 =
										MAKE_YOUNG_PAIR(BgL_arg3358z00_7681,
										BgL_reczd2bindingszd2_7672);
								}
								{
									obj_t BgL_reczd2bindingszd2_11020;
									obj_t BgL_ebindingsz00_11019;

									BgL_ebindingsz00_11019 = BgL_arg3355z00_7679;
									BgL_reczd2bindingszd2_11020 = BgL_arg3356z00_7680;
									BgL_reczd2bindingszd2_7672 = BgL_reczd2bindingszd2_11020;
									BgL_ebindingsz00_7671 = BgL_ebindingsz00_11019;
									goto BgL_loopz00_7670;
								}
							}
						else
							{	/* Ast/let.scm 1114 */
								obj_t BgL_arg3359z00_7682;
								obj_t BgL_arg3361z00_7683;

								BgL_arg3359z00_7682 = CDR(((obj_t) BgL_ebindingsz00_7671));
								{	/* Ast/let.scm 1116 */
									obj_t BgL_arg3363z00_7684;

									BgL_arg3363z00_7684 = CAR(((obj_t) BgL_ebindingsz00_7671));
									BgL_arg3361z00_7683 =
										MAKE_YOUNG_PAIR(BgL_arg3363z00_7684,
										BgL_recza2zd2bindingsz70_7673);
								}
								{
									obj_t BgL_recza2zd2bindingsz70_11027;
									obj_t BgL_ebindingsz00_11026;

									BgL_ebindingsz00_11026 = BgL_arg3359z00_7682;
									BgL_recza2zd2bindingsz70_11027 = BgL_arg3361z00_7683;
									BgL_recza2zd2bindingsz70_7673 =
										BgL_recza2zd2bindingsz70_11027;
									BgL_ebindingsz00_7671 = BgL_ebindingsz00_11026;
									goto BgL_loopz00_7670;
								}
							}
					}
			}
		}

	}



/* &stage2 */
	BgL_nodez00_bglt BGl_z62stage2z62zzast_letz00(obj_t BgL_envz00_7578,
		obj_t BgL_ebindingsz00_7586, obj_t BgL_bodyz00_7587)
	{
		{	/* Ast/let.scm 1060 */
			{	/* Ast/let.scm 1034 */
				obj_t BgL_stage7z00_7579;
				obj_t BgL_stackz00_7580;
				obj_t BgL_locz00_7581;
				obj_t BgL_sitez00_7582;
				obj_t BgL_stage5z00_7583;
				obj_t BgL_stage4z00_7584;
				obj_t BgL_stage3z00_7585;

				BgL_stage7z00_7579 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7578, (int) (0L)));
				BgL_stackz00_7580 = PROCEDURE_EL_REF(BgL_envz00_7578, (int) (1L));
				BgL_locz00_7581 = PROCEDURE_EL_REF(BgL_envz00_7578, (int) (2L));
				BgL_sitez00_7582 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7578, (int) (3L)));
				BgL_stage5z00_7583 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7578, (int) (4L)));
				BgL_stage4z00_7584 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7578, (int) (5L)));
				BgL_stage3z00_7585 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7578, (int) (6L)));
				return
					BGl_z62splitzd2headzd2letrecz62zzast_letz00(BgL_sitez00_7582,
					BgL_locz00_7581, BgL_stackz00_7580, BgL_ebindingsz00_7586,
					BgL_bodyz00_7587, BGl_proc3766z00zzast_letz00, BgL_stage3z00_7585);
			}
		}

	}



/* &split */
	obj_t BGl_z62splitz62zzast_letz00(obj_t BgL_envz00_7588,
		obj_t BgL_ebindingsz00_7589)
	{
		{	/* Ast/let.scm 1092 */
			{	/* Ast/let.scm 1071 */
				obj_t BgL_g1209z00_7686;

				BgL_g1209z00_7686 = bgl_reverse(BgL_ebindingsz00_7589);
				{
					obj_t BgL_rebindingsz00_7688;
					obj_t BgL_letza2zd2bindingsz70_7689;

					BgL_rebindingsz00_7688 = BgL_g1209z00_7686;
					BgL_letza2zd2bindingsz70_7689 = BNIL;
				BgL_loopz00_7687:
					if (NULLP(BgL_rebindingsz00_7688))
						{	/* Ast/let.scm 1074 */
							{	/* Ast/let.scm 1075 */
								int BgL_tmpz00_11051;

								BgL_tmpz00_11051 = (int) (2L);
								BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11051);
							}
							{	/* Ast/let.scm 1075 */
								int BgL_tmpz00_11054;

								BgL_tmpz00_11054 = (int) (1L);
								BGL_MVALUES_VAL_SET(BgL_tmpz00_11054,
									BgL_letza2zd2bindingsz70_7689);
							}
							return BNIL;
						}
					else
						{	/* Ast/let.scm 1076 */
							bool_t BgL_test4245z00_11057;

							{	/* Ast/let.scm 1076 */
								bool_t BgL_test4246z00_11058;

								{	/* Ast/let.scm 1076 */
									obj_t BgL_g1609z00_7690;

									{	/* Ast/let.scm 563 */
										obj_t BgL_pairz00_7691;

										BgL_pairz00_7691 = CAR(((obj_t) BgL_rebindingsz00_7688));
										BgL_g1609z00_7690 = CAR(CDR(CDR(BgL_pairz00_7691)));
									}
									{
										obj_t BgL_l1607z00_7693;

										BgL_l1607z00_7693 = BgL_g1609z00_7690;
									BgL_zc3z04anonymousza33337ze3z87_7692:
										if (NULLP(BgL_l1607z00_7693))
											{	/* Ast/let.scm 1080 */
												BgL_test4246z00_11058 = ((bool_t) 1);
											}
										else
											{	/* Ast/let.scm 1077 */
												obj_t BgL_nvz00_7694;

												{	/* Ast/let.scm 1077 */
													obj_t BgL_varz00_7695;

													BgL_varz00_7695 = CAR(((obj_t) BgL_l1607z00_7693));
													{	/* Ast/let.scm 1077 */
														obj_t BgL_g1606z00_7696;

														BgL_g1606z00_7696 =
															CDR(((obj_t) BgL_rebindingsz00_7688));
														{
															obj_t BgL_list1605z00_7698;

															BgL_list1605z00_7698 = BgL_g1606z00_7696;
														BgL_zc3z04anonymousza33339ze3z87_7697:
															if (PAIRP(BgL_list1605z00_7698))
																{	/* Ast/let.scm 1079 */
																	bool_t BgL_test4249z00_11072;

																	{	/* Ast/let.scm 1078 */
																		obj_t BgL_tmpz00_11073;

																		{	/* Ast/let.scm 562 */
																			obj_t BgL_pairz00_7699;

																			BgL_pairz00_7699 =
																				CDR(
																				((obj_t) CAR(BgL_list1605z00_7698)));
																			BgL_tmpz00_11073 = CAR(BgL_pairz00_7699);
																		}
																		BgL_test4249z00_11072 =
																			(BgL_varz00_7695 == BgL_tmpz00_11073);
																	}
																	if (BgL_test4249z00_11072)
																		{	/* Ast/let.scm 1079 */
																			BgL_nvz00_7694 =
																				CAR(BgL_list1605z00_7698);
																		}
																	else
																		{
																			obj_t BgL_list1605z00_11080;

																			BgL_list1605z00_11080 =
																				CDR(BgL_list1605z00_7698);
																			BgL_list1605z00_7698 =
																				BgL_list1605z00_11080;
																			goto
																				BgL_zc3z04anonymousza33339ze3z87_7697;
																		}
																}
															else
																{	/* Ast/let.scm 1079 */
																	BgL_nvz00_7694 = BFALSE;
																}
														}
													}
												}
												if (CBOOL(BgL_nvz00_7694))
													{	/* Ast/let.scm 1080 */
														obj_t BgL_arg3338z00_7700;

														BgL_arg3338z00_7700 =
															CDR(((obj_t) BgL_l1607z00_7693));
														{
															obj_t BgL_l1607z00_11086;

															BgL_l1607z00_11086 = BgL_arg3338z00_7700;
															BgL_l1607z00_7693 = BgL_l1607z00_11086;
															goto BgL_zc3z04anonymousza33337ze3z87_7692;
														}
													}
												else
													{	/* Ast/let.scm 1080 */
														BgL_test4246z00_11058 = ((bool_t) 0);
													}
											}
									}
								}
								if (BgL_test4246z00_11058)
									{	/* Ast/let.scm 1083 */
										bool_t BgL_test4251z00_11087;

										{	/* Ast/let.scm 1083 */
											obj_t BgL_arg3335z00_7701;
											obj_t BgL_arg3336z00_7702;

											BgL_arg3335z00_7701 =
												CAR(((obj_t) BgL_rebindingsz00_7688));
											BgL_arg3336z00_7702 =
												CDR(((obj_t) BgL_rebindingsz00_7688));
											BgL_test4251z00_11087 =
												CBOOL(BGl_z62usedzd2inzf3z43zzast_letz00
												(BgL_arg3335z00_7701, BgL_arg3336z00_7702));
										}
										if (BgL_test4251z00_11087)
											{	/* Ast/let.scm 1083 */
												BgL_test4245z00_11057 = ((bool_t) 0);
											}
										else
											{	/* Ast/let.scm 1083 */
												BgL_test4245z00_11057 = ((bool_t) 1);
											}
									}
								else
									{	/* Ast/let.scm 1076 */
										BgL_test4245z00_11057 = ((bool_t) 0);
									}
							}
							if (BgL_test4245z00_11057)
								{	/* Ast/let.scm 1084 */
									obj_t BgL_arg3332z00_7703;
									obj_t BgL_arg3333z00_7704;

									BgL_arg3332z00_7703 = CDR(((obj_t) BgL_rebindingsz00_7688));
									{	/* Ast/let.scm 1085 */
										obj_t BgL_arg3334z00_7705;

										BgL_arg3334z00_7705 = CAR(((obj_t) BgL_rebindingsz00_7688));
										BgL_arg3333z00_7704 =
											MAKE_YOUNG_PAIR(BgL_arg3334z00_7705,
											BgL_letza2zd2bindingsz70_7689);
									}
									{
										obj_t BgL_letza2zd2bindingsz70_11100;
										obj_t BgL_rebindingsz00_11099;

										BgL_rebindingsz00_11099 = BgL_arg3332z00_7703;
										BgL_letza2zd2bindingsz70_11100 = BgL_arg3333z00_7704;
										BgL_letza2zd2bindingsz70_7689 =
											BgL_letza2zd2bindingsz70_11100;
										BgL_rebindingsz00_7688 = BgL_rebindingsz00_11099;
										goto BgL_loopz00_7687;
									}
								}
							else
								{	/* Ast/let.scm 1092 */
									obj_t BgL_val0_1611z00_7706;

									BgL_val0_1611z00_7706 = bgl_reverse(BgL_rebindingsz00_7688);
									{	/* Ast/let.scm 1092 */
										int BgL_tmpz00_11102;

										BgL_tmpz00_11102 = (int) (2L);
										BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11102);
									}
									{	/* Ast/let.scm 1092 */
										int BgL_tmpz00_11105;

										BgL_tmpz00_11105 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_11105,
											BgL_letza2zd2bindingsz70_7689);
									}
									return BgL_val0_1611z00_7706;
								}
						}
				}
			}
		}

	}



/* &stage3 */
	BgL_nodez00_bglt BGl_z62stage3z62zzast_letz00(obj_t BgL_envz00_7590,
		obj_t BgL_ebindingsz00_7597, obj_t BgL_bodyz00_7598)
	{
		{	/* Ast/let.scm 1024 */
			{	/* Ast/let.scm 1002 */
				obj_t BgL_stage7z00_7591;
				obj_t BgL_stackz00_7592;
				obj_t BgL_locz00_7593;
				obj_t BgL_sitez00_7594;
				obj_t BgL_stage5z00_7595;
				obj_t BgL_stage4z00_7596;

				BgL_stage7z00_7591 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7590, (int) (0L)));
				BgL_stackz00_7592 = PROCEDURE_L_REF(BgL_envz00_7590, (int) (1L));
				BgL_locz00_7593 = PROCEDURE_L_REF(BgL_envz00_7590, (int) (2L));
				BgL_sitez00_7594 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7590, (int) (3L)));
				BgL_stage5z00_7595 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7590, (int) (4L)));
				BgL_stage4z00_7596 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7590, (int) (5L)));
				return
					BGl_z62splitzd2headzd2letrecz62zzast_letz00(BgL_sitez00_7594,
					BgL_locz00_7593, BgL_stackz00_7592, BgL_ebindingsz00_7597,
					BgL_bodyz00_7598, BGl_proc3767z00zzast_letz00, BgL_stage4z00_7596);
			}
		}

	}



/* &split3757 */
	obj_t BGl_z62split3757z62zzast_letz00(obj_t BgL_envz00_7599,
		obj_t BgL_ebindingsz00_7600)
	{
		{	/* Ast/let.scm 1060 */
			{
				obj_t BgL_ebindingsz00_7709;
				obj_t BgL_valzd2bindingszd2_7710;
				obj_t BgL_recza2zd2bindingsz70_7711;

				BgL_ebindingsz00_7709 = BgL_ebindingsz00_7600;
				BgL_valzd2bindingszd2_7710 = BNIL;
				BgL_recza2zd2bindingsz70_7711 = BNIL;
			BgL_loopz00_7708:
				if (NULLP(BgL_ebindingsz00_7709))
					{	/* Ast/let.scm 1039 */
						obj_t BgL_val0_1592z00_7712;
						obj_t BgL_val1_1593z00_7713;

						BgL_val0_1592z00_7712 =
							bgl_reverse_bang(BgL_valzd2bindingszd2_7710);
						BgL_val1_1593z00_7713 =
							bgl_reverse_bang(BgL_recza2zd2bindingsz70_7711);
						{	/* Ast/let.scm 1039 */
							int BgL_tmpz00_11129;

							BgL_tmpz00_11129 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11129);
						}
						{	/* Ast/let.scm 1039 */
							int BgL_tmpz00_11132;

							BgL_tmpz00_11132 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_11132, BgL_val1_1593z00_7713);
						}
						return BgL_val0_1592z00_7712;
					}
				else
					{	/* Ast/let.scm 1040 */
						bool_t BgL_test4253z00_11135;

						{	/* Ast/let.scm 1040 */
							bool_t BgL_test4254z00_11136;

							{	/* Ast/let.scm 1040 */
								obj_t BgL_arg3284z00_7714;

								{	/* Ast/let.scm 561 */
									obj_t BgL_pairz00_7715;

									BgL_pairz00_7715 =
										CAR(((obj_t) CAR(((obj_t) BgL_ebindingsz00_7709))));
									BgL_arg3284z00_7714 = CAR(CDR(BgL_pairz00_7715));
								}
								{	/* Ast/let.scm 1040 */

									BgL_test4254z00_11136 =
										BGl_directzd2functionzf3z21zzast_letz00(BgL_arg3284z00_7714,
										((bool_t) 0));
								}
							}
							if (BgL_test4254z00_11136)
								{	/* Ast/let.scm 1041 */
									obj_t BgL_arg3282z00_7716;
									obj_t BgL_arg3283z00_7717;

									BgL_arg3282z00_7716 = CAR(((obj_t) BgL_ebindingsz00_7709));
									BgL_arg3283z00_7717 = CDR(((obj_t) BgL_ebindingsz00_7709));
									if (CBOOL(BGl_z62mutablezd2inzf3z43zzast_letz00
											(BgL_arg3282z00_7716, ((obj_t) BgL_arg3283z00_7717))))
										{	/* Ast/let.scm 574 */
											BgL_test4253z00_11135 = ((bool_t) 0);
										}
									else
										{	/* Ast/let.scm 574 */
											BgL_test4253z00_11135 = ((bool_t) 1);
										}
								}
							else
								{	/* Ast/let.scm 1040 */
									BgL_test4253z00_11135 = ((bool_t) 0);
								}
						}
						if (BgL_test4253z00_11135)
							{	/* Ast/let.scm 1042 */
								obj_t BgL_arg3217z00_7718;
								obj_t BgL_arg3218z00_7719;

								BgL_arg3217z00_7718 = CDR(((obj_t) BgL_ebindingsz00_7709));
								{	/* Ast/let.scm 1044 */
									obj_t BgL_arg3219z00_7720;

									BgL_arg3219z00_7720 = CAR(((obj_t) BgL_ebindingsz00_7709));
									BgL_arg3218z00_7719 =
										MAKE_YOUNG_PAIR(BgL_arg3219z00_7720,
										BgL_recza2zd2bindingsz70_7711);
								}
								{
									obj_t BgL_recza2zd2bindingsz70_11158;
									obj_t BgL_ebindingsz00_11157;

									BgL_ebindingsz00_11157 = BgL_arg3217z00_7718;
									BgL_recza2zd2bindingsz70_11158 = BgL_arg3218z00_7719;
									BgL_recza2zd2bindingsz70_7711 =
										BgL_recza2zd2bindingsz70_11158;
									BgL_ebindingsz00_7709 = BgL_ebindingsz00_11157;
									goto BgL_loopz00_7708;
								}
							}
						else
							{	/* Ast/let.scm 1045 */
								bool_t BgL_test4256z00_11159;

								{	/* Ast/let.scm 1045 */
									bool_t BgL_test4257z00_11160;

									{	/* Ast/let.scm 1045 */
										obj_t BgL_arg3280z00_7721;

										{	/* Ast/let.scm 561 */
											obj_t BgL_pairz00_7722;

											BgL_pairz00_7722 =
												CAR(((obj_t) CAR(((obj_t) BgL_ebindingsz00_7709))));
											BgL_arg3280z00_7721 = CAR(CDR(BgL_pairz00_7722));
										}
										{	/* Ast/let.scm 1045 */

											BgL_test4257z00_11160 =
												CBOOL(BGl_functionzf3zf3zzast_letz00
												(BgL_arg3280z00_7721, BFALSE));
										}
									}
									if (BgL_test4257z00_11160)
										{	/* Ast/let.scm 1045 */
											BgL_test4256z00_11159 = ((bool_t) 0);
										}
									else
										{	/* Ast/let.scm 1046 */
											bool_t BgL_test4258z00_11169;

											{	/* Ast/let.scm 1046 */
												obj_t BgL_g1599z00_7723;

												{	/* Ast/let.scm 563 */
													obj_t BgL_pairz00_7724;

													BgL_pairz00_7724 =
														CAR(((obj_t) BgL_ebindingsz00_7709));
													BgL_g1599z00_7723 = CAR(CDR(CDR(BgL_pairz00_7724)));
												}
												{
													obj_t BgL_list1598z00_7726;

													{	/* Ast/let.scm 1050 */
														obj_t BgL_tmpz00_11175;

														BgL_list1598z00_7726 = BgL_g1599z00_7723;
													BgL_zc3z04anonymousza33273ze3z87_7725:
														if (PAIRP(BgL_list1598z00_7726))
															{	/* Ast/let.scm 1050 */
																bool_t BgL_test4260z00_11178;

																{	/* Ast/let.scm 1047 */
																	obj_t BgL_varz00_7727;

																	BgL_varz00_7727 = CAR(BgL_list1598z00_7726);
																	{	/* Ast/let.scm 1047 */
																		bool_t BgL_test4261z00_11180;

																		{	/* Ast/let.scm 1047 */
																			obj_t BgL_g1596z00_7728;

																			BgL_g1596z00_7728 =
																				CDR(((obj_t) BgL_ebindingsz00_7709));
																			{
																				obj_t BgL_list1595z00_7730;

																				{	/* Ast/let.scm 1049 */
																					obj_t BgL_tmpz00_11183;

																					BgL_list1595z00_7730 =
																						BgL_g1596z00_7728;
																				BgL_zc3z04anonymousza33275ze3z87_7729:
																					if (PAIRP(BgL_list1595z00_7730))
																						{	/* Ast/let.scm 1049 */
																							bool_t BgL_test4263z00_11186;

																							{	/* Ast/let.scm 1048 */
																								obj_t BgL_tmpz00_11187;

																								{	/* Ast/let.scm 562 */
																									obj_t BgL_pairz00_7731;

																									BgL_pairz00_7731 =
																										CDR(
																										((obj_t)
																											CAR
																											(BgL_list1595z00_7730)));
																									BgL_tmpz00_11187 =
																										CAR(BgL_pairz00_7731);
																								}
																								BgL_test4263z00_11186 =
																									(BgL_tmpz00_11187 ==
																									BgL_varz00_7727);
																							}
																							if (BgL_test4263z00_11186)
																								{	/* Ast/let.scm 1049 */
																									BgL_tmpz00_11183 =
																										CAR(BgL_list1595z00_7730);
																								}
																							else
																								{
																									obj_t BgL_list1595z00_11194;

																									BgL_list1595z00_11194 =
																										CDR(BgL_list1595z00_7730);
																									BgL_list1595z00_7730 =
																										BgL_list1595z00_11194;
																									goto
																										BgL_zc3z04anonymousza33275ze3z87_7729;
																								}
																						}
																					else
																						{	/* Ast/let.scm 1049 */
																							BgL_tmpz00_11183 = BFALSE;
																						}
																					BgL_test4261z00_11180 =
																						CBOOL(BgL_tmpz00_11183);
																				}
																			}
																		}
																		if (BgL_test4261z00_11180)
																			{	/* Ast/let.scm 1047 */
																				BgL_test4260z00_11178 = ((bool_t) 0);
																			}
																		else
																			{	/* Ast/let.scm 1047 */
																				BgL_test4260z00_11178 = ((bool_t) 1);
																			}
																	}
																}
																if (BgL_test4260z00_11178)
																	{	/* Ast/let.scm 1050 */
																		BgL_tmpz00_11175 =
																			CAR(BgL_list1598z00_7726);
																	}
																else
																	{
																		obj_t BgL_list1598z00_11198;

																		BgL_list1598z00_11198 =
																			CDR(BgL_list1598z00_7726);
																		BgL_list1598z00_7726 =
																			BgL_list1598z00_11198;
																		goto BgL_zc3z04anonymousza33273ze3z87_7725;
																	}
															}
														else
															{	/* Ast/let.scm 1050 */
																BgL_tmpz00_11175 = BFALSE;
															}
														BgL_test4258z00_11169 = CBOOL(BgL_tmpz00_11175);
													}
												}
											}
											if (BgL_test4258z00_11169)
												{	/* Ast/let.scm 1046 */
													BgL_test4256z00_11159 = ((bool_t) 0);
												}
											else
												{	/* Ast/let.scm 1051 */
													obj_t BgL_arg3272z00_7732;

													BgL_arg3272z00_7732 =
														CAR(((obj_t) BgL_ebindingsz00_7709));
													if (CBOOL(BGl_z62mutablezd2inzf3z43zzast_letz00
															(BgL_arg3272z00_7732,
																BgL_recza2zd2bindingsz70_7711)))
														{	/* Ast/let.scm 574 */
															BgL_test4256z00_11159 = ((bool_t) 0);
														}
													else
														{	/* Ast/let.scm 574 */
															BgL_test4256z00_11159 = ((bool_t) 1);
														}
												}
										}
								}
								if (BgL_test4256z00_11159)
									{	/* Ast/let.scm 1054 */
										obj_t BgL_arg3266z00_7733;
										obj_t BgL_arg3269z00_7734;

										BgL_arg3266z00_7733 = CDR(((obj_t) BgL_ebindingsz00_7709));
										{	/* Ast/let.scm 1055 */
											obj_t BgL_arg3270z00_7735;

											BgL_arg3270z00_7735 =
												CAR(((obj_t) BgL_ebindingsz00_7709));
											BgL_arg3269z00_7734 =
												MAKE_YOUNG_PAIR(BgL_arg3270z00_7735,
												BgL_valzd2bindingszd2_7710);
										}
										{
											obj_t BgL_valzd2bindingszd2_11212;
											obj_t BgL_ebindingsz00_11211;

											BgL_ebindingsz00_11211 = BgL_arg3266z00_7733;
											BgL_valzd2bindingszd2_11212 = BgL_arg3269z00_7734;
											BgL_valzd2bindingszd2_7710 = BgL_valzd2bindingszd2_11212;
											BgL_ebindingsz00_7709 = BgL_ebindingsz00_11211;
											goto BgL_loopz00_7708;
										}
									}
								else
									{	/* Ast/let.scm 1059 */
										obj_t BgL_val0_1600z00_7736;
										obj_t BgL_val1_1601z00_7737;

										BgL_val0_1600z00_7736 =
											bgl_reverse_bang(BgL_valzd2bindingszd2_7710);
										BgL_val1_1601z00_7737 =
											BGl_appendzd221011zd2zzast_letz00(bgl_reverse_bang
											(BgL_recza2zd2bindingsz70_7711), BgL_ebindingsz00_7709);
										{	/* Ast/let.scm 1059 */
											int BgL_tmpz00_11216;

											BgL_tmpz00_11216 = (int) (2L);
											BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11216);
										}
										{	/* Ast/let.scm 1059 */
											int BgL_tmpz00_11219;

											BgL_tmpz00_11219 = (int) (1L);
											BGL_MVALUES_VAL_SET(BgL_tmpz00_11219,
												BgL_val1_1601z00_7737);
										}
										return BgL_val0_1600z00_7736;
									}
							}
					}
			}
		}

	}



/* &stage4 */
	BgL_nodez00_bglt BGl_z62stage4z62zzast_letz00(obj_t BgL_envz00_7601,
		obj_t BgL_ebindingsz00_7607, obj_t BgL_bodyz00_7608)
	{
		{	/* Ast/let.scm 992 */
			{	/* Ast/let.scm 978 */
				obj_t BgL_stage7z00_7602;
				obj_t BgL_stackz00_7603;
				obj_t BgL_locz00_7604;
				obj_t BgL_sitez00_7605;
				obj_t BgL_stage5z00_7606;

				BgL_stage7z00_7602 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7601, (int) (0L)));
				BgL_stackz00_7603 = PROCEDURE_L_REF(BgL_envz00_7601, (int) (1L));
				BgL_locz00_7604 = PROCEDURE_L_REF(BgL_envz00_7601, (int) (2L));
				BgL_sitez00_7605 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7601, (int) (3L)));
				BgL_stage5z00_7606 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_7601, (int) (4L)));
				{
					obj_t BgL_ebindingsz00_7739;
					obj_t BgL_bodyz00_7740;
					obj_t BgL_splitz00_7741;
					obj_t BgL_kontz00_7742;

					{	/* Ast/let.scm 978 */
						obj_t BgL_splitz00_7763;

						{	/* Ast/let.scm 978 */
							int BgL_tmpz00_11235;

							BgL_tmpz00_11235 = (int) (0L);
							BgL_splitz00_7763 = MAKE_EL_PROCEDURE(BgL_tmpz00_11235);
						}
						BgL_ebindingsz00_7739 = BgL_ebindingsz00_7607;
						BgL_bodyz00_7740 = BgL_bodyz00_7608;
						BgL_splitz00_7741 = BgL_splitz00_7763;
						BgL_kontz00_7742 = BgL_stage5z00_7606;
						if (NULLP(BgL_ebindingsz00_7739))
							{	/* Ast/let.scm 681 */
								return
									BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_bodyz00_7740,
									BgL_stackz00_7603, BgL_locz00_7604, BgL_sitez00_7605);
							}
						else
							{	/* Ast/let.scm 684 */
								obj_t BgL_letzd2bindingszd2_7743;

								BgL_letzd2bindingszd2_7743 =
									BGl_z62split3759z62zzast_letz00(BgL_splitz00_7741,
									BgL_ebindingsz00_7739);
								{	/* Ast/let.scm 685 */
									obj_t BgL_recza2zd2bindingsz70_7744;

									{	/* Ast/let.scm 691 */
										obj_t BgL_tmpz00_7745;

										{	/* Ast/let.scm 691 */
											int BgL_tmpz00_11245;

											BgL_tmpz00_11245 = (int) (1L);
											BgL_tmpz00_7745 = BGL_MVALUES_VAL(BgL_tmpz00_11245);
										}
										{	/* Ast/let.scm 691 */
											int BgL_tmpz00_11248;

											BgL_tmpz00_11248 = (int) (1L);
											BGL_MVALUES_VAL_SET(BgL_tmpz00_11248, BUNSPEC);
										}
										BgL_recza2zd2bindingsz70_7744 = BgL_tmpz00_7745;
									}
									{	/* Ast/let.scm 691 */
										bool_t BgL_test4266z00_11251;

										if (NULLP(BgL_letzd2bindingszd2_7743))
											{	/* Ast/let.scm 691 */
												BgL_test4266z00_11251 = ((bool_t) 0);
											}
										else
											{	/* Ast/let.scm 691 */
												BgL_test4266z00_11251 =
													PAIRP(BgL_recza2zd2bindingsz70_7744);
											}
										if (BgL_test4266z00_11251)
											{	/* Ast/let.scm 695 */
												obj_t BgL_arg2371z00_7746;

												{	/* Ast/let.scm 695 */
													obj_t BgL_arg2373z00_7747;

													{	/* Ast/let.scm 695 */
														obj_t BgL_arg2374z00_7748;

														{	/* Ast/let.scm 695 */
															obj_t BgL_arg2375z00_7749;

															{	/* Ast/let.scm 695 */
																obj_t BgL_arg2377z00_7750;
																obj_t BgL_arg2378z00_7751;

																{	/* Ast/let.scm 695 */
																	obj_t BgL_head1499z00_7752;

																	{	/* Ast/let.scm 695 */
																		obj_t BgL_arg2385z00_7753;

																		{	/* Ast/let.scm 560 */
																			obj_t BgL_pairz00_7754;

																			BgL_pairz00_7754 =
																				CAR(
																				((obj_t)
																					BgL_recza2zd2bindingsz70_7744));
																			BgL_arg2385z00_7753 =
																				CAR(BgL_pairz00_7754);
																		}
																		BgL_head1499z00_7752 =
																			MAKE_YOUNG_PAIR(BgL_arg2385z00_7753,
																			BNIL);
																	}
																	{	/* Ast/let.scm 695 */
																		obj_t BgL_g1502z00_7755;

																		BgL_g1502z00_7755 =
																			CDR(
																			((obj_t) BgL_recza2zd2bindingsz70_7744));
																		{
																			obj_t BgL_l1497z00_7757;
																			obj_t BgL_tail1500z00_7758;

																			BgL_l1497z00_7757 = BgL_g1502z00_7755;
																			BgL_tail1500z00_7758 =
																				BgL_head1499z00_7752;
																		BgL_zc3z04anonymousza32380ze3z87_7756:
																			if (NULLP(BgL_l1497z00_7757))
																				{	/* Ast/let.scm 695 */
																					BgL_arg2377z00_7750 =
																						BgL_head1499z00_7752;
																				}
																			else
																				{	/* Ast/let.scm 695 */
																					obj_t BgL_newtail1501z00_7759;

																					{	/* Ast/let.scm 695 */
																						obj_t BgL_arg2383z00_7760;

																						{	/* Ast/let.scm 560 */
																							obj_t BgL_pairz00_7761;

																							BgL_pairz00_7761 =
																								CAR(
																								((obj_t) BgL_l1497z00_7757));
																							BgL_arg2383z00_7760 =
																								CAR(BgL_pairz00_7761);
																						}
																						BgL_newtail1501z00_7759 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg2383z00_7760, BNIL);
																					}
																					SET_CDR(BgL_tail1500z00_7758,
																						BgL_newtail1501z00_7759);
																					{	/* Ast/let.scm 695 */
																						obj_t BgL_arg2382z00_7762;

																						BgL_arg2382z00_7762 =
																							CDR(((obj_t) BgL_l1497z00_7757));
																						{
																							obj_t BgL_tail1500z00_11271;
																							obj_t BgL_l1497z00_11270;

																							BgL_l1497z00_11270 =
																								BgL_arg2382z00_7762;
																							BgL_tail1500z00_11271 =
																								BgL_newtail1501z00_7759;
																							BgL_tail1500z00_7758 =
																								BgL_tail1500z00_11271;
																							BgL_l1497z00_7757 =
																								BgL_l1497z00_11270;
																							goto
																								BgL_zc3z04anonymousza32380ze3z87_7756;
																						}
																					}
																				}
																		}
																	}
																}
																BgL_arg2378z00_7751 =
																	MAKE_YOUNG_PAIR(BgL_bodyz00_7740, BNIL);
																BgL_arg2375z00_7749 =
																	MAKE_YOUNG_PAIR(BgL_arg2377z00_7750,
																	BgL_arg2378z00_7751);
															}
															BgL_arg2374z00_7748 =
																MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L),
																BgL_arg2375z00_7749);
														}
														BgL_arg2373z00_7747 =
															BGl_z62letstarz62zzast_letz00
															(BgL_letzd2bindingszd2_7743, BgL_arg2374z00_7748);
													}
													BgL_arg2371z00_7746 =
														BGl_z62letcollapsez62zzast_letz00
														(BgL_letzd2bindingszd2_7743, BgL_arg2373z00_7747);
												}
												return
													BGl_sexpzd2ze3nodez31zzast_sexpz00
													(BgL_arg2371z00_7746, BgL_stackz00_7603,
													BgL_locz00_7604, BgL_sitez00_7605);
											}
										else
											{	/* Ast/let.scm 691 */
												if (NULLP(BgL_letzd2bindingszd2_7743))
													{	/* Ast/let.scm 698 */
														return
															BGl_z62stage5z62zzast_letz00(BgL_kontz00_7742,
															BgL_ebindingsz00_7739, BgL_bodyz00_7740);
													}
												else
													{	/* Ast/let.scm 698 */
														return
															BGl_sexpzd2ze3nodez31zzast_sexpz00
															(BGl_z62letcollapsez62zzast_letz00
															(BgL_letzd2bindingszd2_7743,
																BGl_z62letstarz62zzast_letz00
																(BgL_letzd2bindingszd2_7743, BgL_bodyz00_7740)),
															BgL_stackz00_7603, BgL_locz00_7604,
															BgL_sitez00_7605);
													}
											}
									}
								}
							}
					}
				}
			}
		}

	}



/* &split3758 */
	obj_t BGl_z62split3758z62zzast_letz00(obj_t BgL_envz00_7609,
		obj_t BgL_ebindingsz00_7610)
	{
		{	/* Ast/let.scm 1024 */
			{
				obj_t BgL_ebindingsz00_7765;
				obj_t BgL_funzd2bindingszd2_7766;
				obj_t BgL_recza2zd2bindingsz70_7767;

				BgL_ebindingsz00_7765 = BgL_ebindingsz00_7610;
				BgL_funzd2bindingszd2_7766 = BNIL;
				BgL_recza2zd2bindingsz70_7767 = BNIL;
			BgL_loopz00_7764:
				if (NULLP(BgL_ebindingsz00_7765))
					{	/* Ast/let.scm 1007 */
						obj_t BgL_val0_1586z00_7768;
						obj_t BgL_val1_1587z00_7769;

						BgL_val0_1586z00_7768 =
							bgl_reverse_bang(BgL_funzd2bindingszd2_7766);
						BgL_val1_1587z00_7769 =
							bgl_reverse_bang(BgL_recza2zd2bindingsz70_7767);
						{	/* Ast/let.scm 1007 */
							int BgL_tmpz00_11293;

							BgL_tmpz00_11293 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11293);
						}
						{	/* Ast/let.scm 1007 */
							int BgL_tmpz00_11296;

							BgL_tmpz00_11296 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_11296, BgL_val1_1587z00_7769);
						}
						return BgL_val0_1586z00_7768;
					}
				else
					{	/* Ast/let.scm 1008 */
						bool_t BgL_test4271z00_11299;

						{	/* Ast/let.scm 1008 */
							bool_t BgL_test4272z00_11300;

							{	/* Ast/let.scm 1008 */
								obj_t BgL_arg3198z00_7770;

								{	/* Ast/let.scm 561 */
									obj_t BgL_pairz00_7771;

									BgL_pairz00_7771 =
										CAR(((obj_t) CAR(((obj_t) BgL_ebindingsz00_7765))));
									BgL_arg3198z00_7770 = CAR(CDR(BgL_pairz00_7771));
								}
								{	/* Ast/let.scm 1008 */

									BgL_test4272z00_11300 =
										CBOOL(BGl_functionzf3zf3zzast_letz00(BgL_arg3198z00_7770,
											BFALSE));
								}
							}
							if (BgL_test4272z00_11300)
								{	/* Ast/let.scm 1009 */
									bool_t BgL_test4273z00_11309;

									{
										obj_t BgL_list1589z00_7773;

										{	/* Ast/let.scm 1009 */
											obj_t BgL_tmpz00_11310;

											BgL_list1589z00_7773 = BgL_ebindingsz00_7765;
										BgL_zc3z04anonymousza33191ze3z87_7772:
											if (PAIRP(BgL_list1589z00_7773))
												{	/* Ast/let.scm 1009 */
													bool_t BgL_test4275z00_11313;

													{	/* Ast/let.scm 1010 */
														obj_t BgL_tmpz00_11314;

														{	/* Ast/let.scm 1010 */
															obj_t BgL_auxz00_11320;
															obj_t BgL_auxz00_11315;

															{	/* Ast/let.scm 564 */
																obj_t BgL_pairz00_7775;

																{	/* Ast/let.scm 564 */
																	obj_t BgL_pairz00_7776;

																	{	/* Ast/let.scm 564 */
																		obj_t BgL_pairz00_7777;

																		BgL_pairz00_7777 =
																			CDR(((obj_t) CAR(BgL_list1589z00_7773)));
																		BgL_pairz00_7776 = CDR(BgL_pairz00_7777);
																	}
																	BgL_pairz00_7775 = CDR(BgL_pairz00_7776);
																}
																BgL_auxz00_11320 = CAR(BgL_pairz00_7775);
															}
															{	/* Ast/let.scm 562 */
																obj_t BgL_pairz00_7774;

																BgL_pairz00_7774 =
																	CAR(((obj_t) BgL_ebindingsz00_7765));
																BgL_auxz00_11315 = CAR(CDR(BgL_pairz00_7774));
															}
															BgL_tmpz00_11314 =
																BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																(BgL_auxz00_11315, BgL_auxz00_11320);
														}
														BgL_test4275z00_11313 = CBOOL(BgL_tmpz00_11314);
													}
													if (BgL_test4275z00_11313)
														{	/* Ast/let.scm 1009 */
															BgL_tmpz00_11310 = CAR(BgL_list1589z00_7773);
														}
													else
														{
															obj_t BgL_list1589z00_11330;

															BgL_list1589z00_11330 = CDR(BgL_list1589z00_7773);
															BgL_list1589z00_7773 = BgL_list1589z00_11330;
															goto BgL_zc3z04anonymousza33191ze3z87_7772;
														}
												}
											else
												{	/* Ast/let.scm 1009 */
													BgL_tmpz00_11310 = BFALSE;
												}
											BgL_test4273z00_11309 = CBOOL(BgL_tmpz00_11310);
										}
									}
									if (BgL_test4273z00_11309)
										{	/* Ast/let.scm 1009 */
											BgL_test4271z00_11299 = ((bool_t) 0);
										}
									else
										{	/* Ast/let.scm 1009 */
											BgL_test4271z00_11299 = ((bool_t) 1);
										}
								}
							else
								{	/* Ast/let.scm 1008 */
									BgL_test4271z00_11299 = ((bool_t) 0);
								}
						}
						if (BgL_test4271z00_11299)
							{	/* Ast/let.scm 1014 */
								bool_t BgL_test4276z00_11333;

								{	/* Ast/let.scm 1014 */
									obj_t BgL_tmpz00_11334;

									{	/* Ast/let.scm 563 */
										obj_t BgL_pairz00_7778;

										BgL_pairz00_7778 = CAR(((obj_t) BgL_ebindingsz00_7765));
										BgL_tmpz00_11334 = CAR(CDR(CDR(BgL_pairz00_7778)));
									}
									BgL_test4276z00_11333 = NULLP(BgL_tmpz00_11334);
								}
								if (BgL_test4276z00_11333)
									{	/* Ast/let.scm 1015 */
										obj_t BgL_arg3176z00_7779;
										obj_t BgL_arg3177z00_7780;

										BgL_arg3176z00_7779 = CDR(((obj_t) BgL_ebindingsz00_7765));
										{	/* Ast/let.scm 1016 */
											obj_t BgL_arg3179z00_7781;

											BgL_arg3179z00_7781 =
												CAR(((obj_t) BgL_ebindingsz00_7765));
											BgL_arg3177z00_7780 =
												MAKE_YOUNG_PAIR(BgL_arg3179z00_7781,
												BgL_funzd2bindingszd2_7766);
										}
										{
											obj_t BgL_funzd2bindingszd2_11347;
											obj_t BgL_ebindingsz00_11346;

											BgL_ebindingsz00_11346 = BgL_arg3176z00_7779;
											BgL_funzd2bindingszd2_11347 = BgL_arg3177z00_7780;
											BgL_funzd2bindingszd2_7766 = BgL_funzd2bindingszd2_11347;
											BgL_ebindingsz00_7765 = BgL_ebindingsz00_11346;
											goto BgL_loopz00_7764;
										}
									}
								else
									{	/* Ast/let.scm 1018 */
										obj_t BgL_arg3180z00_7782;
										obj_t BgL_arg3181z00_7783;

										BgL_arg3180z00_7782 = CDR(((obj_t) BgL_ebindingsz00_7765));
										{	/* Ast/let.scm 1020 */
											obj_t BgL_arg3187z00_7784;

											BgL_arg3187z00_7784 =
												CAR(((obj_t) BgL_ebindingsz00_7765));
											BgL_arg3181z00_7783 =
												MAKE_YOUNG_PAIR(BgL_arg3187z00_7784,
												BgL_recza2zd2bindingsz70_7767);
										}
										{
											obj_t BgL_recza2zd2bindingsz70_11354;
											obj_t BgL_ebindingsz00_11353;

											BgL_ebindingsz00_11353 = BgL_arg3180z00_7782;
											BgL_recza2zd2bindingsz70_11354 = BgL_arg3181z00_7783;
											BgL_recza2zd2bindingsz70_7767 =
												BgL_recza2zd2bindingsz70_11354;
											BgL_ebindingsz00_7765 = BgL_ebindingsz00_11353;
											goto BgL_loopz00_7764;
										}
									}
							}
						else
							{	/* Ast/let.scm 1023 */
								obj_t BgL_val0_1590z00_7785;
								obj_t BgL_val1_1591z00_7786;

								BgL_val0_1590z00_7785 =
									bgl_reverse_bang(BgL_funzd2bindingszd2_7766);
								BgL_val1_1591z00_7786 =
									BGl_appendzd221011zd2zzast_letz00(bgl_reverse_bang
									(BgL_recza2zd2bindingsz70_7767), BgL_ebindingsz00_7765);
								{	/* Ast/let.scm 1023 */
									int BgL_tmpz00_11358;

									BgL_tmpz00_11358 = (int) (2L);
									BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11358);
								}
								{	/* Ast/let.scm 1023 */
									int BgL_tmpz00_11361;

									BgL_tmpz00_11361 = (int) (1L);
									BGL_MVALUES_VAL_SET(BgL_tmpz00_11361, BgL_val1_1591z00_7786);
								}
								return BgL_val0_1590z00_7785;
							}
					}
			}
		}

	}



/* &stage5 */
	BgL_nodez00_bglt BGl_z62stage5z62zzast_letz00(obj_t BgL_envz00_7611,
		obj_t BgL_ebindingsz00_7616, obj_t BgL_bodyz00_7617)
	{
		{	/* Ast/let.scm 949 */
			{	/* Ast/let.scm 931 */
				obj_t BgL_stage7z00_7612;
				obj_t BgL_stackz00_7613;
				obj_t BgL_locz00_7614;
				obj_t BgL_sitez00_7615;

				BgL_stage7z00_7612 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7611, (int) (0L)));
				BgL_stackz00_7613 = PROCEDURE_EL_REF(BgL_envz00_7611, (int) (1L));
				BgL_locz00_7614 = PROCEDURE_EL_REF(BgL_envz00_7611, (int) (2L));
				BgL_sitez00_7615 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7611, (int) (3L)));
				{
					obj_t BgL_ebindingsz00_7792;
					obj_t BgL_bodyz00_7793;
					obj_t BgL_splitz00_7794;
					obj_t BgL_kontz00_7795;
					obj_t BgL_ebindingsz00_7789;
					obj_t BgL_bodyz00_7790;

					{
						obj_t BgL_ebindingsz00_7828;

						if (NULLP(BgL_ebindingsz00_7616))
							{	/* Ast/let.scm 953 */
								return
									BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_bodyz00_7617,
									BgL_stackz00_7613, BgL_locz00_7614, BgL_sitez00_7615);
							}
						else
							{	/* Ast/let.scm 956 */
								obj_t BgL_vbindingsz00_7874;

								BgL_ebindingsz00_7828 = BgL_ebindingsz00_7616;
								{
									obj_t BgL_lz00_7830;
									obj_t BgL_vbindingsz00_7831;
									obj_t BgL_fbindingsz00_7832;

									BgL_lz00_7830 = BgL_ebindingsz00_7828;
									BgL_vbindingsz00_7831 = BNIL;
									BgL_fbindingsz00_7832 = BNIL;
								BgL_loopz00_7829:
									if (NULLP(BgL_lz00_7830))
										{	/* Ast/let.scm 937 */
											obj_t BgL_funsz00_7833;
											obj_t BgL_varsz00_7834;

											if (NULLP(BgL_fbindingsz00_7832))
												{	/* Ast/let.scm 937 */
													BgL_funsz00_7833 = BNIL;
												}
											else
												{	/* Ast/let.scm 937 */
													obj_t BgL_head1545z00_7835;

													{	/* Ast/let.scm 937 */
														obj_t BgL_arg3086z00_7836;

														{	/* Ast/let.scm 937 */
															obj_t BgL_pairz00_7837;

															BgL_pairz00_7837 =
																CAR(((obj_t) BgL_fbindingsz00_7832));
															BgL_arg3086z00_7836 = CAR(CDR(BgL_pairz00_7837));
														}
														BgL_head1545z00_7835 =
															MAKE_YOUNG_PAIR(BgL_arg3086z00_7836, BNIL);
													}
													{	/* Ast/let.scm 937 */
														obj_t BgL_g1548z00_7838;

														BgL_g1548z00_7838 =
															CDR(((obj_t) BgL_fbindingsz00_7832));
														{
															obj_t BgL_l1543z00_7840;
															obj_t BgL_tail1546z00_7841;

															BgL_l1543z00_7840 = BgL_g1548z00_7838;
															BgL_tail1546z00_7841 = BgL_head1545z00_7835;
														BgL_zc3z04anonymousza33081ze3z87_7839:
															if (NULLP(BgL_l1543z00_7840))
																{	/* Ast/let.scm 937 */
																	BgL_funsz00_7833 = BgL_head1545z00_7835;
																}
															else
																{	/* Ast/let.scm 937 */
																	obj_t BgL_newtail1547z00_7842;

																	{	/* Ast/let.scm 937 */
																		obj_t BgL_arg3084z00_7843;

																		{	/* Ast/let.scm 937 */
																			obj_t BgL_pairz00_7844;

																			BgL_pairz00_7844 =
																				CAR(((obj_t) BgL_l1543z00_7840));
																			BgL_arg3084z00_7843 =
																				CAR(CDR(BgL_pairz00_7844));
																		}
																		BgL_newtail1547z00_7842 =
																			MAKE_YOUNG_PAIR(BgL_arg3084z00_7843,
																			BNIL);
																	}
																	SET_CDR(BgL_tail1546z00_7841,
																		BgL_newtail1547z00_7842);
																	{	/* Ast/let.scm 937 */
																		obj_t BgL_arg3083z00_7845;

																		BgL_arg3083z00_7845 =
																			CDR(((obj_t) BgL_l1543z00_7840));
																		{
																			obj_t BgL_tail1546z00_11399;
																			obj_t BgL_l1543z00_11398;

																			BgL_l1543z00_11398 = BgL_arg3083z00_7845;
																			BgL_tail1546z00_11399 =
																				BgL_newtail1547z00_7842;
																			BgL_tail1546z00_7841 =
																				BgL_tail1546z00_11399;
																			BgL_l1543z00_7840 = BgL_l1543z00_11398;
																			goto
																				BgL_zc3z04anonymousza33081ze3z87_7839;
																		}
																	}
																}
														}
													}
												}
											if (NULLP(BgL_vbindingsz00_7831))
												{	/* Ast/let.scm 938 */
													BgL_varsz00_7834 = BNIL;
												}
											else
												{	/* Ast/let.scm 938 */
													obj_t BgL_head1551z00_7846;

													{	/* Ast/let.scm 938 */
														obj_t BgL_arg3095z00_7847;

														{	/* Ast/let.scm 938 */
															obj_t BgL_pairz00_7848;

															BgL_pairz00_7848 =
																CAR(((obj_t) BgL_vbindingsz00_7831));
															BgL_arg3095z00_7847 = CAR(CDR(BgL_pairz00_7848));
														}
														BgL_head1551z00_7846 =
															MAKE_YOUNG_PAIR(BgL_arg3095z00_7847, BNIL);
													}
													{	/* Ast/let.scm 938 */
														obj_t BgL_g1554z00_7849;

														BgL_g1554z00_7849 =
															CDR(((obj_t) BgL_vbindingsz00_7831));
														{
															obj_t BgL_l1549z00_7851;
															obj_t BgL_tail1552z00_7852;

															BgL_l1549z00_7851 = BgL_g1554z00_7849;
															BgL_tail1552z00_7852 = BgL_head1551z00_7846;
														BgL_zc3z04anonymousza33089ze3z87_7850:
															if (NULLP(BgL_l1549z00_7851))
																{	/* Ast/let.scm 938 */
																	BgL_varsz00_7834 = BgL_head1551z00_7846;
																}
															else
																{	/* Ast/let.scm 938 */
																	obj_t BgL_newtail1553z00_7853;

																	{	/* Ast/let.scm 938 */
																		obj_t BgL_arg3093z00_7854;

																		{	/* Ast/let.scm 938 */
																			obj_t BgL_pairz00_7855;

																			BgL_pairz00_7855 =
																				CAR(((obj_t) BgL_l1549z00_7851));
																			BgL_arg3093z00_7854 =
																				CAR(CDR(BgL_pairz00_7855));
																		}
																		BgL_newtail1553z00_7853 =
																			MAKE_YOUNG_PAIR(BgL_arg3093z00_7854,
																			BNIL);
																	}
																	SET_CDR(BgL_tail1552z00_7852,
																		BgL_newtail1553z00_7853);
																	{	/* Ast/let.scm 938 */
																		obj_t BgL_arg3092z00_7856;

																		BgL_arg3092z00_7856 =
																			CDR(((obj_t) BgL_l1549z00_7851));
																		{
																			obj_t BgL_tail1552z00_11420;
																			obj_t BgL_l1549z00_11419;

																			BgL_l1549z00_11419 = BgL_arg3092z00_7856;
																			BgL_tail1552z00_11420 =
																				BgL_newtail1553z00_7853;
																			BgL_tail1552z00_7852 =
																				BgL_tail1552z00_11420;
																			BgL_l1549z00_7851 = BgL_l1549z00_11419;
																			goto
																				BgL_zc3z04anonymousza33089ze3z87_7850;
																		}
																	}
																}
														}
													}
												}
											{	/* Ast/let.scm 939 */
												obj_t BgL_freesz00_7857;
												obj_t BgL_setsz00_7858;

												BgL_freesz00_7857 =
													BGl_zc3z04anonymousza33050ze3ze70z60zzast_letz00
													(BgL_vbindingsz00_7831);
												BgL_setsz00_7858 =
													BGl_zc3z04anonymousza33073ze3ze70z60zzast_letz00
													(BgL_fbindingsz00_7832);
												{	/* Ast/let.scm 941 */
													bool_t BgL_test4283z00_11423;

													{
														obj_t BgL_l1559z00_7860;

														{	/* Ast/let.scm 941 */
															obj_t BgL_tmpz00_11424;

															BgL_l1559z00_7860 = BgL_fbindingsz00_7832;
														BgL_zc3z04anonymousza33047ze3z87_7859:
															if (NULLP(BgL_l1559z00_7860))
																{	/* Ast/let.scm 941 */
																	BgL_tmpz00_11424 = BFALSE;
																}
															else
																{	/* Ast/let.scm 941 */
																	obj_t BgL__ortest_1561z00_7861;

																	{	/* Ast/let.scm 941 */
																		obj_t BgL_auxz00_11427;

																		{	/* Ast/let.scm 562 */
																			obj_t BgL_pairz00_7862;

																			BgL_pairz00_7862 =
																				CDR(
																				((obj_t)
																					CAR(((obj_t) BgL_l1559z00_7860))));
																			BgL_auxz00_11427 = CAR(BgL_pairz00_7862);
																		}
																		BgL__ortest_1561z00_7861 =
																			BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																			(BgL_auxz00_11427, BgL_freesz00_7857);
																	}
																	if (CBOOL(BgL__ortest_1561z00_7861))
																		{	/* Ast/let.scm 941 */
																			BgL_tmpz00_11424 =
																				BgL__ortest_1561z00_7861;
																		}
																	else
																		{	/* Ast/let.scm 941 */
																			obj_t BgL_arg3048z00_7863;

																			BgL_arg3048z00_7863 =
																				CDR(((obj_t) BgL_l1559z00_7860));
																			{
																				obj_t BgL_l1559z00_11438;

																				BgL_l1559z00_11438 =
																					BgL_arg3048z00_7863;
																				BgL_l1559z00_7860 = BgL_l1559z00_11438;
																				goto
																					BgL_zc3z04anonymousza33047ze3z87_7859;
																			}
																		}
																}
															BgL_test4283z00_11423 = CBOOL(BgL_tmpz00_11424);
														}
													}
													if (BgL_test4283z00_11423)
														{	/* Ast/let.scm 941 */
															{	/* Ast/let.scm 943 */
																int BgL_tmpz00_11440;

																BgL_tmpz00_11440 = (int) (2L);
																BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11440);
															}
															{	/* Ast/let.scm 943 */
																int BgL_tmpz00_11443;

																BgL_tmpz00_11443 = (int) (1L);
																BGL_MVALUES_VAL_SET(BgL_tmpz00_11443,
																	BgL_ebindingsz00_7828);
															}
															BgL_vbindingsz00_7874 = BNIL;
														}
													else
														{	/* Ast/let.scm 944 */
															obj_t BgL_val0_1564z00_7864;
															obj_t BgL_val1_1565z00_7865;

															BgL_val0_1564z00_7864 =
																bgl_reverse_bang(BgL_vbindingsz00_7831);
															BgL_val1_1565z00_7865 =
																bgl_reverse_bang(BgL_fbindingsz00_7832);
															{	/* Ast/let.scm 944 */
																int BgL_tmpz00_11448;

																BgL_tmpz00_11448 = (int) (2L);
																BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11448);
															}
															{	/* Ast/let.scm 944 */
																int BgL_tmpz00_11451;

																BgL_tmpz00_11451 = (int) (1L);
																BGL_MVALUES_VAL_SET(BgL_tmpz00_11451,
																	BgL_val1_1565z00_7865);
															}
															BgL_vbindingsz00_7874 = BgL_val0_1564z00_7864;
										}}}}
									else
										{	/* Ast/let.scm 946 */
											bool_t BgL_test4286z00_11454;

											{	/* Ast/let.scm 946 */
												obj_t BgL_arg3106z00_7866;

												{	/* Ast/let.scm 561 */
													obj_t BgL_pairz00_7867;

													BgL_pairz00_7867 =
														CAR(((obj_t) CAR(((obj_t) BgL_lz00_7830))));
													BgL_arg3106z00_7866 = CAR(CDR(BgL_pairz00_7867));
												}
												BgL_test4286z00_11454 =
													CBOOL(BGl_functionzf3zf3zzast_letz00
													(BgL_arg3106z00_7866, BTRUE));
											}
											if (BgL_test4286z00_11454)
												{	/* Ast/let.scm 947 */
													obj_t BgL_arg3100z00_7868;
													obj_t BgL_arg3101z00_7869;

													BgL_arg3100z00_7868 = CDR(((obj_t) BgL_lz00_7830));
													{	/* Ast/let.scm 947 */
														obj_t BgL_arg3102z00_7870;

														BgL_arg3102z00_7870 = CAR(((obj_t) BgL_lz00_7830));
														BgL_arg3101z00_7869 =
															MAKE_YOUNG_PAIR(BgL_arg3102z00_7870,
															BgL_fbindingsz00_7832);
													}
													{
														obj_t BgL_fbindingsz00_11469;
														obj_t BgL_lz00_11468;

														BgL_lz00_11468 = BgL_arg3100z00_7868;
														BgL_fbindingsz00_11469 = BgL_arg3101z00_7869;
														BgL_fbindingsz00_7832 = BgL_fbindingsz00_11469;
														BgL_lz00_7830 = BgL_lz00_11468;
														goto BgL_loopz00_7829;
													}
												}
											else
												{	/* Ast/let.scm 949 */
													obj_t BgL_arg3103z00_7871;
													obj_t BgL_arg3104z00_7872;

													BgL_arg3103z00_7871 = CDR(((obj_t) BgL_lz00_7830));
													{	/* Ast/let.scm 949 */
														obj_t BgL_arg3105z00_7873;

														BgL_arg3105z00_7873 = CAR(((obj_t) BgL_lz00_7830));
														BgL_arg3104z00_7872 =
															MAKE_YOUNG_PAIR(BgL_arg3105z00_7873,
															BgL_vbindingsz00_7831);
													}
													{
														obj_t BgL_vbindingsz00_11476;
														obj_t BgL_lz00_11475;

														BgL_lz00_11475 = BgL_arg3103z00_7871;
														BgL_vbindingsz00_11476 = BgL_arg3104z00_7872;
														BgL_vbindingsz00_7831 = BgL_vbindingsz00_11476;
														BgL_lz00_7830 = BgL_lz00_11475;
														goto BgL_loopz00_7829;
													}
												}
										}
								}
								{	/* Ast/let.scm 958 */
									obj_t BgL_fbindingsz00_7875;

									{	/* Ast/let.scm 963 */
										obj_t BgL_tmpz00_7876;

										{	/* Ast/let.scm 963 */
											int BgL_tmpz00_11477;

											BgL_tmpz00_11477 = (int) (1L);
											BgL_tmpz00_7876 = BGL_MVALUES_VAL(BgL_tmpz00_11477);
										}
										{	/* Ast/let.scm 963 */
											int BgL_tmpz00_11480;

											BgL_tmpz00_11480 = (int) (1L);
											BGL_MVALUES_VAL_SET(BgL_tmpz00_11480, BUNSPEC);
										}
										BgL_fbindingsz00_7875 = BgL_tmpz00_7876;
									}
									{	/* Ast/let.scm 963 */
										bool_t BgL_test4287z00_11483;

										if (NULLP(BgL_vbindingsz00_7874))
											{	/* Ast/let.scm 963 */
												BgL_test4287z00_11483 = ((bool_t) 0);
											}
										else
											{	/* Ast/let.scm 963 */
												BgL_test4287z00_11483 = PAIRP(BgL_fbindingsz00_7875);
											}
										if (BgL_test4287z00_11483)
											{	/* Ast/let.scm 965 */
												obj_t BgL_arg2991z00_7877;

												{	/* Ast/let.scm 965 */
													obj_t BgL_arg2992z00_7878;

													{	/* Ast/let.scm 965 */
														obj_t BgL_arg2998z00_7879;
														obj_t BgL_arg3013z00_7880;

														{	/* Ast/let.scm 965 */
															obj_t BgL_head1568z00_7881;

															{	/* Ast/let.scm 965 */
																obj_t BgL_arg3021z00_7882;

																{	/* Ast/let.scm 560 */
																	obj_t BgL_pairz00_7883;

																	BgL_pairz00_7883 =
																		CAR(((obj_t) BgL_vbindingsz00_7874));
																	BgL_arg3021z00_7882 = CAR(BgL_pairz00_7883);
																}
																BgL_head1568z00_7881 =
																	MAKE_YOUNG_PAIR(BgL_arg3021z00_7882, BNIL);
															}
															{	/* Ast/let.scm 965 */
																obj_t BgL_g1571z00_7884;

																BgL_g1571z00_7884 =
																	CDR(((obj_t) BgL_vbindingsz00_7874));
																{
																	obj_t BgL_l1566z00_7886;
																	obj_t BgL_tail1569z00_7887;

																	BgL_l1566z00_7886 = BgL_g1571z00_7884;
																	BgL_tail1569z00_7887 = BgL_head1568z00_7881;
																BgL_zc3z04anonymousza33015ze3z87_7885:
																	if (NULLP(BgL_l1566z00_7886))
																		{	/* Ast/let.scm 965 */
																			BgL_arg2998z00_7879 =
																				BgL_head1568z00_7881;
																		}
																	else
																		{	/* Ast/let.scm 965 */
																			obj_t BgL_newtail1570z00_7888;

																			{	/* Ast/let.scm 965 */
																				obj_t BgL_arg3019z00_7889;

																				{	/* Ast/let.scm 560 */
																					obj_t BgL_pairz00_7890;

																					BgL_pairz00_7890 =
																						CAR(((obj_t) BgL_l1566z00_7886));
																					BgL_arg3019z00_7889 =
																						CAR(BgL_pairz00_7890);
																				}
																				BgL_newtail1570z00_7888 =
																					MAKE_YOUNG_PAIR(BgL_arg3019z00_7889,
																					BNIL);
																			}
																			SET_CDR(BgL_tail1569z00_7887,
																				BgL_newtail1570z00_7888);
																			{	/* Ast/let.scm 965 */
																				obj_t BgL_arg3018z00_7891;

																				BgL_arg3018z00_7891 =
																					CDR(((obj_t) BgL_l1566z00_7886));
																				{
																					obj_t BgL_tail1569z00_11503;
																					obj_t BgL_l1566z00_11502;

																					BgL_l1566z00_11502 =
																						BgL_arg3018z00_7891;
																					BgL_tail1569z00_11503 =
																						BgL_newtail1570z00_7888;
																					BgL_tail1569z00_7887 =
																						BgL_tail1569z00_11503;
																					BgL_l1566z00_7886 =
																						BgL_l1566z00_11502;
																					goto
																						BgL_zc3z04anonymousza33015ze3z87_7885;
																				}
																			}
																		}
																}
															}
														}
														{	/* Ast/let.scm 966 */
															obj_t BgL_arg3025z00_7892;

															{	/* Ast/let.scm 966 */
																obj_t BgL_arg3026z00_7893;

																{	/* Ast/let.scm 966 */
																	obj_t BgL_arg3027z00_7894;
																	obj_t BgL_arg3028z00_7895;

																	{	/* Ast/let.scm 966 */
																		obj_t BgL_head1574z00_7896;

																		{	/* Ast/let.scm 966 */
																			obj_t BgL_arg3037z00_7897;

																			{	/* Ast/let.scm 560 */
																				obj_t BgL_pairz00_7898;

																				BgL_pairz00_7898 =
																					CAR(((obj_t) BgL_fbindingsz00_7875));
																				BgL_arg3037z00_7897 =
																					CAR(BgL_pairz00_7898);
																			}
																			BgL_head1574z00_7896 =
																				MAKE_YOUNG_PAIR(BgL_arg3037z00_7897,
																				BNIL);
																		}
																		{	/* Ast/let.scm 966 */
																			obj_t BgL_g1577z00_7899;

																			BgL_g1577z00_7899 =
																				CDR(((obj_t) BgL_fbindingsz00_7875));
																			{
																				obj_t BgL_l1572z00_7901;
																				obj_t BgL_tail1575z00_7902;

																				BgL_l1572z00_7901 = BgL_g1577z00_7899;
																				BgL_tail1575z00_7902 =
																					BgL_head1574z00_7896;
																			BgL_zc3z04anonymousza33030ze3z87_7900:
																				if (NULLP(BgL_l1572z00_7901))
																					{	/* Ast/let.scm 966 */
																						BgL_arg3027z00_7894 =
																							BgL_head1574z00_7896;
																					}
																				else
																					{	/* Ast/let.scm 966 */
																						obj_t BgL_newtail1576z00_7903;

																						{	/* Ast/let.scm 966 */
																							obj_t BgL_arg3033z00_7904;

																							{	/* Ast/let.scm 560 */
																								obj_t BgL_pairz00_7905;

																								BgL_pairz00_7905 =
																									CAR(
																									((obj_t) BgL_l1572z00_7901));
																								BgL_arg3033z00_7904 =
																									CAR(BgL_pairz00_7905);
																							}
																							BgL_newtail1576z00_7903 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg3033z00_7904, BNIL);
																						}
																						SET_CDR(BgL_tail1575z00_7902,
																							BgL_newtail1576z00_7903);
																						{	/* Ast/let.scm 966 */
																							obj_t BgL_arg3032z00_7906;

																							BgL_arg3032z00_7906 =
																								CDR(
																								((obj_t) BgL_l1572z00_7901));
																							{
																								obj_t BgL_tail1575z00_11520;
																								obj_t BgL_l1572z00_11519;

																								BgL_l1572z00_11519 =
																									BgL_arg3032z00_7906;
																								BgL_tail1575z00_11520 =
																									BgL_newtail1576z00_7903;
																								BgL_tail1575z00_7902 =
																									BgL_tail1575z00_11520;
																								BgL_l1572z00_7901 =
																									BgL_l1572z00_11519;
																								goto
																									BgL_zc3z04anonymousza33030ze3z87_7900;
																							}
																						}
																					}
																			}
																		}
																	}
																	BgL_arg3028z00_7895 =
																		MAKE_YOUNG_PAIR(BgL_bodyz00_7617, BNIL);
																	BgL_arg3026z00_7893 =
																		MAKE_YOUNG_PAIR(BgL_arg3027z00_7894,
																		BgL_arg3028z00_7895);
																}
																BgL_arg3025z00_7892 =
																	MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L),
																	BgL_arg3026z00_7893);
															}
															BgL_arg3013z00_7880 =
																MAKE_YOUNG_PAIR(BgL_arg3025z00_7892, BNIL);
														}
														BgL_arg2992z00_7878 =
															MAKE_YOUNG_PAIR(BgL_arg2998z00_7879,
															BgL_arg3013z00_7880);
													}
													BgL_arg2991z00_7877 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L),
														BgL_arg2992z00_7878);
												}
												return
													BGl_sexpzd2ze3nodez31zzast_sexpz00
													(BgL_arg2991z00_7877, BgL_stackz00_7613,
													BgL_locz00_7614, BgL_sitez00_7615);
											}
										else
											{	/* Ast/let.scm 963 */
												BgL_ebindingsz00_7789 = BgL_ebindingsz00_7616;
												BgL_bodyz00_7790 = BgL_bodyz00_7617;
												{	/* Ast/let.scm 893 */
													obj_t BgL_splitz00_7791;

													{	/* Ast/let.scm 931 */
														int BgL_tmpz00_11530;

														BgL_tmpz00_11530 = (int) (0L);
														BgL_splitz00_7791 =
															MAKE_EL_PROCEDURE(BgL_tmpz00_11530);
													}
													BgL_ebindingsz00_7792 = BgL_ebindingsz00_7789;
													BgL_bodyz00_7793 = BgL_bodyz00_7790;
													BgL_splitz00_7794 = BgL_splitz00_7791;
													BgL_kontz00_7795 = BgL_stage7z00_7612;
													if (NULLP(BgL_ebindingsz00_7792))
														{	/* Ast/let.scm 709 */
															return
																BGl_sexpzd2ze3nodez31zzast_sexpz00
																(BgL_bodyz00_7793, BgL_stackz00_7613,
																BgL_locz00_7614, BgL_sitez00_7615);
														}
													else
														{	/* Ast/let.scm 712 */
															obj_t BgL_recza2zd2bindingsz70_7796;

															BgL_recza2zd2bindingsz70_7796 =
																BGl_z62split3760z62zzast_letz00
																(BgL_splitz00_7794, BgL_ebindingsz00_7792);
															{	/* Ast/let.scm 713 */
																obj_t BgL_tailzd2bindingszd2_7797;

																{	/* Ast/let.scm 718 */
																	obj_t BgL_tmpz00_7798;

																	{	/* Ast/let.scm 718 */
																		int BgL_tmpz00_11540;

																		BgL_tmpz00_11540 = (int) (1L);
																		BgL_tmpz00_7798 =
																			BGL_MVALUES_VAL(BgL_tmpz00_11540);
																	}
																	{	/* Ast/let.scm 718 */
																		int BgL_tmpz00_11543;

																		BgL_tmpz00_11543 = (int) (1L);
																		BGL_MVALUES_VAL_SET(BgL_tmpz00_11543,
																			BUNSPEC);
																	}
																	BgL_tailzd2bindingszd2_7797 = BgL_tmpz00_7798;
																}
																if (PAIRP(BgL_tailzd2bindingszd2_7797))
																	{	/* Ast/let.scm 720 */
																		obj_t BgL_arg2395z00_7799;

																		{	/* Ast/let.scm 720 */
																			obj_t BgL_arg2396z00_7800;

																			{	/* Ast/let.scm 720 */
																				obj_t BgL_arg2397z00_7801;
																				obj_t BgL_arg2398z00_7802;

																				if (NULLP
																					(BgL_recza2zd2bindingsz70_7796))
																					{	/* Ast/let.scm 720 */
																						BgL_arg2397z00_7801 = BNIL;
																					}
																				else
																					{	/* Ast/let.scm 720 */
																						obj_t BgL_head1505z00_7803;

																						{	/* Ast/let.scm 720 */
																							obj_t BgL_arg2405z00_7804;

																							{	/* Ast/let.scm 560 */
																								obj_t BgL_pairz00_7805;

																								BgL_pairz00_7805 =
																									CAR(
																									((obj_t)
																										BgL_recza2zd2bindingsz70_7796));
																								BgL_arg2405z00_7804 =
																									CAR(BgL_pairz00_7805);
																							}
																							BgL_head1505z00_7803 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg2405z00_7804, BNIL);
																						}
																						{	/* Ast/let.scm 720 */
																							obj_t BgL_g1508z00_7806;

																							BgL_g1508z00_7806 =
																								CDR(
																								((obj_t)
																									BgL_recza2zd2bindingsz70_7796));
																							{
																								obj_t BgL_l1503z00_7808;
																								obj_t BgL_tail1506z00_7809;

																								BgL_l1503z00_7808 =
																									BgL_g1508z00_7806;
																								BgL_tail1506z00_7809 =
																									BgL_head1505z00_7803;
																							BgL_zc3z04anonymousza32400ze3z87_7807:
																								if (NULLP
																									(BgL_l1503z00_7808))
																									{	/* Ast/let.scm 720 */
																										BgL_arg2397z00_7801 =
																											BgL_head1505z00_7803;
																									}
																								else
																									{	/* Ast/let.scm 720 */
																										obj_t
																											BgL_newtail1507z00_7810;
																										{	/* Ast/let.scm 720 */
																											obj_t BgL_arg2403z00_7811;

																											{	/* Ast/let.scm 560 */
																												obj_t BgL_pairz00_7812;

																												BgL_pairz00_7812 =
																													CAR(
																													((obj_t)
																														BgL_l1503z00_7808));
																												BgL_arg2403z00_7811 =
																													CAR(BgL_pairz00_7812);
																											}
																											BgL_newtail1507z00_7810 =
																												MAKE_YOUNG_PAIR
																												(BgL_arg2403z00_7811,
																												BNIL);
																										}
																										SET_CDR
																											(BgL_tail1506z00_7809,
																											BgL_newtail1507z00_7810);
																										{	/* Ast/let.scm 720 */
																											obj_t BgL_arg2402z00_7813;

																											BgL_arg2402z00_7813 =
																												CDR(
																												((obj_t)
																													BgL_l1503z00_7808));
																											{
																												obj_t
																													BgL_tail1506z00_11566;
																												obj_t
																													BgL_l1503z00_11565;
																												BgL_l1503z00_11565 =
																													BgL_arg2402z00_7813;
																												BgL_tail1506z00_11566 =
																													BgL_newtail1507z00_7810;
																												BgL_tail1506z00_7809 =
																													BgL_tail1506z00_11566;
																												BgL_l1503z00_7808 =
																													BgL_l1503z00_11565;
																												goto
																													BgL_zc3z04anonymousza32400ze3z87_7807;
																											}
																										}
																									}
																							}
																						}
																					}
																				{	/* Ast/let.scm 721 */
																					obj_t BgL_arg2409z00_7814;

																					{	/* Ast/let.scm 721 */
																						obj_t BgL_arg2410z00_7815;

																						{	/* Ast/let.scm 721 */
																							obj_t BgL_arg2411z00_7816;
																							obj_t BgL_arg2412z00_7817;

																							{	/* Ast/let.scm 721 */
																								obj_t BgL_head1511z00_7818;

																								BgL_head1511z00_7818 =
																									MAKE_YOUNG_PAIR(CAR(CAR
																										(BgL_tailzd2bindingszd2_7797)),
																									BNIL);
																								{	/* Ast/let.scm 721 */
																									obj_t BgL_g1514z00_7819;

																									BgL_g1514z00_7819 =
																										CDR
																										(BgL_tailzd2bindingszd2_7797);
																									{
																										obj_t BgL_l1509z00_7821;
																										obj_t BgL_tail1512z00_7822;

																										BgL_l1509z00_7821 =
																											BgL_g1514z00_7819;
																										BgL_tail1512z00_7822 =
																											BgL_head1511z00_7818;
																									BgL_zc3z04anonymousza32414ze3z87_7820:
																										if (NULLP
																											(BgL_l1509z00_7821))
																											{	/* Ast/let.scm 721 */
																												BgL_arg2411z00_7816 =
																													BgL_head1511z00_7818;
																											}
																										else
																											{	/* Ast/let.scm 721 */
																												obj_t
																													BgL_newtail1513z00_7823;
																												{	/* Ast/let.scm 721 */
																													obj_t
																														BgL_arg2417z00_7824;
																													{	/* Ast/let.scm 560 */
																														obj_t
																															BgL_pairz00_7825;
																														BgL_pairz00_7825 =
																															CAR(((obj_t)
																																BgL_l1509z00_7821));
																														BgL_arg2417z00_7824
																															=
																															CAR
																															(BgL_pairz00_7825);
																													}
																													BgL_newtail1513z00_7823
																														=
																														MAKE_YOUNG_PAIR
																														(BgL_arg2417z00_7824,
																														BNIL);
																												}
																												SET_CDR
																													(BgL_tail1512z00_7822,
																													BgL_newtail1513z00_7823);
																												{	/* Ast/let.scm 721 */
																													obj_t
																														BgL_arg2416z00_7826;
																													BgL_arg2416z00_7826 =
																														CDR(((obj_t)
																															BgL_l1509z00_7821));
																													{
																														obj_t
																															BgL_tail1512z00_11581;
																														obj_t
																															BgL_l1509z00_11580;
																														BgL_l1509z00_11580 =
																															BgL_arg2416z00_7826;
																														BgL_tail1512z00_11581
																															=
																															BgL_newtail1513z00_7823;
																														BgL_tail1512z00_7822
																															=
																															BgL_tail1512z00_11581;
																														BgL_l1509z00_7821 =
																															BgL_l1509z00_11580;
																														goto
																															BgL_zc3z04anonymousza32414ze3z87_7820;
																													}
																												}
																											}
																									}
																								}
																							}
																							BgL_arg2412z00_7817 =
																								MAKE_YOUNG_PAIR
																								(BgL_bodyz00_7793, BNIL);
																							BgL_arg2410z00_7815 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg2411z00_7816,
																								BgL_arg2412z00_7817);
																						}
																						BgL_arg2409z00_7814 =
																							MAKE_YOUNG_PAIR(CNST_TABLE_REF
																							(4L), BgL_arg2410z00_7815);
																					}
																					BgL_arg2398z00_7802 =
																						MAKE_YOUNG_PAIR(BgL_arg2409z00_7814,
																						BNIL);
																				}
																				BgL_arg2396z00_7800 =
																					MAKE_YOUNG_PAIR(BgL_arg2397z00_7801,
																					BgL_arg2398z00_7802);
																			}
																			BgL_arg2395z00_7799 =
																				MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L),
																				BgL_arg2396z00_7800);
																		}
																		return
																			BGl_sexpzd2ze3nodez31zzast_sexpz00
																			(BgL_arg2395z00_7799, BgL_stackz00_7613,
																			BgL_locz00_7614, BgL_sitez00_7615);
																	}
																else
																	{	/* Ast/let.scm 718 */
																		BGL_TAIL return
																			BGl_z62stage7z62zzast_letz00
																			(BgL_kontz00_7795, BgL_ebindingsz00_7792,
																			BgL_bodyz00_7793);
																	}
															}
														}
												}
											}
									}
								}
							}
					}
				}
			}
		}

	}



/* <@anonymous:3050>~0 */
	obj_t BGl_zc3z04anonymousza33050ze3ze70z60zzast_letz00(obj_t
		BgL_l1556z00_3646)
	{
		{	/* Ast/let.scm 939 */
			if (NULLP(BgL_l1556z00_3646))
				{	/* Ast/let.scm 939 */
					return BNIL;
				}
			else
				{	/* Ast/let.scm 939 */
					obj_t BgL_arg3055z00_3649;
					obj_t BgL_arg3056z00_3650;

					{	/* Ast/let.scm 563 */
						obj_t BgL_pairz00_6425;

						BgL_pairz00_6425 = CAR(((obj_t) BgL_l1556z00_3646));
						BgL_arg3055z00_3649 = CAR(CDR(CDR(BgL_pairz00_6425)));
					}
					{	/* Ast/let.scm 939 */
						obj_t BgL_arg3072z00_3652;

						BgL_arg3072z00_3652 = CDR(((obj_t) BgL_l1556z00_3646));
						BgL_arg3056z00_3650 =
							BGl_zc3z04anonymousza33050ze3ze70z60zzast_letz00
							(BgL_arg3072z00_3652);
					}
					return bgl_append2(BgL_arg3055z00_3649, BgL_arg3056z00_3650);
				}
		}

	}



/* <@anonymous:3073>~0 */
	obj_t BGl_zc3z04anonymousza33073ze3ze70z60zzast_letz00(obj_t
		BgL_l1558z00_3655)
	{
		{	/* Ast/let.scm 940 */
			if (NULLP(BgL_l1558z00_3655))
				{	/* Ast/let.scm 940 */
					return BNIL;
				}
			else
				{	/* Ast/let.scm 940 */
					obj_t BgL_arg3075z00_3658;
					obj_t BgL_arg3077z00_3659;

					{	/* Ast/let.scm 564 */
						obj_t BgL_pairz00_6433;

						BgL_pairz00_6433 = CAR(((obj_t) BgL_l1558z00_3655));
						BgL_arg3075z00_3658 = CAR(CDR(CDR(CDR(BgL_pairz00_6433))));
					}
					{	/* Ast/let.scm 940 */
						obj_t BgL_arg3079z00_3661;

						BgL_arg3079z00_3661 = CDR(((obj_t) BgL_l1558z00_3655));
						BgL_arg3077z00_3659 =
							BGl_zc3z04anonymousza33073ze3ze70z60zzast_letz00
							(BgL_arg3079z00_3661);
					}
					return bgl_append2(BgL_arg3075z00_3658, BgL_arg3077z00_3659);
				}
		}

	}



/* &split3759 */
	obj_t BGl_z62split3759z62zzast_letz00(obj_t BgL_envz00_7618,
		obj_t BgL_ebindingsz00_7619)
	{
		{	/* Ast/let.scm 992 */
			{
				obj_t BgL_ebindingsz00_7908;
				obj_t BgL_letza2zd2bindingsz70_7909;

				BgL_ebindingsz00_7908 = BgL_ebindingsz00_7619;
				BgL_letza2zd2bindingsz70_7909 = BNIL;
			BgL_loopz00_7907:
				if (NULLP(BgL_ebindingsz00_7908))
					{	/* Ast/let.scm 982 */
						obj_t BgL_val0_1578z00_7910;

						BgL_val0_1578z00_7910 =
							bgl_reverse_bang(BgL_letza2zd2bindingsz70_7909);
						{	/* Ast/let.scm 982 */
							int BgL_tmpz00_11622;

							BgL_tmpz00_11622 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11622);
						}
						{	/* Ast/let.scm 982 */
							int BgL_tmpz00_11625;

							BgL_tmpz00_11625 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_11625, BNIL);
						}
						return BgL_val0_1578z00_7910;
					}
				else
					{	/* Ast/let.scm 983 */
						bool_t BgL_test4299z00_11628;

						{	/* Ast/let.scm 983 */
							obj_t BgL_g1582z00_7911;

							BgL_g1582z00_7911 = CDR(((obj_t) BgL_ebindingsz00_7908));
							{
								obj_t BgL_l1580z00_7913;

								{	/* Ast/let.scm 986 */
									obj_t BgL_tmpz00_11631;

									BgL_l1580z00_7913 = BgL_g1582z00_7911;
								BgL_zc3z04anonymousza33133ze3z87_7912:
									if (NULLP(BgL_l1580z00_7913))
										{	/* Ast/let.scm 986 */
											BgL_tmpz00_11631 = BFALSE;
										}
									else
										{	/* Ast/let.scm 984 */
											obj_t BgL__ortest_1583z00_7914;

											{	/* Ast/let.scm 984 */
												obj_t BgL_auxz00_11640;
												obj_t BgL_auxz00_11634;

												{	/* Ast/let.scm 563 */
													obj_t BgL_pairz00_7916;

													BgL_pairz00_7916 =
														CAR(((obj_t) BgL_ebindingsz00_7908));
													BgL_auxz00_11640 = CAR(CDR(CDR(BgL_pairz00_7916)));
												}
												{	/* Ast/let.scm 562 */
													obj_t BgL_pairz00_7915;

													BgL_pairz00_7915 =
														CDR(((obj_t) CAR(((obj_t) BgL_l1580z00_7913))));
													BgL_auxz00_11634 = CAR(BgL_pairz00_7915);
												}
												BgL__ortest_1583z00_7914 =
													BGl_memqz00zz__r4_pairs_and_lists_6_3z00
													(BgL_auxz00_11634, BgL_auxz00_11640);
											}
											if (CBOOL(BgL__ortest_1583z00_7914))
												{	/* Ast/let.scm 986 */
													BgL_tmpz00_11631 = BgL__ortest_1583z00_7914;
												}
											else
												{	/* Ast/let.scm 986 */
													obj_t BgL_arg3134z00_7917;

													BgL_arg3134z00_7917 =
														CDR(((obj_t) BgL_l1580z00_7913));
													{
														obj_t BgL_l1580z00_11651;

														BgL_l1580z00_11651 = BgL_arg3134z00_7917;
														BgL_l1580z00_7913 = BgL_l1580z00_11651;
														goto BgL_zc3z04anonymousza33133ze3z87_7912;
													}
												}
										}
									BgL_test4299z00_11628 = CBOOL(BgL_tmpz00_11631);
								}
							}
						}
						if (BgL_test4299z00_11628)
							{	/* Ast/let.scm 990 */
								obj_t BgL_val0_1584z00_7918;

								BgL_val0_1584z00_7918 =
									bgl_reverse_bang(BgL_letza2zd2bindingsz70_7909);
								{	/* Ast/let.scm 990 */
									int BgL_tmpz00_11654;

									BgL_tmpz00_11654 = (int) (2L);
									BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11654);
								}
								{	/* Ast/let.scm 990 */
									int BgL_tmpz00_11657;

									BgL_tmpz00_11657 = (int) (1L);
									BGL_MVALUES_VAL_SET(BgL_tmpz00_11657, BgL_ebindingsz00_7908);
								}
								return BgL_val0_1584z00_7918;
							}
						else
							{	/* Ast/let.scm 992 */
								obj_t BgL_arg3130z00_7919;
								obj_t BgL_arg3131z00_7920;

								BgL_arg3130z00_7919 = CDR(((obj_t) BgL_ebindingsz00_7908));
								{	/* Ast/let.scm 992 */
									obj_t BgL_arg3132z00_7921;

									BgL_arg3132z00_7921 = CAR(((obj_t) BgL_ebindingsz00_7908));
									BgL_arg3131z00_7920 =
										MAKE_YOUNG_PAIR(BgL_arg3132z00_7921,
										BgL_letza2zd2bindingsz70_7909);
								}
								{
									obj_t BgL_letza2zd2bindingsz70_11666;
									obj_t BgL_ebindingsz00_11665;

									BgL_ebindingsz00_11665 = BgL_arg3130z00_7919;
									BgL_letza2zd2bindingsz70_11666 = BgL_arg3131z00_7920;
									BgL_letza2zd2bindingsz70_7909 =
										BgL_letza2zd2bindingsz70_11666;
									BgL_ebindingsz00_7908 = BgL_ebindingsz00_11665;
									goto BgL_loopz00_7907;
								}
							}
					}
			}
		}

	}



/* &stage7 */
	BgL_nodez00_bglt BGl_z62stage7z62zzast_letz00(obj_t BgL_envz00_7620,
		obj_t BgL_ebindingsz00_7624, obj_t BgL_bodyz00_7625)
	{
		{	/* Ast/let.scm 886 */
			{	/* Ast/let.scm 869 */
				obj_t BgL_locz00_7621;
				obj_t BgL_stackz00_7622;
				obj_t BgL_sitez00_7623;

				BgL_locz00_7621 = PROCEDURE_EL_REF(BgL_envz00_7620, (int) (0L));
				BgL_stackz00_7622 = PROCEDURE_EL_REF(BgL_envz00_7620, (int) (1L));
				BgL_sitez00_7623 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_7620, (int) (2L)));
				{
					obj_t BgL_ebindingsz00_7948;
					obj_t BgL_bodyz00_7949;
					BgL_typez00_bglt BgL_typez00_7924;

					{	/* Ast/let.scm 869 */
						obj_t BgL_lastz00_7989;

						BgL_lastz00_7989 =
							CAR(BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00
							(BgL_ebindingsz00_7624));
						{	/* Ast/let.scm 869 */
							BgL_typez00_bglt BgL_tz00_7990;

							{	/* Ast/let.scm 870 */
								obj_t BgL_arg2939z00_7991;
								obj_t BgL_arg2940z00_7992;

								{	/* Ast/let.scm 870 */
									obj_t BgL_pairz00_7993;

									BgL_pairz00_7993 = CAR(((obj_t) BgL_lastz00_7989));
									BgL_arg2939z00_7991 = CAR(BgL_pairz00_7993);
								}
								{	/* Ast/let.scm 871 */
									obj_t BgL_arg2943z00_7994;

									BgL_arg2943z00_7994 = CAR(((obj_t) BgL_lastz00_7989));
									BgL_arg2940z00_7992 =
										BGl_findzd2locationzd2zztools_locationz00
										(BgL_arg2943z00_7994);
								}
								BgL_tz00_7990 =
									BGl_typezd2ofzd2idz00zzast_identz00(BgL_arg2939z00_7991,
									BgL_arg2940z00_7992);
							}
							{	/* Ast/let.scm 870 */

								{	/* Ast/let.scm 872 */
									bool_t BgL_test4302z00_11683;

									if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(
												(((BgL_typez00_bglt) COBJECT(BgL_tz00_7990))->
													BgL_idz00), CNST_TABLE_REF(35L))))
										{	/* Ast/let.scm 873 */
											bool_t BgL_test4304z00_11689;

											{	/* Ast/let.scm 873 */
												obj_t BgL_arg2937z00_7995;

												{	/* Ast/let.scm 561 */
													obj_t BgL_pairz00_7996;

													BgL_pairz00_7996 = CAR(((obj_t) BgL_lastz00_7989));
													BgL_arg2937z00_7995 = CAR(CDR(BgL_pairz00_7996));
												}
												{	/* Ast/let.scm 873 */

													BgL_test4304z00_11689 =
														CBOOL(BGl_functionzf3zf3zzast_letz00
														(BgL_arg2937z00_7995, BFALSE));
												}
											}
											if (BgL_test4304z00_11689)
												{	/* Ast/let.scm 873 */
													BgL_test4302z00_11683 = ((bool_t) 0);
												}
											else
												{	/* Ast/let.scm 873 */
													BgL_test4302z00_11683 = ((bool_t) 1);
												}
										}
									else
										{	/* Ast/let.scm 872 */
											BgL_test4302z00_11683 = ((bool_t) 0);
										}
									if (BgL_test4302z00_11683)
										{	/* Ast/let.scm 877 */
											obj_t BgL_arg2883z00_7997;

											{	/* Ast/let.scm 877 */
												obj_t BgL_arg2884z00_7998;

												{	/* Ast/let.scm 877 */
													obj_t BgL_arg2885z00_7999;
													obj_t BgL_arg2886z00_8000;

													{	/* Ast/let.scm 877 */
														obj_t BgL_arg2887z00_8001;

														{	/* Ast/let.scm 877 */
															obj_t BgL_arg2888z00_8002;
															obj_t BgL_arg2889z00_8003;

															{	/* Ast/let.scm 562 */
																obj_t BgL_pairz00_8004;

																BgL_pairz00_8004 =
																	CDR(((obj_t) BgL_lastz00_7989));
																BgL_arg2888z00_8002 = CAR(BgL_pairz00_8004);
															}
															BgL_arg2889z00_8003 =
																MAKE_YOUNG_PAIR(BUNSPEC, BNIL);
															BgL_arg2887z00_8001 =
																MAKE_YOUNG_PAIR(BgL_arg2888z00_8002,
																BgL_arg2889z00_8003);
														}
														BgL_arg2885z00_7999 =
															MAKE_YOUNG_PAIR(BgL_arg2887z00_8001, BNIL);
													}
													{	/* Ast/let.scm 879 */
														obj_t BgL_arg2890z00_8005;

														{	/* Ast/let.scm 879 */
															obj_t BgL_arg2891z00_8006;

															{	/* Ast/let.scm 879 */
																obj_t BgL_arg2895z00_8007;
																obj_t BgL_arg2919z00_8008;

																{	/* Ast/let.scm 879 */
																	obj_t BgL_arg2920z00_8009;

																	{	/* Ast/let.scm 879 */
																		obj_t BgL_arg2922z00_8010;

																		{	/* Ast/let.scm 879 */
																			obj_t BgL_l1531z00_8011;

																			BgL_l1531z00_8011 =
																				bgl_reverse(BgL_ebindingsz00_7624);
																			if (NULLP(BgL_l1531z00_8011))
																				{	/* Ast/let.scm 879 */
																					BgL_arg2922z00_8010 = BNIL;
																				}
																			else
																				{	/* Ast/let.scm 879 */
																					obj_t BgL_head1533z00_8012;

																					BgL_head1533z00_8012 =
																						MAKE_YOUNG_PAIR(CAR(CAR
																							(BgL_l1531z00_8011)), BNIL);
																					{	/* Ast/let.scm 879 */
																						obj_t BgL_g1536z00_8013;

																						BgL_g1536z00_8013 =
																							CDR(BgL_l1531z00_8011);
																						{
																							obj_t BgL_l1531z00_8015;
																							obj_t BgL_tail1534z00_8016;

																							BgL_l1531z00_8015 =
																								BgL_g1536z00_8013;
																							BgL_tail1534z00_8016 =
																								BgL_head1533z00_8012;
																						BgL_zc3z04anonymousza32924ze3z87_8014:
																							if (NULLP
																								(BgL_l1531z00_8015))
																								{	/* Ast/let.scm 879 */
																									BgL_arg2922z00_8010 =
																										BgL_head1533z00_8012;
																								}
																							else
																								{	/* Ast/let.scm 879 */
																									obj_t BgL_newtail1535z00_8017;

																									{	/* Ast/let.scm 879 */
																										obj_t BgL_arg2927z00_8018;

																										{	/* Ast/let.scm 560 */
																											obj_t BgL_pairz00_8019;

																											BgL_pairz00_8019 =
																												CAR(
																												((obj_t)
																													BgL_l1531z00_8015));
																											BgL_arg2927z00_8018 =
																												CAR(BgL_pairz00_8019);
																										}
																										BgL_newtail1535z00_8017 =
																											MAKE_YOUNG_PAIR
																											(BgL_arg2927z00_8018,
																											BNIL);
																									}
																									SET_CDR(BgL_tail1534z00_8016,
																										BgL_newtail1535z00_8017);
																									{	/* Ast/let.scm 879 */
																										obj_t BgL_arg2926z00_8020;

																										BgL_arg2926z00_8020 =
																											CDR(
																											((obj_t)
																												BgL_l1531z00_8015));
																										{
																											obj_t
																												BgL_tail1534z00_11719;
																											obj_t BgL_l1531z00_11718;

																											BgL_l1531z00_11718 =
																												BgL_arg2926z00_8020;
																											BgL_tail1534z00_11719 =
																												BgL_newtail1535z00_8017;
																											BgL_tail1534z00_8016 =
																												BgL_tail1534z00_11719;
																											BgL_l1531z00_8015 =
																												BgL_l1531z00_11718;
																											goto
																												BgL_zc3z04anonymousza32924ze3z87_8014;
																										}
																									}
																								}
																						}
																					}
																				}
																		}
																		BgL_arg2920z00_8009 =
																			CDR(((obj_t) BgL_arg2922z00_8010));
																	}
																	BgL_arg2895z00_8007 =
																		bgl_reverse(BgL_arg2920z00_8009);
																}
																{	/* Ast/let.scm 881 */
																	obj_t BgL_arg2931z00_8021;
																	obj_t BgL_arg2932z00_8022;

																	{	/* Ast/let.scm 881 */
																		obj_t BgL_arg2933z00_8023;

																		{	/* Ast/let.scm 881 */
																			obj_t BgL_arg2934z00_8024;
																			obj_t BgL_arg2935z00_8025;

																			{	/* Ast/let.scm 562 */
																				obj_t BgL_pairz00_8026;

																				BgL_pairz00_8026 =
																					CDR(((obj_t) BgL_lastz00_7989));
																				BgL_arg2934z00_8024 =
																					CAR(BgL_pairz00_8026);
																			}
																			{	/* Ast/let.scm 881 */
																				obj_t BgL_arg2936z00_8027;

																				{	/* Ast/let.scm 561 */
																					obj_t BgL_pairz00_8028;

																					BgL_pairz00_8028 =
																						CAR(((obj_t) BgL_lastz00_7989));
																					BgL_arg2936z00_8027 =
																						CAR(CDR(BgL_pairz00_8028));
																				}
																				BgL_arg2935z00_8025 =
																					MAKE_YOUNG_PAIR(BgL_arg2936z00_8027,
																					BNIL);
																			}
																			BgL_arg2933z00_8023 =
																				MAKE_YOUNG_PAIR(BgL_arg2934z00_8024,
																				BgL_arg2935z00_8025);
																		}
																		BgL_arg2931z00_8021 =
																			MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L),
																			BgL_arg2933z00_8023);
																	}
																	BgL_arg2932z00_8022 =
																		MAKE_YOUNG_PAIR(BgL_bodyz00_7625, BNIL);
																	BgL_arg2919z00_8008 =
																		MAKE_YOUNG_PAIR(BgL_arg2931z00_8021,
																		BgL_arg2932z00_8022);
																}
																BgL_arg2891z00_8006 =
																	MAKE_YOUNG_PAIR(BgL_arg2895z00_8007,
																	BgL_arg2919z00_8008);
															}
															BgL_arg2890z00_8005 =
																MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L),
																BgL_arg2891z00_8006);
														}
														BgL_arg2886z00_8000 =
															MAKE_YOUNG_PAIR(BgL_arg2890z00_8005, BNIL);
													}
													BgL_arg2884z00_7998 =
														MAKE_YOUNG_PAIR(BgL_arg2885z00_7999,
														BgL_arg2886z00_8000);
												}
												BgL_arg2883z00_7997 =
													MAKE_YOUNG_PAIR(CNST_TABLE_REF(0L),
													BgL_arg2884z00_7998);
											}
											return
												BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2883z00_7997,
												BgL_stackz00_7622, BgL_locz00_7621, BgL_sitez00_7623);
										}
									else
										{	/* Ast/let.scm 872 */
											BgL_ebindingsz00_7948 = BgL_ebindingsz00_7624;
											BgL_bodyz00_7949 = BgL_bodyz00_7625;
											{	/* Ast/let.scm 854 */
												obj_t BgL_sexpz00_7950;

												{	/* Ast/let.scm 854 */
													obj_t BgL_arg2839z00_7951;

													{	/* Ast/let.scm 854 */
														obj_t BgL_arg2840z00_7952;
														obj_t BgL_arg2841z00_7953;

														if (NULLP(BgL_ebindingsz00_7948))
															{	/* Ast/let.scm 854 */
																BgL_arg2840z00_7952 = BNIL;
															}
														else
															{	/* Ast/let.scm 854 */
																obj_t BgL_head1523z00_7954;

																BgL_head1523z00_7954 =
																	MAKE_YOUNG_PAIR(BNIL, BNIL);
																{
																	obj_t BgL_l1521z00_7956;
																	obj_t BgL_tail1524z00_7957;

																	BgL_l1521z00_7956 = BgL_ebindingsz00_7948;
																	BgL_tail1524z00_7957 = BgL_head1523z00_7954;
																BgL_zc3z04anonymousza32843ze3z87_7955:
																	if (NULLP(BgL_l1521z00_7956))
																		{	/* Ast/let.scm 854 */
																			BgL_arg2840z00_7952 =
																				CDR(BgL_head1523z00_7954);
																		}
																	else
																		{	/* Ast/let.scm 854 */
																			obj_t BgL_newtail1525z00_7958;

																			{	/* Ast/let.scm 854 */
																				obj_t BgL_arg2846z00_7959;

																				{	/* Ast/let.scm 854 */
																					obj_t BgL_bz00_7960;

																					BgL_bz00_7960 =
																						CAR(((obj_t) BgL_l1521z00_7956));
																					{	/* Ast/let.scm 855 */
																						BgL_typez00_bglt BgL_tyz00_7961;

																						{	/* Ast/let.scm 855 */
																							obj_t BgL_arg2854z00_7962;
																							obj_t BgL_arg2855z00_7963;

																							{	/* Ast/let.scm 855 */
																								obj_t BgL_pairz00_7964;

																								BgL_pairz00_7964 =
																									CAR(((obj_t) BgL_bz00_7960));
																								BgL_arg2854z00_7962 =
																									CAR(BgL_pairz00_7964);
																							}
																							{	/* Ast/let.scm 855 */
																								obj_t BgL_arg2856z00_7965;

																								BgL_arg2856z00_7965 =
																									CAR(((obj_t) BgL_bz00_7960));
																								BgL_arg2855z00_7963 =
																									BGl_findzd2locationzd2zztools_locationz00
																									(BgL_arg2856z00_7965);
																							}
																							BgL_tyz00_7961 =
																								BGl_typezd2ofzd2idz00zzast_identz00
																								(BgL_arg2854z00_7962,
																								BgL_arg2855z00_7963);
																						}
																						{	/* Ast/let.scm 856 */
																							obj_t BgL_arg2847z00_7966;
																							obj_t BgL_arg2851z00_7967;

																							{	/* Ast/let.scm 856 */
																								obj_t BgL_pairz00_7968;

																								BgL_pairz00_7968 =
																									CAR(((obj_t) BgL_bz00_7960));
																								BgL_arg2847z00_7966 =
																									CAR(BgL_pairz00_7968);
																							}
																							BgL_typez00_7924 = BgL_tyz00_7961;
																							{	/* Ast/let.scm 751 */
																								bool_t BgL_test4309z00_11762;

																								{	/* Ast/let.scm 751 */
																									obj_t BgL_classz00_7925;

																									BgL_classz00_7925 =
																										BGl_tclassz00zzobject_classz00;
																									{	/* Ast/let.scm 751 */
																										BgL_objectz00_bglt
																											BgL_arg1801z00_7926;
																										{	/* Ast/let.scm 751 */
																											obj_t BgL_tmpz00_11763;

																											BgL_tmpz00_11763 =
																												((obj_t)
																												((BgL_objectz00_bglt)
																													BgL_typez00_7924));
																											BgL_arg1801z00_7926 =
																												(BgL_objectz00_bglt)
																												(BgL_tmpz00_11763);
																										}
																										if (BGL_CONDEXPAND_ISA_ARCH64())
																											{	/* Ast/let.scm 751 */
																												long BgL_idxz00_7927;

																												BgL_idxz00_7927 =
																													BGL_OBJECT_INHERITANCE_NUM
																													(BgL_arg1801z00_7926);
																												BgL_test4309z00_11762 =
																													(VECTOR_REF
																													(BGl_za2inheritancesza2z00zz__objectz00,
																														(BgL_idxz00_7927 +
																															2L)) ==
																													BgL_classz00_7925);
																											}
																										else
																											{	/* Ast/let.scm 751 */
																												bool_t
																													BgL_res3730z00_7930;
																												{	/* Ast/let.scm 751 */
																													obj_t
																														BgL_oclassz00_7931;
																													{	/* Ast/let.scm 751 */
																														long
																															BgL_arg1808z00_7932;
																														{	/* Ast/let.scm 751 */
																															long
																																BgL_arg1809z00_7933;
																															BgL_arg1809z00_7933
																																=
																																BGL_OBJECT_CLASS_NUM
																																(BgL_arg1801z00_7926);
																															BgL_arg1808z00_7932
																																=
																																(BgL_arg1809z00_7933
																																- OBJECT_TYPE);
																														}
																														BgL_oclassz00_7931 =
																															VECTOR_REF
																															(BGl_za2classesza2z00zz__objectz00,
																															BgL_arg1808z00_7932);
																													}
																													{	/* Ast/let.scm 751 */
																														bool_t
																															BgL__ortest_1115z00_7934;
																														BgL__ortest_1115z00_7934
																															=
																															(BgL_classz00_7925
																															==
																															BgL_oclassz00_7931);
																														if (BgL__ortest_1115z00_7934)
																															{	/* Ast/let.scm 751 */
																																BgL_res3730z00_7930
																																	=
																																	BgL__ortest_1115z00_7934;
																															}
																														else
																															{	/* Ast/let.scm 751 */
																																long
																																	BgL_odepthz00_7935;
																																BgL_odepthz00_7935
																																	=
																																	BGL_CLASS_DEPTH
																																	(BgL_oclassz00_7931);
																																if ((2L <
																																		BgL_odepthz00_7935))
																																	{	/* Ast/let.scm 751 */
																																		obj_t
																																			BgL_arg1797z00_7936;
																																		BgL_arg1797z00_7936
																																			=
																																			BGL_CLASS_ANCESTORS_REF
																																			(BgL_oclassz00_7931,
																																			2L);
																																		BgL_res3730z00_7930
																																			=
																																			(BgL_arg1797z00_7936
																																			==
																																			BgL_classz00_7925);
																																	}
																																else
																																	{	/* Ast/let.scm 751 */
																																		BgL_res3730z00_7930
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																													}
																												}
																												BgL_test4309z00_11762 =
																													BgL_res3730z00_7930;
																											}
																									}
																								}
																								if (BgL_test4309z00_11762)
																									{	/* Ast/let.scm 752 */
																										BgL_globalz00_bglt
																											BgL_vz00_7937;
																										{
																											BgL_tclassz00_bglt
																												BgL_auxz00_11783;
																											{
																												obj_t BgL_auxz00_11784;

																												{	/* Ast/let.scm 752 */
																													BgL_objectz00_bglt
																														BgL_tmpz00_11785;
																													BgL_tmpz00_11785 =
																														(
																														(BgL_objectz00_bglt)
																														((BgL_typez00_bglt)
																															BgL_typez00_7924));
																													BgL_auxz00_11784 =
																														BGL_OBJECT_WIDENING
																														(BgL_tmpz00_11785);
																												}
																												BgL_auxz00_11783 =
																													((BgL_tclassz00_bglt)
																													BgL_auxz00_11784);
																											}
																											BgL_vz00_7937 =
																												(((BgL_tclassz00_bglt)
																													COBJECT
																													(BgL_auxz00_11783))->
																												BgL_holderz00);
																										}
																										{	/* Ast/let.scm 753 */
																											obj_t BgL_arg2443z00_7938;

																											{	/* Ast/let.scm 753 */
																												obj_t
																													BgL_arg2444z00_7939;
																												{	/* Ast/let.scm 753 */
																													obj_t
																														BgL_arg2445z00_7940;
																													{	/* Ast/let.scm 753 */
																														obj_t
																															BgL_arg2447z00_7941;
																														obj_t
																															BgL_arg2448z00_7942;
																														BgL_arg2447z00_7941
																															=
																															(((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt) BgL_vz00_7937)))->BgL_idz00);
																														BgL_arg2448z00_7942
																															=
																															MAKE_YOUNG_PAIR(((
																																	(BgL_globalz00_bglt)
																																	COBJECT
																																	(BgL_vz00_7937))->
																																BgL_modulez00),
																															BNIL);
																														BgL_arg2445z00_7940
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg2447z00_7941,
																															BgL_arg2448z00_7942);
																													}
																													BgL_arg2444z00_7939 =
																														MAKE_YOUNG_PAIR
																														(CNST_TABLE_REF
																														(13L),
																														BgL_arg2445z00_7940);
																												}
																												BgL_arg2443z00_7938 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg2444z00_7939,
																													BNIL);
																											}
																											BgL_arg2851z00_7967 =
																												MAKE_YOUNG_PAIR
																												(CNST_TABLE_REF(14L),
																												BgL_arg2443z00_7938);
																										}
																									}
																								else
																									{	/* Ast/let.scm 754 */
																										obj_t
																											BgL_casezd2valuezd2_7943;
																										BgL_casezd2valuezd2_7943 =
																											(((BgL_typez00_bglt)
																												COBJECT
																												(BgL_typez00_7924))->
																											BgL_idz00);
																										{	/* Ast/let.scm 754 */
																											bool_t
																												BgL_test4313z00_11802;
																											{	/* Ast/let.scm 754 */
																												bool_t
																													BgL__ortest_1188z00_7944;
																												BgL__ortest_1188z00_7944
																													=
																													(BgL_casezd2valuezd2_7943
																													==
																													CNST_TABLE_REF(15L));
																												if (BgL__ortest_1188z00_7944)
																													{	/* Ast/let.scm 754 */
																														BgL_test4313z00_11802
																															=
																															BgL__ortest_1188z00_7944;
																													}
																												else
																													{	/* Ast/let.scm 754 */
																														BgL_test4313z00_11802
																															=
																															(BgL_casezd2valuezd2_7943
																															==
																															CNST_TABLE_REF
																															(16L));
																													}
																											}
																											if (BgL_test4313z00_11802)
																												{	/* Ast/let.scm 754 */
																													BgL_arg2851z00_7967 =
																														BUNSPEC;
																												}
																											else
																												{	/* Ast/let.scm 754 */
																													if (
																														(BgL_casezd2valuezd2_7943
																															==
																															CNST_TABLE_REF
																															(17L)))
																														{	/* Ast/let.scm 754 */
																															BgL_arg2851z00_7967
																																=
																																BGL_INT8_TO_BINT8
																																((int8_t) (0));
																														}
																													else
																														{	/* Ast/let.scm 754 */
																															if (
																																(BgL_casezd2valuezd2_7943
																																	==
																																	CNST_TABLE_REF
																																	(18L)))
																																{	/* Ast/let.scm 754 */
																																	BgL_arg2851z00_7967
																																		=
																																		BGL_UINT8_TO_BUINT8
																																		((uint8_t)
																																		(0));
																																}
																															else
																																{	/* Ast/let.scm 754 */
																																	if (
																																		(BgL_casezd2valuezd2_7943
																																			==
																																			CNST_TABLE_REF
																																			(19L)))
																																		{	/* Ast/let.scm 754 */
																																			BgL_arg2851z00_7967
																																				=
																																				BGL_INT16_TO_BINT16
																																				(
																																				(int16_t)
																																				(0));
																																		}
																																	else
																																		{	/* Ast/let.scm 754 */
																																			if (
																																				(BgL_casezd2valuezd2_7943
																																					==
																																					CNST_TABLE_REF
																																					(20L)))
																																				{	/* Ast/let.scm 754 */
																																					BgL_arg2851z00_7967
																																						=
																																						BGL_UINT16_TO_BUINT16
																																						(
																																						(uint16_t)
																																						(0));
																																				}
																																			else
																																				{	/* Ast/let.scm 754 */
																																					if (
																																						(BgL_casezd2valuezd2_7943
																																							==
																																							CNST_TABLE_REF
																																							(21L)))
																																						{	/* Ast/let.scm 754 */
																																							BgL_arg2851z00_7967
																																								=
																																								BGl_int323768z00zzast_letz00;
																																						}
																																					else
																																						{	/* Ast/let.scm 754 */
																																							if ((BgL_casezd2valuezd2_7943 == CNST_TABLE_REF(22L)))
																																								{	/* Ast/let.scm 754 */
																																									BgL_arg2851z00_7967
																																										=
																																										BGl_uint323769z00zzast_letz00;
																																								}
																																							else
																																								{	/* Ast/let.scm 754 */
																																									if ((BgL_casezd2valuezd2_7943 == CNST_TABLE_REF(23L)))
																																										{	/* Ast/let.scm 754 */
																																											BgL_arg2851z00_7967
																																												=
																																												BGl_int643770z00zzast_letz00;
																																										}
																																									else
																																										{	/* Ast/let.scm 754 */
																																											if ((BgL_casezd2valuezd2_7943 == CNST_TABLE_REF(24L)))
																																												{	/* Ast/let.scm 754 */
																																													BgL_arg2851z00_7967
																																														=
																																														BGl_uint643771z00zzast_letz00;
																																												}
																																											else
																																												{	/* Ast/let.scm 754 */
																																													bool_t
																																														BgL_test4323z00_11836;
																																													{	/* Ast/let.scm 754 */
																																														bool_t
																																															BgL__ortest_1189z00_7945;
																																														BgL__ortest_1189z00_7945
																																															=
																																															(BgL_casezd2valuezd2_7943
																																															==
																																															CNST_TABLE_REF
																																															(25L));
																																														if (BgL__ortest_1189z00_7945)
																																															{	/* Ast/let.scm 754 */
																																																BgL_test4323z00_11836
																																																	=
																																																	BgL__ortest_1189z00_7945;
																																															}
																																														else
																																															{	/* Ast/let.scm 754 */
																																																BgL_test4323z00_11836
																																																	=
																																																	(BgL_casezd2valuezd2_7943
																																																	==
																																																	CNST_TABLE_REF
																																																	(26L));
																																															}
																																													}
																																													if (BgL_test4323z00_11836)
																																														{	/* Ast/let.scm 754 */
																																															BgL_arg2851z00_7967
																																																=
																																																BGL_REAL_CNST
																																																(BGl_real3772z00zzast_letz00);
																																														}
																																													else
																																														{	/* Ast/let.scm 754 */
																																															bool_t
																																																BgL_test4325z00_11842;
																																															{	/* Ast/let.scm 754 */
																																																bool_t
																																																	BgL__ortest_1190z00_7946;
																																																BgL__ortest_1190z00_7946
																																																	=
																																																	(BgL_casezd2valuezd2_7943
																																																	==
																																																	CNST_TABLE_REF
																																																	(27L));
																																																if (BgL__ortest_1190z00_7946)
																																																	{	/* Ast/let.scm 754 */
																																																		BgL_test4325z00_11842
																																																			=
																																																			BgL__ortest_1190z00_7946;
																																																	}
																																																else
																																																	{	/* Ast/let.scm 754 */
																																																		BgL_test4325z00_11842
																																																			=
																																																			(BgL_casezd2valuezd2_7943
																																																			==
																																																			CNST_TABLE_REF
																																																			(28L));
																																																	}
																																															}
																																															if (BgL_test4325z00_11842)
																																																{	/* Ast/let.scm 754 */
																																																	BgL_arg2851z00_7967
																																																		=
																																																		BINT
																																																		(0L);
																																																}
																																															else
																																																{	/* Ast/let.scm 754 */
																																																	if ((BgL_casezd2valuezd2_7943 == CNST_TABLE_REF(29L)))
																																																		{	/* Ast/let.scm 754 */
																																																			BgL_arg2851z00_7967
																																																				=
																																																				BFALSE;
																																																		}
																																																	else
																																																		{	/* Ast/let.scm 754 */
																																																			if ((BgL_casezd2valuezd2_7943 == CNST_TABLE_REF(30L)))
																																																				{	/* Ast/let.scm 754 */
																																																					BgL_arg2851z00_7967
																																																						=
																																																						CNST_TABLE_REF
																																																						(31L);
																																																				}
																																																			else
																																																				{	/* Ast/let.scm 754 */
																																																					if ((BgL_casezd2valuezd2_7943 == CNST_TABLE_REF(32L)))
																																																						{	/* Ast/let.scm 768 */
																																																							obj_t
																																																								BgL_arg2464z00_7947;
																																																							BgL_arg2464z00_7947
																																																								=
																																																								MAKE_YOUNG_PAIR
																																																								(BFALSE,
																																																								BNIL);
																																																							BgL_arg2851z00_7967
																																																								=
																																																								MAKE_YOUNG_PAIR
																																																								(CNST_TABLE_REF
																																																								(33L),
																																																								BgL_arg2464z00_7947);
																																																						}
																																																					else
																																																						{	/* Ast/let.scm 754 */
																																																							if ((BgL_casezd2valuezd2_7943 == CNST_TABLE_REF(34L)))
																																																								{	/* Ast/let.scm 754 */
																																																									BgL_arg2851z00_7967
																																																										=
																																																										BCHAR
																																																										(
																																																										((unsigned char) '\000'));
																																																								}
																																																							else
																																																								{	/* Ast/let.scm 754 */
																																																									BgL_arg2851z00_7967
																																																										=
																																																										BGl_errorz00zz__errorz00
																																																										(BGl_string3773z00zzast_letz00,
																																																										BGl_string3774z00zzast_letz00,
																																																										(((BgL_typez00_bglt) COBJECT(BgL_typez00_7924))->BgL_idz00));
																																																								}
																																																						}
																																																				}
																																																		}
																																																}
																																														}
																																												}
																																										}
																																								}
																																						}
																																				}
																																		}
																																}
																														}
																												}
																										}
																									}
																							}
																							{	/* Ast/let.scm 856 */
																								obj_t BgL_list2852z00_7969;

																								{	/* Ast/let.scm 856 */
																									obj_t BgL_arg2853z00_7970;

																									BgL_arg2853z00_7970 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg2851z00_7967, BNIL);
																									BgL_list2852z00_7969 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg2847z00_7966,
																										BgL_arg2853z00_7970);
																								}
																								BgL_arg2846z00_7959 =
																									BgL_list2852z00_7969;
																							}
																						}
																					}
																				}
																				BgL_newtail1525z00_7958 =
																					MAKE_YOUNG_PAIR(BgL_arg2846z00_7959,
																					BNIL);
																			}
																			SET_CDR(BgL_tail1524z00_7957,
																				BgL_newtail1525z00_7958);
																			{	/* Ast/let.scm 854 */
																				obj_t BgL_arg2845z00_7971;

																				BgL_arg2845z00_7971 =
																					CDR(((obj_t) BgL_l1521z00_7956));
																				{
																					obj_t BgL_tail1524z00_11875;
																					obj_t BgL_l1521z00_11874;

																					BgL_l1521z00_11874 =
																						BgL_arg2845z00_7971;
																					BgL_tail1524z00_11875 =
																						BgL_newtail1525z00_7958;
																					BgL_tail1524z00_7957 =
																						BgL_tail1524z00_11875;
																					BgL_l1521z00_7956 =
																						BgL_l1521z00_11874;
																					goto
																						BgL_zc3z04anonymousza32843ze3z87_7955;
																				}
																			}
																		}
																}
															}
														{	/* Ast/let.scm 858 */
															obj_t BgL_arg2857z00_7972;
															obj_t BgL_arg2858z00_7973;

															if (NULLP(BgL_ebindingsz00_7948))
																{	/* Ast/let.scm 858 */
																	BgL_arg2857z00_7972 = BNIL;
																}
															else
																{	/* Ast/let.scm 858 */
																	obj_t BgL_head1528z00_7974;

																	BgL_head1528z00_7974 =
																		MAKE_YOUNG_PAIR(BNIL, BNIL);
																	{
																		obj_t BgL_l1526z00_7976;
																		obj_t BgL_tail1529z00_7977;

																		BgL_l1526z00_7976 = BgL_ebindingsz00_7948;
																		BgL_tail1529z00_7977 = BgL_head1528z00_7974;
																	BgL_zc3z04anonymousza32860ze3z87_7975:
																		if (NULLP(BgL_l1526z00_7976))
																			{	/* Ast/let.scm 858 */
																				BgL_arg2857z00_7972 =
																					CDR(BgL_head1528z00_7974);
																			}
																		else
																			{	/* Ast/let.scm 858 */
																				obj_t BgL_newtail1530z00_7978;

																				{	/* Ast/let.scm 858 */
																					obj_t BgL_arg2863z00_7979;

																					{	/* Ast/let.scm 858 */
																						obj_t BgL_bz00_7980;

																						BgL_bz00_7980 =
																							CAR(((obj_t) BgL_l1526z00_7976));
																						{	/* Ast/let.scm 859 */
																							obj_t BgL_arg2864z00_7981;

																							{	/* Ast/let.scm 859 */
																								obj_t BgL_arg2865z00_7982;
																								obj_t BgL_arg2868z00_7983;

																								{	/* Ast/let.scm 859 */
																									obj_t BgL_arg2870z00_7984;

																									{	/* Ast/let.scm 859 */
																										obj_t BgL_pairz00_7985;

																										BgL_pairz00_7985 =
																											CAR(
																											((obj_t) BgL_bz00_7980));
																										BgL_arg2870z00_7984 =
																											CAR(BgL_pairz00_7985);
																									}
																									BgL_arg2865z00_7982 =
																										BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																										(BgL_arg2870z00_7984,
																										BgL_locz00_7621);
																								}
																								{	/* Ast/let.scm 860 */
																									obj_t BgL_arg2871z00_7986;

																									{	/* Ast/let.scm 860 */
																										obj_t BgL_pairz00_7987;

																										BgL_pairz00_7987 =
																											CAR(
																											((obj_t) BgL_bz00_7980));
																										BgL_arg2871z00_7986 =
																											CAR(CDR
																											(BgL_pairz00_7987));
																									}
																									BgL_arg2868z00_7983 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg2871z00_7986, BNIL);
																								}
																								BgL_arg2864z00_7981 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg2865z00_7982,
																									BgL_arg2868z00_7983);
																							}
																							BgL_arg2863z00_7979 =
																								MAKE_YOUNG_PAIR(CNST_TABLE_REF
																								(5L), BgL_arg2864z00_7981);
																						}
																					}
																					BgL_newtail1530z00_7978 =
																						MAKE_YOUNG_PAIR(BgL_arg2863z00_7979,
																						BNIL);
																				}
																				SET_CDR(BgL_tail1529z00_7977,
																					BgL_newtail1530z00_7978);
																				{	/* Ast/let.scm 858 */
																					obj_t BgL_arg2862z00_7988;

																					BgL_arg2862z00_7988 =
																						CDR(((obj_t) BgL_l1526z00_7976));
																					{
																						obj_t BgL_tail1529z00_11901;
																						obj_t BgL_l1526z00_11900;

																						BgL_l1526z00_11900 =
																							BgL_arg2862z00_7988;
																						BgL_tail1529z00_11901 =
																							BgL_newtail1530z00_7978;
																						BgL_tail1529z00_7977 =
																							BgL_tail1529z00_11901;
																						BgL_l1526z00_7976 =
																							BgL_l1526z00_11900;
																						goto
																							BgL_zc3z04anonymousza32860ze3z87_7975;
																					}
																				}
																			}
																	}
																}
															BgL_arg2858z00_7973 =
																MAKE_YOUNG_PAIR(BgL_bodyz00_7949, BNIL);
															BgL_arg2841z00_7953 =
																BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
																(BgL_arg2857z00_7972, BgL_arg2858z00_7973);
														}
														BgL_arg2839z00_7951 =
															MAKE_YOUNG_PAIR(BgL_arg2840z00_7952,
															BgL_arg2841z00_7953);
													}
													BgL_sexpz00_7950 =
														MAKE_YOUNG_PAIR(CNST_TABLE_REF(0L),
														BgL_arg2839z00_7951);
												}
												return
													BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_sexpz00_7950,
													BgL_stackz00_7622, BgL_locz00_7621, BgL_sitez00_7623);
											}
										}
								}
							}
						}
					}
				}
			}
		}

	}



/* &split3760 */
	obj_t BGl_z62split3760z62zzast_letz00(obj_t BgL_envz00_7626,
		obj_t BgL_ebindingsz00_7627)
	{
		{	/* Ast/let.scm 919 */
			{	/* Ast/let.scm 893 */
				obj_t BgL_g1193z00_8029;

				BgL_g1193z00_8029 = bgl_reverse(BgL_ebindingsz00_7627);
				{
					obj_t BgL_ebindingsz00_8031;
					obj_t BgL_recza2zd2bindingsz70_8032;
					obj_t BgL_letzd2bindingszd2_8033;

					BgL_ebindingsz00_8031 = BgL_g1193z00_8029;
					BgL_recza2zd2bindingsz70_8032 = BNIL;
					BgL_letzd2bindingszd2_8033 = BNIL;
				BgL_loopz00_8030:
					if (NULLP(BgL_ebindingsz00_8031))
						{	/* Ast/let.scm 897 */
							{	/* Ast/let.scm 898 */
								int BgL_tmpz00_11911;

								BgL_tmpz00_11911 = (int) (2L);
								BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11911);
							}
							{	/* Ast/let.scm 898 */
								int BgL_tmpz00_11914;

								BgL_tmpz00_11914 = (int) (1L);
								BGL_MVALUES_VAL_SET(BgL_tmpz00_11914,
									BgL_letzd2bindingszd2_8033);
							}
							return BgL_recza2zd2bindingsz70_8032;
						}
					else
						{	/* Ast/let.scm 899 */
							bool_t BgL_test4334z00_11917;

							{	/* Ast/let.scm 899 */
								obj_t BgL_arg2983z00_8034;
								obj_t BgL_arg2984z00_8035;

								BgL_arg2983z00_8034 = CAR(((obj_t) BgL_ebindingsz00_8031));
								BgL_arg2984z00_8035 = CDR(((obj_t) BgL_ebindingsz00_8031));
								if (CBOOL(BGl_z62mutablezd2inzf3z43zzast_letz00
										(BgL_arg2983z00_8034, ((obj_t) BgL_arg2984z00_8035))))
									{	/* Ast/let.scm 574 */
										BgL_test4334z00_11917 = ((bool_t) 0);
									}
								else
									{	/* Ast/let.scm 574 */
										BgL_test4334z00_11917 = ((bool_t) 1);
									}
							}
							if (BgL_test4334z00_11917)
								{	/* Ast/let.scm 901 */
									bool_t BgL_test4336z00_11926;

									{	/* Ast/let.scm 901 */
										obj_t BgL_arg2980z00_8036;

										{	/* Ast/let.scm 561 */
											obj_t BgL_pairz00_8037;

											BgL_pairz00_8037 =
												CAR(((obj_t) CAR(((obj_t) BgL_ebindingsz00_8031))));
											BgL_arg2980z00_8036 = CAR(CDR(BgL_pairz00_8037));
										}
										{	/* Ast/let.scm 901 */

											BgL_test4336z00_11926 =
												CBOOL(BGl_functionzf3zf3zzast_letz00
												(BgL_arg2980z00_8036, BFALSE));
										}
									}
									if (BgL_test4336z00_11926)
										{	/* Ast/let.scm 902 */
											obj_t BgL_arg2955z00_8038;
											obj_t BgL_arg2956z00_8039;

											BgL_arg2955z00_8038 =
												CDR(((obj_t) BgL_ebindingsz00_8031));
											{	/* Ast/let.scm 903 */
												obj_t BgL_arg2957z00_8040;

												BgL_arg2957z00_8040 =
													CAR(((obj_t) BgL_ebindingsz00_8031));
												BgL_arg2956z00_8039 =
													MAKE_YOUNG_PAIR(BgL_arg2957z00_8040,
													BgL_recza2zd2bindingsz70_8032);
											}
											{
												obj_t BgL_recza2zd2bindingsz70_11941;
												obj_t BgL_ebindingsz00_11940;

												BgL_ebindingsz00_11940 = BgL_arg2955z00_8038;
												BgL_recza2zd2bindingsz70_11941 = BgL_arg2956z00_8039;
												BgL_recza2zd2bindingsz70_8032 =
													BgL_recza2zd2bindingsz70_11941;
												BgL_ebindingsz00_8031 = BgL_ebindingsz00_11940;
												goto BgL_loopz00_8030;
											}
										}
									else
										{	/* Ast/let.scm 905 */
											bool_t BgL_test4337z00_11942;

											{	/* Ast/let.scm 905 */
												bool_t BgL_test4338z00_11943;

												{	/* Ast/let.scm 905 */
													obj_t BgL_arg2979z00_8041;

													BgL_arg2979z00_8041 =
														CAR(((obj_t) BgL_ebindingsz00_8031));
													BgL_test4338z00_11943 =
														CBOOL(BGl_z62usedzd2inzf3z43zzast_letz00
														(BgL_arg2979z00_8041,
															BgL_recza2zd2bindingsz70_8032));
												}
												if (BgL_test4338z00_11943)
													{	/* Ast/let.scm 905 */
														BgL_test4337z00_11942 = ((bool_t) 0);
													}
												else
													{	/* Ast/let.scm 906 */
														bool_t BgL_test4339z00_11948;

														{	/* Ast/let.scm 906 */
															obj_t BgL_arg2974z00_8042;
															obj_t BgL_arg2975z00_8043;

															BgL_arg2974z00_8042 =
																CAR(((obj_t) BgL_ebindingsz00_8031));
															BgL_arg2975z00_8043 =
																CDR(((obj_t) BgL_ebindingsz00_8031));
															BgL_test4339z00_11948 =
																CBOOL(BGl_z62usedzd2inzf3z43zzast_letz00
																(BgL_arg2974z00_8042, BgL_arg2975z00_8043));
														}
														if (BgL_test4339z00_11948)
															{	/* Ast/let.scm 906 */
																BgL_test4337z00_11942 = ((bool_t) 0);
															}
														else
															{	/* Ast/let.scm 906 */
																BgL_test4337z00_11942 = ((bool_t) 1);
															}
													}
											}
											if (BgL_test4337z00_11942)
												{	/* Ast/let.scm 907 */
													obj_t BgL_arg2970z00_8044;
													obj_t BgL_arg2971z00_8045;

													BgL_arg2970z00_8044 =
														CDR(((obj_t) BgL_ebindingsz00_8031));
													{	/* Ast/let.scm 909 */
														obj_t BgL_arg2972z00_8046;

														BgL_arg2972z00_8046 =
															CAR(((obj_t) BgL_ebindingsz00_8031));
														BgL_arg2971z00_8045 =
															MAKE_YOUNG_PAIR(BgL_arg2972z00_8046,
															BgL_letzd2bindingszd2_8033);
													}
													{
														obj_t BgL_letzd2bindingszd2_11961;
														obj_t BgL_ebindingsz00_11960;

														BgL_ebindingsz00_11960 = BgL_arg2970z00_8044;
														BgL_letzd2bindingszd2_11961 = BgL_arg2971z00_8045;
														BgL_letzd2bindingszd2_8033 =
															BgL_letzd2bindingszd2_11961;
														BgL_ebindingsz00_8031 = BgL_ebindingsz00_11960;
														goto BgL_loopz00_8030;
													}
												}
											else
												{	/* Ast/let.scm 912 */
													obj_t BgL_val0_1539z00_8047;

													BgL_val0_1539z00_8047 =
														BGl_appendzd221011zd2zzast_letz00(bgl_reverse
														(BgL_ebindingsz00_8031),
														BgL_recza2zd2bindingsz70_8032);
													{	/* Ast/let.scm 912 */
														int BgL_tmpz00_11964;

														BgL_tmpz00_11964 = (int) (2L);
														BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11964);
													}
													{	/* Ast/let.scm 912 */
														int BgL_tmpz00_11967;

														BgL_tmpz00_11967 = (int) (1L);
														BGL_MVALUES_VAL_SET(BgL_tmpz00_11967,
															BgL_letzd2bindingszd2_8033);
													}
													return BgL_val0_1539z00_8047;
												}
										}
								}
							else
								{	/* Ast/let.scm 918 */
									obj_t BgL_val0_1541z00_8048;

									BgL_val0_1541z00_8048 =
										BGl_appendzd221011zd2zzast_letz00(bgl_reverse
										(BgL_ebindingsz00_8031), BgL_recza2zd2bindingsz70_8032);
									{	/* Ast/let.scm 918 */
										int BgL_tmpz00_11972;

										BgL_tmpz00_11972 = (int) (2L);
										BGL_MVALUES_NUMBER_SET(BgL_tmpz00_11972);
									}
									{	/* Ast/let.scm 918 */
										int BgL_tmpz00_11975;

										BgL_tmpz00_11975 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_11975,
											BgL_letzd2bindingszd2_8033);
									}
									return BgL_val0_1541z00_8048;
								}
						}
				}
			}
		}

	}



/* _function? */
	obj_t BGl__functionzf3zf3zzast_letz00(obj_t BgL_env1634z00_42,
		obj_t BgL_opt1633z00_41)
	{
		{	/* Ast/let.scm 1179 */
			{	/* Ast/let.scm 1179 */
				obj_t BgL_expz00_4316;

				BgL_expz00_4316 = VECTOR_REF(BgL_opt1633z00_41, 0L);
				switch (VECTOR_LENGTH(BgL_opt1633z00_41))
					{
					case 1L:

						{	/* Ast/let.scm 1179 */

							return BGl_functionzf3zf3zzast_letz00(BgL_expz00_4316, BFALSE);
						}
						break;
					case 2L:

						{	/* Ast/let.scm 1179 */
							obj_t BgL_directpz00_4320;

							BgL_directpz00_4320 = VECTOR_REF(BgL_opt1633z00_41, 1L);
							{	/* Ast/let.scm 1179 */

								return
									BGl_functionzf3zf3zzast_letz00(BgL_expz00_4316,
									BgL_directpz00_4320);
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* function? */
	obj_t BGl_functionzf3zf3zzast_letz00(obj_t BgL_expz00_39,
		obj_t BgL_directpz00_40)
	{
		{	/* Ast/let.scm 1179 */
			{
				obj_t BgL_predz00_4378;
				obj_t BgL_lstz00_4379;

				{
					obj_t BgL_varz00_4326;
					obj_t BgL_argsz00_4327;
					obj_t BgL_zf3zd2z21_4328;

					if (PAIRP(BgL_expz00_39))
						{	/* Ast/let.scm 1185 */
							if ((CAR(((obj_t) BgL_expz00_39)) == CNST_TABLE_REF(11L)))
								{	/* Ast/let.scm 1185 */
									return BFALSE;
								}
							else
								{	/* Ast/let.scm 1185 */
									obj_t BgL_cdrzd22926zd2_4335;

									BgL_cdrzd22926zd2_4335 = CDR(((obj_t) BgL_expz00_39));
									if ((CAR(((obj_t) BgL_expz00_39)) == CNST_TABLE_REF(8L)))
										{	/* Ast/let.scm 1185 */
											if (PAIRP(BgL_cdrzd22926zd2_4335))
												{	/* Ast/let.scm 1185 */
													obj_t BgL_carzd22929zd2_4339;
													obj_t BgL_cdrzd22930zd2_4340;

													BgL_carzd22929zd2_4339 = CAR(BgL_cdrzd22926zd2_4335);
													BgL_cdrzd22930zd2_4340 = CDR(BgL_cdrzd22926zd2_4335);
													if (PAIRP(BgL_carzd22929zd2_4339))
														{	/* Ast/let.scm 1185 */
															obj_t BgL_carzd22932zd2_4342;

															BgL_carzd22932zd2_4342 =
																CAR(BgL_carzd22929zd2_4339);
															if (PAIRP(BgL_carzd22932zd2_4342))
																{	/* Ast/let.scm 1185 */
																	if (NULLP(CDR(BgL_carzd22929zd2_4339)))
																		{	/* Ast/let.scm 1185 */
																			if (PAIRP(BgL_cdrzd22930zd2_4340))
																				{	/* Ast/let.scm 1185 */
																					if (NULLP(CDR
																							(BgL_cdrzd22930zd2_4340)))
																						{	/* Ast/let.scm 1185 */
																							obj_t BgL_arg3496z00_4349;
																							obj_t BgL_arg3498z00_4350;

																							BgL_arg3496z00_4349 =
																								CAR(BgL_carzd22932zd2_4342);
																							BgL_arg3498z00_4350 =
																								CAR(BgL_cdrzd22930zd2_4340);
																							{	/* Ast/let.scm 1189 */
																								obj_t BgL_arg3513z00_6705;

																								BgL_arg3513z00_6705 =
																									BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																									(BgL_arg3496z00_4349, BFALSE);
																								return
																									BBOOL((BgL_arg3513z00_6705 ==
																										BgL_arg3498z00_4350));
																							}
																						}
																					else
																						{	/* Ast/let.scm 1185 */
																							obj_t BgL_arg3499z00_4352;

																							BgL_arg3499z00_4352 =
																								CAR(((obj_t) BgL_expz00_39));
																							BgL_varz00_4326 =
																								BgL_arg3499z00_4352;
																							BgL_argsz00_4327 =
																								BgL_cdrzd22926zd2_4335;
																							BgL_zf3zd2z21_4328 =
																								BgL_cdrzd22926zd2_4335;
																						BgL_tagzd22908zd2_4329:
																							{	/* Ast/let.scm 1191 */
																								bool_t BgL__ortest_1217z00_4370;

																								BgL__ortest_1217z00_4370 =
																									(BgL_varz00_4326 ==
																									CNST_TABLE_REF(7L));
																								if (BgL__ortest_1217z00_4370)
																									{	/* Ast/let.scm 1191 */
																										return
																											BBOOL
																											(BgL__ortest_1217z00_4370);
																									}
																								else
																									{	/* Ast/let.scm 1192 */
																										bool_t
																											BgL__ortest_1218z00_4371;
																										if (SYMBOLP
																											(BgL_varz00_4326))
																											{	/* Ast/let.scm 1192 */
																												obj_t
																													BgL_arg3514z00_4377;
																												BgL_arg3514z00_4377 =
																													BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																													(BgL_varz00_4326,
																													BFALSE);
																												BgL__ortest_1218z00_4371
																													=
																													(BgL_arg3514z00_4377
																													==
																													CNST_TABLE_REF(7L));
																											}
																										else
																											{	/* Ast/let.scm 1192 */
																												BgL__ortest_1218z00_4371
																													= ((bool_t) 0);
																											}
																										if (BgL__ortest_1218z00_4371)
																											{	/* Ast/let.scm 1192 */
																												return
																													BBOOL
																													(BgL__ortest_1218z00_4371);
																											}
																										else
																											{	/* Ast/let.scm 1193 */
																												obj_t
																													BgL__ortest_1219z00_4372;
																												{	/* Ast/let.scm 1193 */

																													BgL__ortest_1219z00_4372
																														=
																														BGl_functionzf3zf3zzast_letz00
																														(BgL_varz00_4326,
																														BFALSE);
																												}
																												if (CBOOL
																													(BgL__ortest_1219z00_4372))
																													{	/* Ast/let.scm 1193 */
																														return
																															BgL__ortest_1219z00_4372;
																													}
																												else
																													{	/* Ast/let.scm 1193 */
																														if (CBOOL
																															(BgL_directpz00_40))
																															{	/* Ast/let.scm 1194 */
																																return BFALSE;
																															}
																														else
																															{	/* Ast/let.scm 1194 */
																																BgL_predz00_4378
																																	=
																																	BGl_functionzf3zd2envz21zzast_letz00;
																																BgL_lstz00_4379
																																	=
																																	BgL_argsz00_4327;
																															BgL_zc3z04anonymousza33515ze3z87_4380:
																																if (PAIRP
																																	(BgL_lstz00_4379))
																																	{	/* Ast/let.scm 1183 */
																																		obj_t
																																			BgL__ortest_1216z00_4382;
																																		{	/* Ast/let.scm 1183 */
																																			obj_t
																																				BgL_arg3518z00_4384;
																																			BgL_arg3518z00_4384
																																				=
																																				CAR
																																				(BgL_lstz00_4379);
																																			BgL__ortest_1216z00_4382
																																				=
																																				(VA_PROCEDUREP
																																				(BgL_predz00_4378)
																																				? (
																																					(obj_t
																																						(*)
																																						(obj_t,
																																							...))
																																					PROCEDURE_ENTRY
																																					(BgL_predz00_4378))
																																				(BgL_predz00_4378,
																																					BgL_arg3518z00_4384,
																																					BEOA)
																																				: (
																																					(obj_t
																																						(*)
																																						(obj_t,
																																							obj_t))
																																					PROCEDURE_ENTRY
																																					(BgL_predz00_4378))
																																				(BgL_predz00_4378,
																																					BgL_arg3518z00_4384));
																																		}
																																		if (CBOOL
																																			(BgL__ortest_1216z00_4382))
																																			{	/* Ast/let.scm 1183 */
																																				return
																																					BgL__ortest_1216z00_4382;
																																			}
																																		else
																																			{
																																				obj_t
																																					BgL_lstz00_12047;
																																				BgL_lstz00_12047
																																					=
																																					CDR
																																					(BgL_lstz00_4379);
																																				BgL_lstz00_4379
																																					=
																																					BgL_lstz00_12047;
																																				goto
																																					BgL_zc3z04anonymousza33515ze3z87_4380;
																																			}
																																	}
																																else
																																	{	/* Ast/let.scm 1182 */
																																		return
																																			BFALSE;
																																	}
																															}
																													}
																											}
																									}
																							}
																						}
																				}
																			else
																				{	/* Ast/let.scm 1185 */
																					obj_t BgL_arg3502z00_4355;

																					BgL_arg3502z00_4355 =
																						CAR(((obj_t) BgL_expz00_39));
																					{
																						obj_t BgL_zf3zd2z21_12053;
																						obj_t BgL_argsz00_12052;
																						obj_t BgL_varz00_12051;

																						BgL_varz00_12051 =
																							BgL_arg3502z00_4355;
																						BgL_argsz00_12052 =
																							BgL_cdrzd22926zd2_4335;
																						BgL_zf3zd2z21_12053 =
																							BgL_cdrzd22926zd2_4335;
																						BgL_zf3zd2z21_4328 =
																							BgL_zf3zd2z21_12053;
																						BgL_argsz00_4327 =
																							BgL_argsz00_12052;
																						BgL_varz00_4326 = BgL_varz00_12051;
																						goto BgL_tagzd22908zd2_4329;
																					}
																				}
																		}
																	else
																		{	/* Ast/let.scm 1185 */
																			obj_t BgL_arg3503z00_4357;

																			BgL_arg3503z00_4357 =
																				CAR(((obj_t) BgL_expz00_39));
																			{
																				obj_t BgL_zf3zd2z21_12058;
																				obj_t BgL_argsz00_12057;
																				obj_t BgL_varz00_12056;

																				BgL_varz00_12056 = BgL_arg3503z00_4357;
																				BgL_argsz00_12057 =
																					BgL_cdrzd22926zd2_4335;
																				BgL_zf3zd2z21_12058 =
																					BgL_cdrzd22926zd2_4335;
																				BgL_zf3zd2z21_4328 =
																					BgL_zf3zd2z21_12058;
																				BgL_argsz00_4327 = BgL_argsz00_12057;
																				BgL_varz00_4326 = BgL_varz00_12056;
																				goto BgL_tagzd22908zd2_4329;
																			}
																		}
																}
															else
																{	/* Ast/let.scm 1185 */
																	obj_t BgL_arg3506z00_4360;

																	BgL_arg3506z00_4360 =
																		CAR(((obj_t) BgL_expz00_39));
																	{
																		obj_t BgL_zf3zd2z21_12063;
																		obj_t BgL_argsz00_12062;
																		obj_t BgL_varz00_12061;

																		BgL_varz00_12061 = BgL_arg3506z00_4360;
																		BgL_argsz00_12062 = BgL_cdrzd22926zd2_4335;
																		BgL_zf3zd2z21_12063 =
																			BgL_cdrzd22926zd2_4335;
																		BgL_zf3zd2z21_4328 = BgL_zf3zd2z21_12063;
																		BgL_argsz00_4327 = BgL_argsz00_12062;
																		BgL_varz00_4326 = BgL_varz00_12061;
																		goto BgL_tagzd22908zd2_4329;
																	}
																}
														}
													else
														{	/* Ast/let.scm 1185 */
															obj_t BgL_arg3507z00_4362;

															BgL_arg3507z00_4362 =
																CAR(((obj_t) BgL_expz00_39));
															{
																obj_t BgL_zf3zd2z21_12068;
																obj_t BgL_argsz00_12067;
																obj_t BgL_varz00_12066;

																BgL_varz00_12066 = BgL_arg3507z00_4362;
																BgL_argsz00_12067 = BgL_cdrzd22926zd2_4335;
																BgL_zf3zd2z21_12068 = BgL_cdrzd22926zd2_4335;
																BgL_zf3zd2z21_4328 = BgL_zf3zd2z21_12068;
																BgL_argsz00_4327 = BgL_argsz00_12067;
																BgL_varz00_4326 = BgL_varz00_12066;
																goto BgL_tagzd22908zd2_4329;
															}
														}
												}
											else
												{	/* Ast/let.scm 1185 */
													obj_t BgL_arg3508z00_4364;

													BgL_arg3508z00_4364 = CAR(((obj_t) BgL_expz00_39));
													{
														obj_t BgL_zf3zd2z21_12073;
														obj_t BgL_argsz00_12072;
														obj_t BgL_varz00_12071;

														BgL_varz00_12071 = BgL_arg3508z00_4364;
														BgL_argsz00_12072 = BgL_cdrzd22926zd2_4335;
														BgL_zf3zd2z21_12073 = BgL_cdrzd22926zd2_4335;
														BgL_zf3zd2z21_4328 = BgL_zf3zd2z21_12073;
														BgL_argsz00_4327 = BgL_argsz00_12072;
														BgL_varz00_4326 = BgL_varz00_12071;
														goto BgL_tagzd22908zd2_4329;
													}
												}
										}
									else
										{	/* Ast/let.scm 1185 */
											obj_t BgL_arg3510z00_4366;

											BgL_arg3510z00_4366 = CAR(((obj_t) BgL_expz00_39));
											{
												obj_t BgL_zf3zd2z21_12078;
												obj_t BgL_argsz00_12077;
												obj_t BgL_varz00_12076;

												BgL_varz00_12076 = BgL_arg3510z00_4366;
												BgL_argsz00_12077 = BgL_cdrzd22926zd2_4335;
												BgL_zf3zd2z21_12078 = BgL_cdrzd22926zd2_4335;
												BgL_zf3zd2z21_4328 = BgL_zf3zd2z21_12078;
												BgL_argsz00_4327 = BgL_argsz00_12077;
												BgL_varz00_4326 = BgL_varz00_12076;
												goto BgL_tagzd22908zd2_4329;
											}
										}
								}
						}
					else
						{	/* Ast/let.scm 1185 */
							return BFALSE;
						}
				}
			}
		}

	}



/* direct-function? */
	bool_t BGl_directzd2functionzf3z21zzast_letz00(obj_t BgL_expz00_43,
		bool_t BgL_directpz00_44)
	{
		{	/* Ast/let.scm 1203 */
			if (PAIRP(BgL_expz00_43))
				{	/* Ast/let.scm 1204 */
					if ((CAR(((obj_t) BgL_expz00_43)) == CNST_TABLE_REF(7L)))
						{	/* Ast/let.scm 1204 */
							return ((bool_t) 1);
						}
					else
						{	/* Ast/let.scm 1204 */
							obj_t BgL_cdrzd23078zd2_4402;

							BgL_cdrzd23078zd2_4402 = CDR(((obj_t) BgL_expz00_43));
							if ((CAR(((obj_t) BgL_expz00_43)) == CNST_TABLE_REF(8L)))
								{	/* Ast/let.scm 1204 */
									if (PAIRP(BgL_cdrzd23078zd2_4402))
										{	/* Ast/let.scm 1204 */
											obj_t BgL_carzd23081zd2_4406;
											obj_t BgL_cdrzd23082zd2_4407;

											BgL_carzd23081zd2_4406 = CAR(BgL_cdrzd23078zd2_4402);
											BgL_cdrzd23082zd2_4407 = CDR(BgL_cdrzd23078zd2_4402);
											if (PAIRP(BgL_carzd23081zd2_4406))
												{	/* Ast/let.scm 1204 */
													obj_t BgL_carzd23084zd2_4409;

													BgL_carzd23084zd2_4409 = CAR(BgL_carzd23081zd2_4406);
													if (PAIRP(BgL_carzd23084zd2_4409))
														{	/* Ast/let.scm 1204 */
															if (NULLP(CDR(BgL_carzd23081zd2_4406)))
																{	/* Ast/let.scm 1204 */
																	if (PAIRP(BgL_cdrzd23082zd2_4407))
																		{	/* Ast/let.scm 1204 */
																			if (NULLP(CDR(BgL_cdrzd23082zd2_4407)))
																				{	/* Ast/let.scm 1204 */
																					obj_t BgL_arg3534z00_4416;
																					obj_t BgL_arg3536z00_4417;

																					BgL_arg3534z00_4416 =
																						CAR(BgL_carzd23084zd2_4409);
																					BgL_arg3536z00_4417 =
																						CAR(BgL_cdrzd23082zd2_4407);
																					return
																						(BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																						(BgL_arg3534z00_4416,
																							BFALSE) == BgL_arg3536z00_4417);
																				}
																			else
																				{	/* Ast/let.scm 1204 */
																					obj_t BgL_carzd23096zd2_4418;

																					BgL_carzd23096zd2_4418 =
																						CAR(((obj_t) BgL_expz00_43));
																					if (SYMBOLP(BgL_carzd23096zd2_4418))
																						{	/* Ast/let.scm 1210 */
																							obj_t BgL_arg3553z00_6734;

																							BgL_arg3553z00_6734 =
																								BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																								(BgL_carzd23096zd2_4418,
																								BFALSE);
																							return (BgL_arg3553z00_6734 ==
																								CNST_TABLE_REF(7L));
																						}
																					else
																						{	/* Ast/let.scm 1204 */
																							return ((bool_t) 0);
																						}
																				}
																		}
																	else
																		{	/* Ast/let.scm 1204 */
																			obj_t BgL_carzd23103zd2_4421;

																			BgL_carzd23103zd2_4421 =
																				CAR(((obj_t) BgL_expz00_43));
																			if (SYMBOLP(BgL_carzd23103zd2_4421))
																				{	/* Ast/let.scm 1210 */
																					obj_t BgL_arg3553z00_6736;

																					BgL_arg3553z00_6736 =
																						BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																						(BgL_carzd23103zd2_4421, BFALSE);
																					return (BgL_arg3553z00_6736 ==
																						CNST_TABLE_REF(7L));
																				}
																			else
																				{	/* Ast/let.scm 1204 */
																					return ((bool_t) 0);
																				}
																		}
																}
															else
																{	/* Ast/let.scm 1204 */
																	obj_t BgL_carzd23110zd2_4423;

																	BgL_carzd23110zd2_4423 =
																		CAR(((obj_t) BgL_expz00_43));
																	if (SYMBOLP(BgL_carzd23110zd2_4423))
																		{	/* Ast/let.scm 1210 */
																			obj_t BgL_arg3553z00_6738;

																			BgL_arg3553z00_6738 =
																				BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																				(BgL_carzd23110zd2_4423, BFALSE);
																			return (BgL_arg3553z00_6738 ==
																				CNST_TABLE_REF(7L));
																		}
																	else
																		{	/* Ast/let.scm 1204 */
																			return ((bool_t) 0);
																		}
																}
														}
													else
														{	/* Ast/let.scm 1204 */
															obj_t BgL_carzd23117zd2_4426;

															BgL_carzd23117zd2_4426 =
																CAR(((obj_t) BgL_expz00_43));
															if (SYMBOLP(BgL_carzd23117zd2_4426))
																{	/* Ast/let.scm 1210 */
																	obj_t BgL_arg3553z00_6740;

																	BgL_arg3553z00_6740 =
																		BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																		(BgL_carzd23117zd2_4426, BFALSE);
																	return (BgL_arg3553z00_6740 ==
																		CNST_TABLE_REF(7L));
																}
															else
																{	/* Ast/let.scm 1204 */
																	return ((bool_t) 0);
																}
														}
												}
											else
												{	/* Ast/let.scm 1204 */
													obj_t BgL_carzd23124zd2_4428;

													BgL_carzd23124zd2_4428 = CAR(((obj_t) BgL_expz00_43));
													if (SYMBOLP(BgL_carzd23124zd2_4428))
														{	/* Ast/let.scm 1210 */
															obj_t BgL_arg3553z00_6742;

															BgL_arg3553z00_6742 =
																BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
																(BgL_carzd23124zd2_4428, BFALSE);
															return (BgL_arg3553z00_6742 ==
																CNST_TABLE_REF(7L));
														}
													else
														{	/* Ast/let.scm 1204 */
															return ((bool_t) 0);
														}
												}
										}
									else
										{	/* Ast/let.scm 1204 */
											obj_t BgL_carzd23131zd2_4430;

											BgL_carzd23131zd2_4430 = CAR(((obj_t) BgL_expz00_43));
											if (SYMBOLP(BgL_carzd23131zd2_4430))
												{	/* Ast/let.scm 1210 */
													obj_t BgL_arg3553z00_6744;

													BgL_arg3553z00_6744 =
														BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
														(BgL_carzd23131zd2_4430, BFALSE);
													return (BgL_arg3553z00_6744 == CNST_TABLE_REF(7L));
												}
											else
												{	/* Ast/let.scm 1204 */
													return ((bool_t) 0);
												}
										}
								}
							else
								{	/* Ast/let.scm 1204 */
									obj_t BgL_carzd23138zd2_4432;

									BgL_carzd23138zd2_4432 = CAR(((obj_t) BgL_expz00_43));
									if (SYMBOLP(BgL_carzd23138zd2_4432))
										{	/* Ast/let.scm 1210 */
											obj_t BgL_arg3553z00_6746;

											BgL_arg3553z00_6746 =
												BGl_fastzd2idzd2ofzd2idzd2zzast_identz00
												(BgL_carzd23138zd2_4432, BFALSE);
											return (BgL_arg3553z00_6746 == CNST_TABLE_REF(7L));
										}
									else
										{	/* Ast/let.scm 1204 */
											return ((bool_t) 0);
										}
								}
						}
				}
			else
				{	/* Ast/let.scm 1204 */
					return ((bool_t) 0);
				}
		}

	}



/* constant? */
	bool_t BGl_constantzf3zf3zzast_letz00(obj_t BgL_valz00_47)
	{
		{	/* Ast/let.scm 1217 */
			{	/* Ast/let.scm 1218 */
				bool_t BgL__ortest_1223z00_4438;

				{	/* Ast/let.scm 1218 */
					obj_t BgL_classz00_6747;

					BgL_classz00_6747 = BGl_atomz00zzast_nodez00;
					if (BGL_OBJECTP(BgL_valz00_47))
						{	/* Ast/let.scm 1218 */
							BgL_objectz00_bglt BgL_arg1801z00_6749;

							BgL_arg1801z00_6749 = (BgL_objectz00_bglt) (BgL_valz00_47);
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Ast/let.scm 1218 */
									long BgL_idxz00_6755;

									BgL_idxz00_6755 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_6749);
									BgL__ortest_1223z00_4438 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_6755 + 2L)) == BgL_classz00_6747);
								}
							else
								{	/* Ast/let.scm 1218 */
									bool_t BgL_res3732z00_6777;

									{	/* Ast/let.scm 1218 */
										obj_t BgL_oclassz00_6763;

										{	/* Ast/let.scm 1218 */
											long BgL_arg1808z00_6769;

											{	/* Ast/let.scm 1218 */
												long BgL_arg1809z00_6770;

												BgL_arg1809z00_6770 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_6749);
												BgL_arg1808z00_6769 =
													(BgL_arg1809z00_6770 - OBJECT_TYPE);
											}
											BgL_oclassz00_6763 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_6769);
										}
										{	/* Ast/let.scm 1218 */
											bool_t BgL__ortest_1115z00_6764;

											BgL__ortest_1115z00_6764 =
												(BgL_classz00_6747 == BgL_oclassz00_6763);
											if (BgL__ortest_1115z00_6764)
												{	/* Ast/let.scm 1218 */
													BgL_res3732z00_6777 = BgL__ortest_1115z00_6764;
												}
											else
												{	/* Ast/let.scm 1218 */
													long BgL_odepthz00_6765;

													BgL_odepthz00_6765 =
														BGL_CLASS_DEPTH(BgL_oclassz00_6763);
													if ((2L < BgL_odepthz00_6765))
														{	/* Ast/let.scm 1218 */
															obj_t BgL_arg1797z00_6767;

															BgL_arg1797z00_6767 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6763, 2L);
															BgL_res3732z00_6777 =
																(BgL_arg1797z00_6767 == BgL_classz00_6747);
														}
													else
														{	/* Ast/let.scm 1218 */
															BgL_res3732z00_6777 = ((bool_t) 0);
														}
												}
										}
									}
									BgL__ortest_1223z00_4438 = BgL_res3732z00_6777;
								}
						}
					else
						{	/* Ast/let.scm 1218 */
							BgL__ortest_1223z00_4438 = ((bool_t) 0);
						}
				}
				if (BgL__ortest_1223z00_4438)
					{	/* Ast/let.scm 1218 */
						return BgL__ortest_1223z00_4438;
					}
				else
					{	/* Ast/let.scm 1218 */
						bool_t BgL__ortest_1224z00_4439;

						{	/* Ast/let.scm 1218 */
							obj_t BgL_classz00_6778;

							BgL_classz00_6778 = BGl_kwotez00zzast_nodez00;
							if (BGL_OBJECTP(BgL_valz00_47))
								{	/* Ast/let.scm 1218 */
									BgL_objectz00_bglt BgL_arg1801z00_6780;

									BgL_arg1801z00_6780 = (BgL_objectz00_bglt) (BgL_valz00_47);
									if (BGL_CONDEXPAND_ISA_ARCH64())
										{	/* Ast/let.scm 1218 */
											long BgL_idxz00_6786;

											BgL_idxz00_6786 =
												BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_6780);
											BgL__ortest_1224z00_4439 =
												(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
													(BgL_idxz00_6786 + 2L)) == BgL_classz00_6778);
										}
									else
										{	/* Ast/let.scm 1218 */
											bool_t BgL_res3733z00_6808;

											{	/* Ast/let.scm 1218 */
												obj_t BgL_oclassz00_6794;

												{	/* Ast/let.scm 1218 */
													long BgL_arg1808z00_6800;

													{	/* Ast/let.scm 1218 */
														long BgL_arg1809z00_6801;

														BgL_arg1809z00_6801 =
															BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_6780);
														BgL_arg1808z00_6800 =
															(BgL_arg1809z00_6801 - OBJECT_TYPE);
													}
													BgL_oclassz00_6794 =
														VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
														BgL_arg1808z00_6800);
												}
												{	/* Ast/let.scm 1218 */
													bool_t BgL__ortest_1115z00_6795;

													BgL__ortest_1115z00_6795 =
														(BgL_classz00_6778 == BgL_oclassz00_6794);
													if (BgL__ortest_1115z00_6795)
														{	/* Ast/let.scm 1218 */
															BgL_res3733z00_6808 = BgL__ortest_1115z00_6795;
														}
													else
														{	/* Ast/let.scm 1218 */
															long BgL_odepthz00_6796;

															BgL_odepthz00_6796 =
																BGL_CLASS_DEPTH(BgL_oclassz00_6794);
															if ((2L < BgL_odepthz00_6796))
																{	/* Ast/let.scm 1218 */
																	obj_t BgL_arg1797z00_6798;

																	BgL_arg1797z00_6798 =
																		BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_6794,
																		2L);
																	BgL_res3733z00_6808 =
																		(BgL_arg1797z00_6798 == BgL_classz00_6778);
																}
															else
																{	/* Ast/let.scm 1218 */
																	BgL_res3733z00_6808 = ((bool_t) 0);
																}
														}
												}
											}
											BgL__ortest_1224z00_4439 = BgL_res3733z00_6808;
										}
								}
							else
								{	/* Ast/let.scm 1218 */
									BgL__ortest_1224z00_4439 = ((bool_t) 0);
								}
						}
						if (BgL__ortest_1224z00_4439)
							{	/* Ast/let.scm 1218 */
								return BgL__ortest_1224z00_4439;
							}
						else
							{	/* Ast/let.scm 1218 */
								bool_t BgL__ortest_1225z00_4440;

								BgL__ortest_1225z00_4440 = NULLP(BgL_valz00_47);
								if (BgL__ortest_1225z00_4440)
									{	/* Ast/let.scm 1218 */
										return BgL__ortest_1225z00_4440;
									}
								else
									{	/* Ast/let.scm 1218 */
										bool_t BgL__ortest_1226z00_4441;

										BgL__ortest_1226z00_4441 =
											BGl_numberzf3zf3zz__r4_numbers_6_5z00(BgL_valz00_47);
										if (BgL__ortest_1226z00_4441)
											{	/* Ast/let.scm 1218 */
												return BgL__ortest_1226z00_4441;
											}
										else
											{	/* Ast/let.scm 1219 */
												bool_t BgL__ortest_1227z00_4442;

												BgL__ortest_1227z00_4442 = CNSTP(BgL_valz00_47);
												if (BgL__ortest_1227z00_4442)
													{	/* Ast/let.scm 1219 */
														return BgL__ortest_1227z00_4442;
													}
												else
													{	/* Ast/let.scm 1219 */
														bool_t BgL__ortest_1228z00_4443;

														BgL__ortest_1228z00_4443 = STRINGP(BgL_valz00_47);
														if (BgL__ortest_1228z00_4443)
															{	/* Ast/let.scm 1219 */
																return BgL__ortest_1228z00_4443;
															}
														else
															{	/* Ast/let.scm 1219 */
																bool_t BgL__ortest_1229z00_4444;

																BgL__ortest_1229z00_4444 = CHARP(BgL_valz00_47);
																if (BgL__ortest_1229z00_4444)
																	{	/* Ast/let.scm 1219 */
																		return BgL__ortest_1229z00_4444;
																	}
																else
																	{	/* Ast/let.scm 1219 */
																		bool_t BgL__ortest_1230z00_4445;

																		BgL__ortest_1230z00_4445 =
																			BOOLEANP(BgL_valz00_47);
																		if (BgL__ortest_1230z00_4445)
																			{	/* Ast/let.scm 1219 */
																				return BgL__ortest_1230z00_4445;
																			}
																		else
																			{	/* Ast/let.scm 1219 */
																				BGL_TAIL return
																					BGl_numberzf3zf3zz__r4_numbers_6_5z00
																					(BgL_valz00_47);
																			}
																	}
															}
													}
											}
									}
							}
					}
			}
		}

	}



/* loop~0 */
	bool_t BGl_loopze70ze7zzast_letz00(obj_t BgL_valz00_4448)
	{
		{	/* Ast/let.scm 1271 */
		BGl_loopze70ze7zzast_letz00:
			if (BGl_constantzf3zf3zzast_letz00(BgL_valz00_4448))
				{	/* Ast/let.scm 1271 */
					return ((bool_t) 0);
				}
			else
				{	/* Ast/let.scm 1271 */
					if (PAIRP(BgL_valz00_4448))
						{	/* Ast/let.scm 1271 */
							if ((CAR(((obj_t) BgL_valz00_4448)) == CNST_TABLE_REF(11L)))
								{	/* Ast/let.scm 1271 */
									return ((bool_t) 0);
								}
							else
								{	/* Ast/let.scm 1271 */
									obj_t BgL_cdrzd23180zd2_4467;

									BgL_cdrzd23180zd2_4467 = CDR(((obj_t) BgL_valz00_4448));
									if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(CAR(
													((obj_t) BgL_valz00_4448)), CNST_TABLE_REF(36L))))
										{	/* Ast/let.scm 1271 */
											if (PAIRP(BgL_cdrzd23180zd2_4467))
												{	/* Ast/let.scm 1271 */
													obj_t BgL_cdrzd23184zd2_4471;

													BgL_cdrzd23184zd2_4471 = CDR(BgL_cdrzd23180zd2_4467);
													if (PAIRP(BgL_cdrzd23184zd2_4471))
														{	/* Ast/let.scm 1271 */
															if (NULLP(CDR(BgL_cdrzd23184zd2_4471)))
																{	/* Ast/let.scm 1271 */
																	obj_t BgL_arg3566z00_4475;
																	obj_t BgL_arg3567z00_4476;

																	BgL_arg3566z00_4475 =
																		CAR(BgL_cdrzd23180zd2_4467);
																	BgL_arg3567z00_4476 =
																		CAR(BgL_cdrzd23184zd2_4471);
																	{	/* Ast/let.scm 1275 */
																		bool_t BgL__ortest_1231z00_6819;

																		BgL__ortest_1231z00_6819 =
																			BGl_loopze70ze7zzast_letz00
																			(BgL_arg3566z00_4475);
																		if (BgL__ortest_1231z00_6819)
																			{	/* Ast/let.scm 1275 */
																				return BgL__ortest_1231z00_6819;
																			}
																		else
																			{
																				obj_t BgL_valz00_12245;

																				BgL_valz00_12245 = BgL_arg3567z00_4476;
																				BgL_valz00_4448 = BgL_valz00_12245;
																				goto BGl_loopze70ze7zzast_letz00;
																			}
																	}
																}
															else
																{	/* Ast/let.scm 1271 */
																	if (
																		(CAR(
																				((obj_t) BgL_valz00_4448)) ==
																			CNST_TABLE_REF(37L)))
																		{	/* Ast/let.scm 1271 */
																			obj_t BgL_cdrzd23212zd2_4480;

																			BgL_cdrzd23212zd2_4480 =
																				CDR(((obj_t) BgL_cdrzd23180zd2_4467));
																			{	/* Ast/let.scm 1271 */
																				obj_t BgL_cdrzd23219zd2_4481;

																				BgL_cdrzd23219zd2_4481 =
																					CDR(((obj_t) BgL_cdrzd23212zd2_4480));
																				if (PAIRP(BgL_cdrzd23219zd2_4481))
																					{	/* Ast/let.scm 1271 */
																						if (NULLP(CDR
																								(BgL_cdrzd23219zd2_4481)))
																							{	/* Ast/let.scm 1271 */
																								obj_t BgL_arg3573z00_4485;
																								obj_t BgL_arg3575z00_4486;
																								obj_t BgL_arg3576z00_4487;

																								BgL_arg3573z00_4485 =
																									CAR(
																									((obj_t)
																										BgL_cdrzd23180zd2_4467));
																								BgL_arg3575z00_4486 =
																									CAR(((obj_t)
																										BgL_cdrzd23212zd2_4480));
																								BgL_arg3576z00_4487 =
																									CAR(BgL_cdrzd23219zd2_4481);
																								{	/* Ast/let.scm 1277 */
																									bool_t
																										BgL__ortest_1232z00_6828;
																									BgL__ortest_1232z00_6828 =
																										BGl_loopze70ze7zzast_letz00
																										(BgL_arg3573z00_4485);
																									if (BgL__ortest_1232z00_6828)
																										{	/* Ast/let.scm 1277 */
																											return
																												BgL__ortest_1232z00_6828;
																										}
																									else
																										{	/* Ast/let.scm 1277 */
																											bool_t
																												BgL__ortest_1233z00_6829;
																											BgL__ortest_1233z00_6829 =
																												BGl_loopze70ze7zzast_letz00
																												(BgL_arg3575z00_4486);
																											if (BgL__ortest_1233z00_6829)
																												{	/* Ast/let.scm 1277 */
																													return
																														BgL__ortest_1233z00_6829;
																												}
																											else
																												{
																													obj_t
																														BgL_valz00_12269;
																													BgL_valz00_12269 =
																														BgL_arg3576z00_4487;
																													BgL_valz00_4448 =
																														BgL_valz00_12269;
																													goto
																														BGl_loopze70ze7zzast_letz00;
																												}
																										}
																								}
																							}
																						else
																							{	/* Ast/let.scm 1271 */
																								return ((bool_t) 1);
																							}
																					}
																				else
																					{	/* Ast/let.scm 1271 */
																						return ((bool_t) 1);
																					}
																			}
																		}
																	else
																		{	/* Ast/let.scm 1271 */
																			return ((bool_t) 1);
																		}
																}
														}
													else
														{	/* Ast/let.scm 1271 */
															if (
																(CAR(
																		((obj_t) BgL_valz00_4448)) ==
																	CNST_TABLE_REF(38L)))
																{	/* Ast/let.scm 1271 */
																	if (NULLP(CDR(
																				((obj_t) BgL_cdrzd23180zd2_4467))))
																		{	/* Ast/let.scm 1271 */
																			obj_t BgL_arg3585z00_4496;

																			BgL_arg3585z00_4496 =
																				CAR(((obj_t) BgL_cdrzd23180zd2_4467));
																			{
																				obj_t BgL_valz00_12281;

																				BgL_valz00_12281 = BgL_arg3585z00_4496;
																				BgL_valz00_4448 = BgL_valz00_12281;
																				goto BGl_loopze70ze7zzast_letz00;
																			}
																		}
																	else
																		{	/* Ast/let.scm 1271 */
																			return ((bool_t) 1);
																		}
																}
															else
																{	/* Ast/let.scm 1271 */
																	return ((bool_t) 1);
																}
														}
												}
											else
												{	/* Ast/let.scm 1271 */
													return ((bool_t) 1);
												}
										}
									else
										{	/* Ast/let.scm 1271 */
											if (
												(CAR(((obj_t) BgL_valz00_4448)) == CNST_TABLE_REF(38L)))
												{	/* Ast/let.scm 1271 */
													if (PAIRP(BgL_cdrzd23180zd2_4467))
														{	/* Ast/let.scm 1271 */
															if (NULLP(CDR(BgL_cdrzd23180zd2_4467)))
																{
																	obj_t BgL_valz00_12292;

																	BgL_valz00_12292 =
																		CAR(BgL_cdrzd23180zd2_4467);
																	BgL_valz00_4448 = BgL_valz00_12292;
																	goto BGl_loopze70ze7zzast_letz00;
																}
															else
																{	/* Ast/let.scm 1271 */
																	return ((bool_t) 1);
																}
														}
													else
														{	/* Ast/let.scm 1271 */
															return ((bool_t) 1);
														}
												}
											else
												{	/* Ast/let.scm 1271 */
													obj_t BgL_cdrzd23294zd2_4507;

													BgL_cdrzd23294zd2_4507 =
														CDR(((obj_t) BgL_valz00_4448));
													if (
														(CAR(
																((obj_t) BgL_valz00_4448)) ==
															CNST_TABLE_REF(37L)))
														{	/* Ast/let.scm 1271 */
															if (PAIRP(BgL_cdrzd23294zd2_4507))
																{	/* Ast/let.scm 1271 */
																	obj_t BgL_cdrzd23299zd2_4511;

																	BgL_cdrzd23299zd2_4511 =
																		CDR(BgL_cdrzd23294zd2_4507);
																	if (PAIRP(BgL_cdrzd23299zd2_4511))
																		{	/* Ast/let.scm 1271 */
																			obj_t BgL_cdrzd23304zd2_4513;

																			BgL_cdrzd23304zd2_4513 =
																				CDR(BgL_cdrzd23299zd2_4511);
																			if (PAIRP(BgL_cdrzd23304zd2_4513))
																				{	/* Ast/let.scm 1271 */
																					if (NULLP(CDR
																							(BgL_cdrzd23304zd2_4513)))
																						{	/* Ast/let.scm 1271 */
																							obj_t BgL_arg3604z00_4517;
																							obj_t BgL_arg3605z00_4518;
																							obj_t BgL_arg3606z00_4519;

																							BgL_arg3604z00_4517 =
																								CAR(BgL_cdrzd23294zd2_4507);
																							BgL_arg3605z00_4518 =
																								CAR(BgL_cdrzd23299zd2_4511);
																							BgL_arg3606z00_4519 =
																								CAR(BgL_cdrzd23304zd2_4513);
																							{	/* Ast/let.scm 1277 */
																								bool_t BgL__ortest_1232z00_6846;

																								BgL__ortest_1232z00_6846 =
																									BGl_loopze70ze7zzast_letz00
																									(BgL_arg3604z00_4517);
																								if (BgL__ortest_1232z00_6846)
																									{	/* Ast/let.scm 1277 */
																										return
																											BgL__ortest_1232z00_6846;
																									}
																								else
																									{	/* Ast/let.scm 1277 */
																										bool_t
																											BgL__ortest_1233z00_6847;
																										BgL__ortest_1233z00_6847 =
																											BGl_loopze70ze7zzast_letz00
																											(BgL_arg3605z00_4518);
																										if (BgL__ortest_1233z00_6847)
																											{	/* Ast/let.scm 1277 */
																												return
																													BgL__ortest_1233z00_6847;
																											}
																										else
																											{
																												obj_t BgL_valz00_12319;

																												BgL_valz00_12319 =
																													BgL_arg3606z00_4519;
																												BgL_valz00_4448 =
																													BgL_valz00_12319;
																												goto
																													BGl_loopze70ze7zzast_letz00;
																											}
																									}
																							}
																						}
																					else
																						{	/* Ast/let.scm 1271 */
																							return ((bool_t) 1);
																						}
																				}
																			else
																				{	/* Ast/let.scm 1271 */
																					return ((bool_t) 1);
																				}
																		}
																	else
																		{	/* Ast/let.scm 1271 */
																			return ((bool_t) 1);
																		}
																}
															else
																{	/* Ast/let.scm 1271 */
																	return ((bool_t) 1);
																}
														}
													else
														{	/* Ast/let.scm 1271 */
															return ((bool_t) 1);
														}
												}
										}
								}
						}
					else
						{	/* Ast/let.scm 1271 */
							return ((bool_t) 1);
						}
				}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zzast_letz00(void)
	{
		{	/* Ast/let.scm 14 */
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_varz00(90839984L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_nodez00(469732712L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zztools_tracez00(54713316L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zztype_cachez00(346491734L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zztools_prognz00(301998274L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zztools_locationz00(462333240L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zztools_miscz00(9470071L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzengine_paramz00(517137079L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_identz00(174885617L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_sexpz00(163122759L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_localz00(315247917L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_substitutez00(280730341L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_occurz00(282085879L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_removez00(383247627L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzast_dumpz00(271707717L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			BGl_modulezd2initializa7ationz75zzobject_classz00(502007119L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
			return
				BGl_modulezd2initializa7ationz75zzbackend_backendz00(216206620L,
				BSTRING_TO_STRING(BGl_string3775z00zzast_letz00));
		}

	}

#ifdef __cplusplus
}
#endif
