/*===========================================================================*/
/*   (Tailc/walk.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 Tailc/walk.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_TAILC_WALK_TYPE_DEFINITIONS
#define BGL_TAILC_WALK_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_funz00_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;
	}             *BgL_funz00_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_svarz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
	}              *BgL_svarz00_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_closurez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_variablez00_bgl *BgL_variablez00;
	}                 *BgL_closurez00_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_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_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_localzd2tailzd2_bgl
	{
	}                      *BgL_localzd2tailzd2_bglt;


#endif													// BGL_TAILC_WALK_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_z62getzd2tailzd2callszd2seque1315zb0zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_globalzd2ze3localz12z23zztailc_walkz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_classzd2nilzd2initz12z12zz__objectz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_tailczd2walkz12zc0zztailc_walkz00(obj_t);
	static obj_t BGl_z62getzd2tailzd2callszd2sync1317zb0zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zztailc_walkz00 = BUNSPEC;
	extern obj_t BGl_closurez00zzast_nodez00;
	extern obj_t BGl_funz00zzast_varz00;
	static obj_t BGl_z62getzd2tailzd2callszd2switc1323zb0zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_syncz00zzast_nodez00;
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	BGL_IMPORT obj_t BGl_registerzd2genericz12zc0zz__objectz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_sfunz00zzast_varz00;
	static obj_t BGl_toplevelzd2initzd2zztailc_walkz00(void);
	static obj_t BGl_getzd2tailzd2callsz00zztailc_walkz00(BgL_nodez00_bglt,
		BgL_variablez00_bglt, obj_t);
	extern obj_t BGl_sequencez00zzast_nodez00;
	extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_letzd2varzd2zzast_nodez00;
	static obj_t BGl_genericzd2initzd2zztailc_walkz00(void);
	extern obj_t BGl_leavezd2functionzd2zztools_errorz00(void);
	static obj_t BGl_objectzd2initzd2zztailc_walkz00(void);
	static obj_t BGl_z62getzd2tailzd2calls1310z62zztailc_walkz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_shapez00zztools_shapez00(obj_t);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	extern obj_t BGl_typez00zztype_typez00;
	extern BgL_localz00_bglt BGl_clonezd2localzd2zzast_localz00(BgL_localz00_bglt,
		BgL_valuez00_bglt);
	static obj_t BGl_tailczd2globalzd2zztailc_walkz00(obj_t);
	static obj_t BGl_z62tailczd2walkz12za2zztailc_walkz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	extern obj_t BGl_refz00zzast_nodez00;
	extern BgL_localz00_bglt BGl_makezd2localzd2sfunz00zzast_localz00(obj_t,
		BgL_typez00_bglt, BgL_sfunz00_bglt);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zztailc_walkz00(void);
	extern obj_t BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00;
	static obj_t BGl_localzd2tailzd2zztailc_walkz00 = BUNSPEC;
	static obj_t BGl_z62getzd2tailzd2callszd2condi1321zb0zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_svarz00zzast_varz00;
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zztailc_walkz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_localz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_removez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzengine_passz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_speekz00(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_numbers_6_5_fixnumz00(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__readerz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__bitz00(long, char *);
	extern obj_t BGl_appz00zzast_nodez00;
	extern obj_t BGl_enterzd2functionzd2zztools_errorz00(obj_t);
	extern obj_t BGl_nodez00zzast_nodez00;
	static obj_t BGl_z62getzd2tailzd2callszd2letzd2f1325z62zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_localz00zzast_varz00;
	static obj_t BGl_cnstzd2initzd2zztailc_walkz00(void);
	static obj_t BGl_z62getzd2tailzd2callszd2letzd2v1327z62zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_libraryzd2moduleszd2initz00zztailc_walkz00(void);
	BGL_IMPORT long bgl_list_length(obj_t);
	BGL_IMPORT obj_t BGl_registerzd2classz12zc0zz__objectz00(obj_t, obj_t, obj_t,
		long, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zztailc_walkz00(void);
	static obj_t BGl_gczd2rootszd2initz00zztailc_walkz00(void);
	extern obj_t BGl_letzd2funzd2zzast_nodez00;
	extern obj_t BGl_za2currentzd2passza2zd2zzengine_passz00;
	extern obj_t BGl_valuez00zzast_varz00;
	BGL_IMPORT obj_t BGl_genericzd2addzd2methodz12z12zz__objectz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_switchz00zzast_nodez00;
	static obj_t BGl_z62getzd2tailzd2callszd2closu1313zb0zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62getzd2tailzd2callszd2app1319zb0zztailc_walkz00(obj_t,
		obj_t, obj_t, obj_t);
	BGL_IMPORT obj_t BGl_classzd2superzd2zz__objectz00(obj_t);
	static obj_t BGl_z62zc3z04anonymousza31591ze3ze5zztailc_walkz00(obj_t, obj_t);
	extern obj_t BGl_conditionalz00zzast_nodez00;
	static BgL_localz00_bglt BGl_z62lambda1579z62zztailc_walkz00(obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_IMPORT obj_t BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(obj_t);
	static BgL_localz00_bglt BGl_z62lambda1587z62zztailc_walkz00(obj_t, obj_t);
	extern obj_t BGl_verbosez00zztools_speekz00(obj_t, obj_t);
	static BgL_localz00_bglt BGl_z62lambda1592z62zztailc_walkz00(obj_t, obj_t);
	static obj_t BGl_z62getzd2tailzd2callsz62zztailc_walkz00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t __cnst[4];


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_tailczd2walkz12zd2envz12zztailc_walkz00,
		BgL_bgl_za762tailcza7d2walkza71861za7,
		BGl_z62tailczd2walkz12za2zztailc_walkz00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string1833z00zztailc_walkz00,
		BgL_bgl_string1833za700za7za7t1862za7, "Tailc", 5);
	      DEFINE_STRING(BGl_string1834z00zztailc_walkz00,
		BgL_bgl_string1834za700za7za7t1863za7, "   . ", 5);
	      DEFINE_STRING(BGl_string1835z00zztailc_walkz00,
		BgL_bgl_string1835za700za7za7t1864za7, "failure during prelude hook", 27);
	      DEFINE_STRING(BGl_string1836z00zztailc_walkz00,
		BgL_bgl_string1836za700za7za7t1865za7, " self tail call(s)", 18);
	      DEFINE_STRING(BGl_string1837z00zztailc_walkz00,
		BgL_bgl_string1837za700za7za7t1866za7, ": ", 2);
	      DEFINE_STRING(BGl_string1838z00zztailc_walkz00,
		BgL_bgl_string1838za700za7za7t1867za7, "        ", 8);
	      DEFINE_STRING(BGl_string1844z00zztailc_walkz00,
		BgL_bgl_string1844za700za7za7t1868za7, "get-tail-calls1310", 18);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1839z00zztailc_walkz00,
		BgL_bgl_za762lambda1592za7621869z00, BGl_z62lambda1592z62zztailc_walkz00,
		0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string1846z00zztailc_walkz00,
		BgL_bgl_string1846za700za7za7t1870za7, "get-tail-calls", 14);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1840z00zztailc_walkz00,
		BgL_bgl_za762za7c3za704anonymo1871za7,
		BGl_z62zc3z04anonymousza31591ze3ze5zztailc_walkz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1841z00zztailc_walkz00,
		BgL_bgl_za762lambda1587za7621872z00, BGl_z62lambda1587z62zztailc_walkz00,
		0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1842z00zztailc_walkz00,
		BgL_bgl_za762lambda1579za7621873z00, BGl_z62lambda1579z62zztailc_walkz00,
		0L, BUNSPEC, 13);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1843z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21874za7,
		BGl_z62getzd2tailzd2calls1310z62zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1845z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21875za7,
		BGl_z62getzd2tailzd2callszd2closu1313zb0zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1847z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21876za7,
		BGl_z62getzd2tailzd2callszd2seque1315zb0zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string1854z00zztailc_walkz00,
		BgL_bgl_string1854za700za7za7t1877za7, "Unexpected closure", 18);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1848z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21878za7,
		BGl_z62getzd2tailzd2callszd2sync1317zb0zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string1855z00zztailc_walkz00,
		BgL_bgl_string1855za700za7za7t1879za7, "tailc_walk", 10);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1849z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21880za7,
		BGl_z62getzd2tailzd2callszd2app1319zb0zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string1856z00zztailc_walkz00,
		BgL_bgl_string1856za700za7za7t1881za7,
		"_ tailc_walk local-tail pass-started ", 37);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1850z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21882za7,
		BGl_z62getzd2tailzd2callszd2condi1321zb0zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1851z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21883za7,
		BGl_z62getzd2tailzd2callszd2switc1323zb0zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1852z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21884za7,
		BGl_z62getzd2tailzd2callszd2letzd2f1325z62zztailc_walkz00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1853z00zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21885za7,
		BGl_z62getzd2tailzd2callszd2letzd2v1327z62zztailc_walkz00, 0L, BUNSPEC, 3);
	     
		DEFINE_STATIC_BGL_GENERIC(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
		BgL_bgl_za762getza7d2tailza7d21886za7,
		BGl_z62getzd2tailzd2callsz62zztailc_walkz00, 0L, BUNSPEC, 3);

/* 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_requirezd2initializa7ationz75zztailc_walkz00));
		     ADD_ROOT((void *) (&BGl_localzd2tailzd2zztailc_walkz00));
#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_modulezd2initializa7ationz75zztailc_walkz00(long
		BgL_checksumz00_2241, char *BgL_fromz00_2242)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zztailc_walkz00))
				{
					BGl_requirezd2initializa7ationz75zztailc_walkz00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zztailc_walkz00();
					BGl_libraryzd2moduleszd2initz00zztailc_walkz00();
					BGl_cnstzd2initzd2zztailc_walkz00();
					BGl_importedzd2moduleszd2initz00zztailc_walkz00();
					BGl_objectzd2initzd2zztailc_walkz00();
					BGl_genericzd2initzd2zztailc_walkz00();
					BGl_methodzd2initzd2zztailc_walkz00();
					return BGl_toplevelzd2initzd2zztailc_walkz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "tailc_walk");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "tailc_walk");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L, "tailc_walk");
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"tailc_walk");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "tailc_walk");
			BGl_modulezd2initializa7ationz75zz__bitz00(0L, "tailc_walk");
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L,
				"tailc_walk");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "tailc_walk");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"tailc_walk");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			{	/* Tailc/walk.scm 15 */
				obj_t BgL_cportz00_2153;

				{	/* Tailc/walk.scm 15 */
					obj_t BgL_stringz00_2160;

					BgL_stringz00_2160 = BGl_string1856z00zztailc_walkz00;
					{	/* Tailc/walk.scm 15 */
						obj_t BgL_startz00_2161;

						BgL_startz00_2161 = BINT(0L);
						{	/* Tailc/walk.scm 15 */
							obj_t BgL_endz00_2162;

							BgL_endz00_2162 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_2160)));
							{	/* Tailc/walk.scm 15 */

								BgL_cportz00_2153 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_2160, BgL_startz00_2161, BgL_endz00_2162);
				}}}}
				{
					long BgL_iz00_2154;

					BgL_iz00_2154 = 3L;
				BgL_loopz00_2155:
					if ((BgL_iz00_2154 == -1L))
						{	/* Tailc/walk.scm 15 */
							return BUNSPEC;
						}
					else
						{	/* Tailc/walk.scm 15 */
							{	/* Tailc/walk.scm 15 */
								obj_t BgL_arg1857z00_2156;

								{	/* Tailc/walk.scm 15 */

									{	/* Tailc/walk.scm 15 */
										obj_t BgL_locationz00_2158;

										BgL_locationz00_2158 = BBOOL(((bool_t) 0));
										{	/* Tailc/walk.scm 15 */

											BgL_arg1857z00_2156 =
												BGl_readz00zz__readerz00(BgL_cportz00_2153,
												BgL_locationz00_2158);
										}
									}
								}
								{	/* Tailc/walk.scm 15 */
									int BgL_tmpz00_2272;

									BgL_tmpz00_2272 = (int) (BgL_iz00_2154);
									CNST_TABLE_SET(BgL_tmpz00_2272, BgL_arg1857z00_2156);
							}}
							{	/* Tailc/walk.scm 15 */
								int BgL_auxz00_2159;

								BgL_auxz00_2159 = (int) ((BgL_iz00_2154 - 1L));
								{
									long BgL_iz00_2277;

									BgL_iz00_2277 = (long) (BgL_auxz00_2159);
									BgL_iz00_2154 = BgL_iz00_2277;
									goto BgL_loopz00_2155;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			return BUNSPEC;
		}

	}



/* tailc-walk! */
	BGL_EXPORTED_DEF obj_t BGl_tailczd2walkz12zc0zztailc_walkz00(obj_t
		BgL_globalsz00_48)
	{
		{	/* Tailc/walk.scm 32 */
			{	/* Tailc/walk.scm 33 */
				obj_t BgL_list1338z00_1434;

				{	/* Tailc/walk.scm 33 */
					obj_t BgL_arg1341z00_1435;

					{	/* Tailc/walk.scm 33 */
						obj_t BgL_arg1343z00_1436;

						BgL_arg1343z00_1436 =
							MAKE_YOUNG_PAIR(BCHAR(((unsigned char) 10)), BNIL);
						BgL_arg1341z00_1435 =
							MAKE_YOUNG_PAIR(BGl_string1833z00zztailc_walkz00,
							BgL_arg1343z00_1436);
					}
					BgL_list1338z00_1434 =
						MAKE_YOUNG_PAIR(BGl_string1834z00zztailc_walkz00,
						BgL_arg1341z00_1435);
				}
				BGl_verbosez00zztools_speekz00(BINT(1L), BgL_list1338z00_1434);
			}
			BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = BINT(0L);
			BGl_za2currentzd2passza2zd2zzengine_passz00 =
				BGl_string1833z00zztailc_walkz00;
			{	/* Tailc/walk.scm 33 */
				obj_t BgL_g1129z00_1437;

				BgL_g1129z00_1437 = BNIL;
				{
					obj_t BgL_hooksz00_1440;
					obj_t BgL_hnamesz00_1441;

					BgL_hooksz00_1440 = BgL_g1129z00_1437;
					BgL_hnamesz00_1441 = BNIL;
				BgL_zc3z04anonymousza31344ze3z87_1442:
					if (NULLP(BgL_hooksz00_1440))
						{	/* Tailc/walk.scm 33 */
							CNST_TABLE_REF(0L);
						}
					else
						{	/* Tailc/walk.scm 33 */
							bool_t BgL_test1890z00_2290;

							{	/* Tailc/walk.scm 33 */
								obj_t BgL_fun1362z00_1449;

								BgL_fun1362z00_1449 = CAR(((obj_t) BgL_hooksz00_1440));
								BgL_test1890z00_2290 =
									CBOOL(
									(VA_PROCEDUREP(BgL_fun1362z00_1449) ? ((obj_t(*)(obj_t,
													...))
											PROCEDURE_ENTRY(BgL_fun1362z00_1449))
										(BgL_fun1362z00_1449,
											BEOA) : ((obj_t(*)(obj_t))
											PROCEDURE_ENTRY(BgL_fun1362z00_1449))
										(BgL_fun1362z00_1449)));
							}
							if (BgL_test1890z00_2290)
								{	/* Tailc/walk.scm 33 */
									obj_t BgL_arg1352z00_1446;
									obj_t BgL_arg1354z00_1447;

									BgL_arg1352z00_1446 = CDR(((obj_t) BgL_hooksz00_1440));
									BgL_arg1354z00_1447 = CDR(((obj_t) BgL_hnamesz00_1441));
									{
										obj_t BgL_hnamesz00_2302;
										obj_t BgL_hooksz00_2301;

										BgL_hooksz00_2301 = BgL_arg1352z00_1446;
										BgL_hnamesz00_2302 = BgL_arg1354z00_1447;
										BgL_hnamesz00_1441 = BgL_hnamesz00_2302;
										BgL_hooksz00_1440 = BgL_hooksz00_2301;
										goto BgL_zc3z04anonymousza31344ze3z87_1442;
									}
								}
							else
								{	/* Tailc/walk.scm 33 */
									obj_t BgL_arg1361z00_1448;

									BgL_arg1361z00_1448 = CAR(((obj_t) BgL_hnamesz00_1441));
									BGl_internalzd2errorzd2zztools_errorz00
										(BGl_string1833z00zztailc_walkz00,
										BGl_string1835z00zztailc_walkz00, BgL_arg1361z00_1448);
								}
						}
				}
			}
			{
				obj_t BgL_l1294z00_1453;

				BgL_l1294z00_1453 = BgL_globalsz00_48;
			BgL_zc3z04anonymousza31364ze3z87_1454:
				if (PAIRP(BgL_l1294z00_1453))
					{	/* Tailc/walk.scm 34 */
						BGl_tailczd2globalzd2zztailc_walkz00(CAR(BgL_l1294z00_1453));
						{
							obj_t BgL_l1294z00_2310;

							BgL_l1294z00_2310 = CDR(BgL_l1294z00_1453);
							BgL_l1294z00_1453 = BgL_l1294z00_2310;
							goto BgL_zc3z04anonymousza31364ze3z87_1454;
						}
					}
				else
					{	/* Tailc/walk.scm 34 */
						((bool_t) 1);
					}
			}
			return BgL_globalsz00_48;
		}

	}



/* &tailc-walk! */
	obj_t BGl_z62tailczd2walkz12za2zztailc_walkz00(obj_t BgL_envz00_2078,
		obj_t BgL_globalsz00_2079)
	{
		{	/* Tailc/walk.scm 32 */
			return BGl_tailczd2walkz12zc0zztailc_walkz00(BgL_globalsz00_2079);
		}

	}



/* tailc-global */
	obj_t BGl_tailczd2globalzd2zztailc_walkz00(obj_t BgL_globalz00_49)
	{
		{	/* Tailc/walk.scm 40 */
			{	/* Tailc/walk.scm 41 */
				obj_t BgL_arg1372z00_1459;

				BgL_arg1372z00_1459 =
					(((BgL_variablez00_bglt) COBJECT(
							((BgL_variablez00_bglt)
								((BgL_globalz00_bglt) BgL_globalz00_49))))->BgL_idz00);
				BGl_enterzd2functionzd2zztools_errorz00(BgL_arg1372z00_1459);
			}
			{	/* Tailc/walk.scm 42 */
				obj_t BgL_callsz00_1460;

				{	/* Tailc/walk.scm 42 */
					obj_t BgL_arg1451z00_1470;

					BgL_arg1451z00_1470 =
						(((BgL_sfunz00_bglt) COBJECT(
								((BgL_sfunz00_bglt)
									(((BgL_variablez00_bglt) COBJECT(
												((BgL_variablez00_bglt)
													((BgL_globalz00_bglt) BgL_globalz00_49))))->
										BgL_valuez00))))->BgL_bodyz00);
					BgL_callsz00_1460 =
						BGl_getzd2tailzd2callsz00zztailc_walkz00(((BgL_nodez00_bglt)
							BgL_arg1451z00_1470), ((BgL_variablez00_bglt) BgL_globalz00_49),
						BNIL);
				}
				if (NULLP(BgL_callsz00_1460))
					{	/* Tailc/walk.scm 43 */
						BFALSE;
					}
				else
					{	/* Tailc/walk.scm 43 */
						{	/* Tailc/walk.scm 44 */
							obj_t BgL_arg1397z00_1462;
							long BgL_arg1407z00_1463;

							BgL_arg1397z00_1462 =
								BGl_shapez00zztools_shapez00(BgL_globalz00_49);
							BgL_arg1407z00_1463 = bgl_list_length(BgL_callsz00_1460);
							{	/* Tailc/walk.scm 44 */
								obj_t BgL_list1408z00_1464;

								{	/* Tailc/walk.scm 44 */
									obj_t BgL_arg1420z00_1465;

									{	/* Tailc/walk.scm 44 */
										obj_t BgL_arg1431z00_1466;

										{	/* Tailc/walk.scm 44 */
											obj_t BgL_arg1436z00_1467;

											{	/* Tailc/walk.scm 44 */
												obj_t BgL_arg1437z00_1468;

												{	/* Tailc/walk.scm 44 */
													obj_t BgL_arg1450z00_1469;

													BgL_arg1450z00_1469 =
														MAKE_YOUNG_PAIR(BCHAR(((unsigned char) 10)), BNIL);
													BgL_arg1437z00_1468 =
														MAKE_YOUNG_PAIR(BGl_string1836z00zztailc_walkz00,
														BgL_arg1450z00_1469);
												}
												BgL_arg1436z00_1467 =
													MAKE_YOUNG_PAIR(BINT(BgL_arg1407z00_1463),
													BgL_arg1437z00_1468);
											}
											BgL_arg1431z00_1466 =
												MAKE_YOUNG_PAIR(BGl_string1837z00zztailc_walkz00,
												BgL_arg1436z00_1467);
										}
										BgL_arg1420z00_1465 =
											MAKE_YOUNG_PAIR(BgL_arg1397z00_1462, BgL_arg1431z00_1466);
									}
									BgL_list1408z00_1464 =
										MAKE_YOUNG_PAIR(BGl_string1838z00zztailc_walkz00,
										BgL_arg1420z00_1465);
								}
								BGl_verbosez00zztools_speekz00(BINT(3L), BgL_list1408z00_1464);
						}}
						BGl_globalzd2ze3localz12z23zztailc_walkz00(BgL_globalz00_49,
							BgL_callsz00_1460);
			}}
			return BGl_leavezd2functionzd2zztools_errorz00();
		}

	}



/* global->local! */
	obj_t BGl_globalzd2ze3localz12z23zztailc_walkz00(obj_t BgL_globalz00_50,
		obj_t BgL_callsz00_51)
	{
		{	/* Tailc/walk.scm 52 */
			{	/* Tailc/walk.scm 53 */
				BgL_valuez00_bglt BgL_gfunz00_1472;

				BgL_gfunz00_1472 =
					(((BgL_variablez00_bglt) COBJECT(
							((BgL_variablez00_bglt)
								((BgL_globalz00_bglt) BgL_globalz00_50))))->BgL_valuez00);
				{	/* Tailc/walk.scm 53 */
					BgL_typez00_bglt BgL_gtypez00_1473;

					BgL_gtypez00_1473 =
						(((BgL_variablez00_bglt) COBJECT(
								((BgL_variablez00_bglt)
									((BgL_globalz00_bglt) BgL_globalz00_50))))->BgL_typez00);
					{	/* Tailc/walk.scm 54 */
						obj_t BgL_lbodyz00_1474;

						BgL_lbodyz00_1474 =
							(((BgL_sfunz00_bglt) COBJECT(
									((BgL_sfunz00_bglt) BgL_gfunz00_1472)))->BgL_bodyz00);
						{	/* Tailc/walk.scm 55 */
							obj_t BgL_largsz00_1475;

							BgL_largsz00_1475 =
								(((BgL_sfunz00_bglt) COBJECT(
										((BgL_sfunz00_bglt) BgL_gfunz00_1472)))->BgL_argsz00);
							{	/* Tailc/walk.scm 56 */
								obj_t BgL_gargsz00_1476;

								if (NULLP(BgL_largsz00_1475))
									{	/* Tailc/walk.scm 57 */
										BgL_gargsz00_1476 = BNIL;
									}
								else
									{	/* Tailc/walk.scm 57 */
										obj_t BgL_head1298z00_1537;

										BgL_head1298z00_1537 = MAKE_YOUNG_PAIR(BNIL, BNIL);
										{
											obj_t BgL_l1296z00_1539;
											obj_t BgL_tail1299z00_1540;

											BgL_l1296z00_1539 = BgL_largsz00_1475;
											BgL_tail1299z00_1540 = BgL_head1298z00_1537;
										BgL_zc3z04anonymousza31548ze3z87_1541:
											if (NULLP(BgL_l1296z00_1539))
												{	/* Tailc/walk.scm 57 */
													BgL_gargsz00_1476 = CDR(BgL_head1298z00_1537);
												}
											else
												{	/* Tailc/walk.scm 57 */
													obj_t BgL_newtail1300z00_1543;

													{	/* Tailc/walk.scm 57 */
														BgL_localz00_bglt BgL_arg1554z00_1545;

														{	/* Tailc/walk.scm 57 */
															obj_t BgL_oldz00_1546;

															BgL_oldz00_1546 =
																CAR(((obj_t) BgL_l1296z00_1539));
															{	/* Tailc/walk.scm 59 */
																BgL_svarz00_bglt BgL_arg1555z00_1547;

																{	/* Tailc/walk.scm 59 */
																	BgL_svarz00_bglt BgL_duplicated1133z00_1548;
																	BgL_svarz00_bglt BgL_new1131z00_1549;

																	BgL_duplicated1133z00_1548 =
																		((BgL_svarz00_bglt)
																		(((BgL_variablez00_bglt) COBJECT(
																					((BgL_variablez00_bglt)
																						((BgL_localz00_bglt)
																							BgL_oldz00_1546))))->
																			BgL_valuez00));
																	{	/* Tailc/walk.scm 59 */
																		BgL_svarz00_bglt BgL_new1135z00_1550;

																		BgL_new1135z00_1550 =
																			((BgL_svarz00_bglt)
																			BOBJECT(GC_MALLOC(sizeof(struct
																						BgL_svarz00_bgl))));
																		{	/* Tailc/walk.scm 59 */
																			long BgL_arg1560z00_1551;

																			BgL_arg1560z00_1551 =
																				BGL_CLASS_NUM(BGl_svarz00zzast_varz00);
																			BGL_OBJECT_CLASS_NUM_SET(
																				((BgL_objectz00_bglt)
																					BgL_new1135z00_1550),
																				BgL_arg1560z00_1551);
																		}
																		{	/* Tailc/walk.scm 59 */
																			BgL_objectz00_bglt BgL_tmpz00_2367;

																			BgL_tmpz00_2367 =
																				((BgL_objectz00_bglt)
																				BgL_new1135z00_1550);
																			BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2367,
																				BFALSE);
																		}
																		((BgL_objectz00_bglt) BgL_new1135z00_1550);
																		BgL_new1131z00_1549 = BgL_new1135z00_1550;
																	}
																	((((BgL_svarz00_bglt)
																				COBJECT(BgL_new1131z00_1549))->
																			BgL_locz00) =
																		((obj_t) (((BgL_svarz00_bglt)
																					COBJECT(BgL_duplicated1133z00_1548))->
																				BgL_locz00)), BUNSPEC);
																	BgL_arg1555z00_1547 = BgL_new1131z00_1549;
																}
																BgL_arg1554z00_1545 =
																	BGl_clonezd2localzd2zzast_localz00(
																	((BgL_localz00_bglt) BgL_oldz00_1546),
																	((BgL_valuez00_bglt) BgL_arg1555z00_1547));
														}}
														BgL_newtail1300z00_1543 =
															MAKE_YOUNG_PAIR(
															((obj_t) BgL_arg1554z00_1545), BNIL);
													}
													SET_CDR(BgL_tail1299z00_1540,
														BgL_newtail1300z00_1543);
													{	/* Tailc/walk.scm 57 */
														obj_t BgL_arg1550z00_1544;

														BgL_arg1550z00_1544 =
															CDR(((obj_t) BgL_l1296z00_1539));
														{
															obj_t BgL_tail1299z00_2382;
															obj_t BgL_l1296z00_2381;

															BgL_l1296z00_2381 = BgL_arg1550z00_1544;
															BgL_tail1299z00_2382 = BgL_newtail1300z00_1543;
															BgL_tail1299z00_1540 = BgL_tail1299z00_2382;
															BgL_l1296z00_1539 = BgL_l1296z00_2381;
															goto BgL_zc3z04anonymousza31548ze3z87_1541;
														}
													}
												}
										}
									}
								{	/* Tailc/walk.scm 57 */
									BgL_sfunz00_bglt BgL_lfunz00_1477;

									{	/* Tailc/walk.scm 62 */
										BgL_sfunz00_bglt BgL_new1136z00_1522;

										{	/* Tailc/walk.scm 63 */
											BgL_sfunz00_bglt BgL_new1149z00_1533;

											BgL_new1149z00_1533 =
												((BgL_sfunz00_bglt) BOBJECT(GC_MALLOC(sizeof(struct
															BgL_sfunz00_bgl))));
											{	/* Tailc/walk.scm 63 */
												long BgL_arg1546z00_1534;

												BgL_arg1546z00_1534 =
													BGL_CLASS_NUM(BGl_sfunz00zzast_varz00);
												BGL_OBJECT_CLASS_NUM_SET(
													((BgL_objectz00_bglt) BgL_new1149z00_1533),
													BgL_arg1546z00_1534);
											}
											{	/* Tailc/walk.scm 63 */
												BgL_objectz00_bglt BgL_tmpz00_2387;

												BgL_tmpz00_2387 =
													((BgL_objectz00_bglt) BgL_new1149z00_1533);
												BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2387, BFALSE);
											}
											((BgL_objectz00_bglt) BgL_new1149z00_1533);
											BgL_new1136z00_1522 = BgL_new1149z00_1533;
										}
										((((BgL_funz00_bglt) COBJECT(
														((BgL_funz00_bglt) BgL_new1136z00_1522)))->
												BgL_arityz00) =
											((long) (((BgL_funz00_bglt)
														COBJECT(((BgL_funz00_bglt) ((BgL_sfunz00_bglt)
																	BgL_gfunz00_1472))))->BgL_arityz00)),
											BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_sidezd2effectzd2) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_sidezd2effectzd2)),
											BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_predicatezd2ofzd2) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_predicatezd2ofzd2)),
											BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->
												BgL_stackzd2allocatorzd2) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_stackzd2allocatorzd2)),
											BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_topzf3zf3) =
											((bool_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_topzf3zf3)), BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_thezd2closurezd2) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_thezd2closurezd2)),
											BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_effectz00) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_effectz00)), BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_failsafez00) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_failsafez00)),
											BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_argszd2noescapezd2) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_argszd2noescapezd2)),
											BUNSPEC);
										((((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
															BgL_new1136z00_1522)))->BgL_argszd2retescapezd2) =
											((obj_t) (((BgL_funz00_bglt) COBJECT(((BgL_funz00_bglt)
																BgL_gfunz00_1472)))->BgL_argszd2retescapezd2)),
											BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_propertyz00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_propertyz00)),
											BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_argsz00) = ((obj_t) BgL_largsz00_1475), BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_argszd2namezd2) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_argszd2namezd2)),
											BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_bodyz00) = ((obj_t) BgL_lbodyz00_1474), BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_classz00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_classz00)),
											BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_dssslzd2keywordszd2) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->
													BgL_dssslzd2keywordszd2)), BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_locz00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_locz00)), BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_optionalsz00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_optionalsz00)),
											BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_keysz00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_keysz00)), BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_thezd2closurezd2globalz00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->
													BgL_thezd2closurezd2globalz00)), BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_strengthz00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_strengthz00)),
											BUNSPEC);
										((((BgL_sfunz00_bglt) COBJECT(BgL_new1136z00_1522))->
												BgL_stackablez00) =
											((obj_t) (((BgL_sfunz00_bglt)
														COBJECT(((BgL_sfunz00_bglt) ((BgL_funz00_bglt)
																	BgL_gfunz00_1472))))->BgL_stackablez00)),
											BUNSPEC);
										BgL_lfunz00_1477 = BgL_new1136z00_1522;
									}
									{	/* Tailc/walk.scm 62 */
										BgL_localz00_bglt BgL_localz00_1478;

										{	/* Tailc/walk.scm 66 */
											obj_t BgL_arg1545z00_1520;

											BgL_arg1545z00_1520 =
												(((BgL_variablez00_bglt) COBJECT(
														((BgL_variablez00_bglt)
															((BgL_globalz00_bglt) BgL_globalz00_50))))->
												BgL_idz00);
											BgL_localz00_1478 =
												BGl_makezd2localzd2sfunz00zzast_localz00
												(BgL_arg1545z00_1520, BgL_gtypez00_1473,
												BgL_lfunz00_1477);
										}
										{	/* Tailc/walk.scm 66 */
											obj_t BgL_locz00_1479;

											BgL_locz00_1479 =
												(((BgL_nodez00_bglt) COBJECT(
														((BgL_nodez00_bglt) BgL_lbodyz00_1474)))->
												BgL_locz00);
											{	/* Tailc/walk.scm 67 */
												BgL_letzd2funzd2_bglt BgL_gbodyz00_1480;

												{	/* Tailc/walk.scm 68 */
													BgL_letzd2funzd2_bglt BgL_new1151z00_1494;

													{	/* Tailc/walk.scm 69 */
														BgL_letzd2funzd2_bglt BgL_new1150z00_1518;

														BgL_new1150z00_1518 =
															((BgL_letzd2funzd2_bglt)
															BOBJECT(GC_MALLOC(sizeof(struct
																		BgL_letzd2funzd2_bgl))));
														{	/* Tailc/walk.scm 69 */
															long BgL_arg1541z00_1519;

															BgL_arg1541z00_1519 =
																BGL_CLASS_NUM(BGl_letzd2funzd2zzast_nodez00);
															BGL_OBJECT_CLASS_NUM_SET(
																((BgL_objectz00_bglt) BgL_new1150z00_1518),
																BgL_arg1541z00_1519);
														}
														{	/* Tailc/walk.scm 69 */
															BgL_objectz00_bglt BgL_tmpz00_2484;

															BgL_tmpz00_2484 =
																((BgL_objectz00_bglt) BgL_new1150z00_1518);
															BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2484, BFALSE);
														}
														((BgL_objectz00_bglt) BgL_new1150z00_1518);
														BgL_new1151z00_1494 = BgL_new1150z00_1518;
													}
													((((BgL_nodez00_bglt) COBJECT(
																	((BgL_nodez00_bglt) BgL_new1151z00_1494)))->
															BgL_locz00) = ((obj_t) BgL_locz00_1479), BUNSPEC);
													((((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
																		BgL_new1151z00_1494)))->BgL_typez00) =
														((BgL_typez00_bglt) BgL_gtypez00_1473), BUNSPEC);
													((((BgL_nodezf2effectzf2_bglt)
																COBJECT(((BgL_nodezf2effectzf2_bglt)
																		BgL_new1151z00_1494)))->
															BgL_sidezd2effectzd2) =
														((obj_t) BUNSPEC), BUNSPEC);
													((((BgL_nodezf2effectzf2_bglt)
																COBJECT(((BgL_nodezf2effectzf2_bglt)
																		BgL_new1151z00_1494)))->BgL_keyz00) =
														((obj_t) BINT(-1L)), BUNSPEC);
													{
														obj_t BgL_auxz00_2497;

														{	/* Tailc/walk.scm 71 */
															obj_t BgL_list1492z00_1495;

															BgL_list1492z00_1495 =
																MAKE_YOUNG_PAIR(
																((obj_t) BgL_localz00_1478), BNIL);
															BgL_auxz00_2497 = BgL_list1492z00_1495;
														}
														((((BgL_letzd2funzd2_bglt)
																	COBJECT(BgL_new1151z00_1494))->
																BgL_localsz00) =
															((obj_t) BgL_auxz00_2497), BUNSPEC);
													}
													{
														BgL_nodez00_bglt BgL_auxz00_2501;

														{	/* Tailc/walk.scm 72 */
															BgL_appz00_bglt BgL_new1153z00_1496;

															{	/* Tailc/walk.scm 73 */
																BgL_appz00_bglt BgL_new1152z00_1516;

																BgL_new1152z00_1516 =
																	((BgL_appz00_bglt)
																	BOBJECT(GC_MALLOC(sizeof(struct
																				BgL_appz00_bgl))));
																{	/* Tailc/walk.scm 73 */
																	long BgL_arg1534z00_1517;

																	{	/* Tailc/walk.scm 73 */
																		obj_t BgL_classz00_1898;

																		BgL_classz00_1898 = BGl_appz00zzast_nodez00;
																		BgL_arg1534z00_1517 =
																			BGL_CLASS_NUM(BgL_classz00_1898);
																	}
																	BGL_OBJECT_CLASS_NUM_SET(
																		((BgL_objectz00_bglt) BgL_new1152z00_1516),
																		BgL_arg1534z00_1517);
																}
																{	/* Tailc/walk.scm 73 */
																	BgL_objectz00_bglt BgL_tmpz00_2506;

																	BgL_tmpz00_2506 =
																		((BgL_objectz00_bglt) BgL_new1152z00_1516);
																	BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2506,
																		BFALSE);
																}
																((BgL_objectz00_bglt) BgL_new1152z00_1516);
																BgL_new1153z00_1496 = BgL_new1152z00_1516;
															}
															((((BgL_nodez00_bglt) COBJECT(
																			((BgL_nodez00_bglt)
																				BgL_new1153z00_1496)))->BgL_locz00) =
																((obj_t) BgL_locz00_1479), BUNSPEC);
															((((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
																				BgL_new1153z00_1496)))->BgL_typez00) =
																((BgL_typez00_bglt) BgL_gtypez00_1473),
																BUNSPEC);
															((((BgL_nodezf2effectzf2_bglt)
																		COBJECT(((BgL_nodezf2effectzf2_bglt)
																				BgL_new1153z00_1496)))->
																	BgL_sidezd2effectzd2) =
																((obj_t) BUNSPEC), BUNSPEC);
															((((BgL_nodezf2effectzf2_bglt)
																		COBJECT(((BgL_nodezf2effectzf2_bglt)
																				BgL_new1153z00_1496)))->BgL_keyz00) =
																((obj_t) BINT(-1L)), BUNSPEC);
															{
																BgL_varz00_bglt BgL_auxz00_2519;

																{	/* Tailc/walk.scm 75 */
																	BgL_refz00_bglt BgL_new1155z00_1497;

																	{	/* Tailc/walk.scm 76 */
																		BgL_refz00_bglt BgL_new1154z00_1498;

																		BgL_new1154z00_1498 =
																			((BgL_refz00_bglt)
																			BOBJECT(GC_MALLOC(sizeof(struct
																						BgL_refz00_bgl))));
																		{	/* Tailc/walk.scm 76 */
																			long BgL_arg1494z00_1499;

																			{	/* Tailc/walk.scm 76 */
																				obj_t BgL_classz00_1902;

																				BgL_classz00_1902 =
																					BGl_refz00zzast_nodez00;
																				BgL_arg1494z00_1499 =
																					BGL_CLASS_NUM(BgL_classz00_1902);
																			}
																			BGL_OBJECT_CLASS_NUM_SET(
																				((BgL_objectz00_bglt)
																					BgL_new1154z00_1498),
																				BgL_arg1494z00_1499);
																		}
																		{	/* Tailc/walk.scm 76 */
																			BgL_objectz00_bglt BgL_tmpz00_2524;

																			BgL_tmpz00_2524 =
																				((BgL_objectz00_bglt)
																				BgL_new1154z00_1498);
																			BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2524,
																				BFALSE);
																		}
																		((BgL_objectz00_bglt) BgL_new1154z00_1498);
																		BgL_new1155z00_1497 = BgL_new1154z00_1498;
																	}
																	((((BgL_nodez00_bglt) COBJECT(
																					((BgL_nodez00_bglt)
																						BgL_new1155z00_1497)))->
																			BgL_locz00) =
																		((obj_t) BgL_locz00_1479), BUNSPEC);
																	((((BgL_nodez00_bglt)
																				COBJECT(((BgL_nodez00_bglt)
																						BgL_new1155z00_1497)))->
																			BgL_typez00) =
																		((BgL_typez00_bglt) BgL_gtypez00_1473),
																		BUNSPEC);
																	((((BgL_varz00_bglt)
																				COBJECT(((BgL_varz00_bglt)
																						BgL_new1155z00_1497)))->
																			BgL_variablez00) =
																		((BgL_variablez00_bglt) (
																				(BgL_variablez00_bglt)
																				BgL_localz00_1478)), BUNSPEC);
																	BgL_auxz00_2519 =
																		((BgL_varz00_bglt) BgL_new1155z00_1497);
																}
																((((BgL_appz00_bglt)
																			COBJECT(BgL_new1153z00_1496))->
																		BgL_funz00) =
																	((BgL_varz00_bglt) BgL_auxz00_2519), BUNSPEC);
															}
															{
																obj_t BgL_auxz00_2537;

																if (NULLP(BgL_gargsz00_1476))
																	{	/* Tailc/walk.scm 79 */
																		BgL_auxz00_2537 = BNIL;
																	}
																else
																	{	/* Tailc/walk.scm 79 */
																		obj_t BgL_head1303z00_1502;

																		BgL_head1303z00_1502 =
																			MAKE_YOUNG_PAIR(BNIL, BNIL);
																		{
																			obj_t BgL_l1301z00_1504;
																			obj_t BgL_tail1304z00_1505;

																			BgL_l1301z00_1504 = BgL_gargsz00_1476;
																			BgL_tail1304z00_1505 =
																				BgL_head1303z00_1502;
																		BgL_zc3z04anonymousza31496ze3z87_1506:
																			if (NULLP(BgL_l1301z00_1504))
																				{	/* Tailc/walk.scm 79 */
																					BgL_auxz00_2537 =
																						CDR(BgL_head1303z00_1502);
																				}
																			else
																				{	/* Tailc/walk.scm 79 */
																					obj_t BgL_newtail1305z00_1508;

																					{	/* Tailc/walk.scm 79 */
																						BgL_refz00_bglt BgL_arg1528z00_1510;

																						{	/* Tailc/walk.scm 79 */
																							obj_t BgL_vz00_1511;

																							BgL_vz00_1511 =
																								CAR(
																								((obj_t) BgL_l1301z00_1504));
																							{	/* Tailc/walk.scm 80 */
																								BgL_refz00_bglt
																									BgL_new1158z00_1512;
																								{	/* Tailc/walk.scm 83 */
																									BgL_refz00_bglt
																										BgL_new1156z00_1513;
																									BgL_new1156z00_1513 =
																										((BgL_refz00_bglt)
																										BOBJECT(GC_MALLOC(sizeof
																												(struct
																													BgL_refz00_bgl))));
																									{	/* Tailc/walk.scm 83 */
																										long BgL_arg1532z00_1514;

																										{	/* Tailc/walk.scm 83 */
																											obj_t BgL_classz00_1908;

																											BgL_classz00_1908 =
																												BGl_refz00zzast_nodez00;
																											BgL_arg1532z00_1514 =
																												BGL_CLASS_NUM
																												(BgL_classz00_1908);
																										}
																										BGL_OBJECT_CLASS_NUM_SET(
																											((BgL_objectz00_bglt)
																												BgL_new1156z00_1513),
																											BgL_arg1532z00_1514);
																									}
																									{	/* Tailc/walk.scm 83 */
																										BgL_objectz00_bglt
																											BgL_tmpz00_2550;
																										BgL_tmpz00_2550 =
																											((BgL_objectz00_bglt)
																											BgL_new1156z00_1513);
																										BGL_OBJECT_WIDENING_SET
																											(BgL_tmpz00_2550, BFALSE);
																									}
																									((BgL_objectz00_bglt)
																										BgL_new1156z00_1513);
																									BgL_new1158z00_1512 =
																										BgL_new1156z00_1513;
																								}
																								((((BgL_nodez00_bglt) COBJECT(
																												((BgL_nodez00_bglt)
																													BgL_new1158z00_1512)))->
																										BgL_locz00) =
																									((obj_t) BgL_locz00_1479),
																									BUNSPEC);
																								((((BgL_nodez00_bglt)
																											COBJECT((
																													(BgL_nodez00_bglt)
																													BgL_new1158z00_1512)))->
																										BgL_typez00) =
																									((BgL_typez00_bglt) ((
																												(BgL_variablez00_bglt)
																												COBJECT((
																														(BgL_variablez00_bglt)
																														((BgL_localz00_bglt)
																															BgL_vz00_1511))))->
																											BgL_typez00)), BUNSPEC);
																								((((BgL_varz00_bglt)
																											COBJECT(((BgL_varz00_bglt)
																													BgL_new1158z00_1512)))->
																										BgL_variablez00) =
																									((BgL_variablez00_bglt) (
																											(BgL_variablez00_bglt)
																											BgL_vz00_1511)), BUNSPEC);
																								BgL_arg1528z00_1510 =
																									BgL_new1158z00_1512;
																						}}
																						BgL_newtail1305z00_1508 =
																							MAKE_YOUNG_PAIR(
																							((obj_t) BgL_arg1528z00_1510),
																							BNIL);
																					}
																					SET_CDR(BgL_tail1304z00_1505,
																						BgL_newtail1305z00_1508);
																					{	/* Tailc/walk.scm 79 */
																						obj_t BgL_arg1519z00_1509;

																						BgL_arg1519z00_1509 =
																							CDR(((obj_t) BgL_l1301z00_1504));
																						{
																							obj_t BgL_tail1304z00_2570;
																							obj_t BgL_l1301z00_2569;

																							BgL_l1301z00_2569 =
																								BgL_arg1519z00_1509;
																							BgL_tail1304z00_2570 =
																								BgL_newtail1305z00_1508;
																							BgL_tail1304z00_1505 =
																								BgL_tail1304z00_2570;
																							BgL_l1301z00_1504 =
																								BgL_l1301z00_2569;
																							goto
																								BgL_zc3z04anonymousza31496ze3z87_1506;
																						}
																					}
																				}
																		}
																	}
																((((BgL_appz00_bglt)
																			COBJECT(BgL_new1153z00_1496))->
																		BgL_argsz00) =
																	((obj_t) BgL_auxz00_2537), BUNSPEC);
															}
															((((BgL_appz00_bglt)
																		COBJECT(BgL_new1153z00_1496))->
																	BgL_stackablez00) =
																((obj_t) BFALSE), BUNSPEC);
															BgL_auxz00_2501 =
																((BgL_nodez00_bglt) BgL_new1153z00_1496);
														}
														((((BgL_letzd2funzd2_bglt)
																	COBJECT(BgL_new1151z00_1494))->BgL_bodyz00) =
															((BgL_nodez00_bglt) BgL_auxz00_2501), BUNSPEC);
													}
													BgL_gbodyz00_1480 = BgL_new1151z00_1494;
												}
												{	/* Tailc/walk.scm 68 */

													((((BgL_sfunz00_bglt) COBJECT(
																	((BgL_sfunz00_bglt) BgL_gfunz00_1472)))->
															BgL_argsz00) =
														((obj_t) BgL_gargsz00_1476), BUNSPEC);
													((((BgL_sfunz00_bglt) COBJECT(((BgL_sfunz00_bglt)
																		BgL_gfunz00_1472)))->BgL_bodyz00) =
														((obj_t) ((obj_t) BgL_gbodyz00_1480)), BUNSPEC);
													{
														obj_t BgL_l1306z00_1482;

														BgL_l1306z00_1482 = BgL_callsz00_51;
													BgL_zc3z04anonymousza31453ze3z87_1483:
														if (PAIRP(BgL_l1306z00_1482))
															{	/* Tailc/walk.scm 89 */
																{	/* Tailc/walk.scm 90 */
																	obj_t BgL_callz00_1485;

																	BgL_callz00_1485 = CAR(BgL_l1306z00_1482);
																	{	/* Tailc/walk.scm 90 */
																		obj_t BgL_locz00_1486;

																		BgL_locz00_1486 =
																			(((BgL_nodez00_bglt) COBJECT(
																					((BgL_nodez00_bglt)
																						BgL_callz00_1485)))->BgL_locz00);
																		{	/* Tailc/walk.scm 90 */
																			BgL_refz00_bglt BgL_varz00_1487;

																			{	/* Tailc/walk.scm 91 */
																				BgL_refz00_bglt BgL_new1160z00_1489;

																				{	/* Tailc/walk.scm 94 */
																					BgL_refz00_bglt BgL_new1159z00_1490;

																					BgL_new1159z00_1490 =
																						((BgL_refz00_bglt)
																						BOBJECT(GC_MALLOC(sizeof(struct
																									BgL_refz00_bgl))));
																					{	/* Tailc/walk.scm 94 */
																						long BgL_arg1479z00_1491;

																						BgL_arg1479z00_1491 =
																							BGL_CLASS_NUM
																							(BGl_refz00zzast_nodez00);
																						BGL_OBJECT_CLASS_NUM_SET((
																								(BgL_objectz00_bglt)
																								BgL_new1159z00_1490),
																							BgL_arg1479z00_1491);
																					}
																					{	/* Tailc/walk.scm 94 */
																						BgL_objectz00_bglt BgL_tmpz00_2589;

																						BgL_tmpz00_2589 =
																							((BgL_objectz00_bglt)
																							BgL_new1159z00_1490);
																						BGL_OBJECT_WIDENING_SET
																							(BgL_tmpz00_2589, BFALSE);
																					}
																					((BgL_objectz00_bglt)
																						BgL_new1159z00_1490);
																					BgL_new1160z00_1489 =
																						BgL_new1159z00_1490;
																				}
																				((((BgL_nodez00_bglt) COBJECT(
																								((BgL_nodez00_bglt)
																									BgL_new1160z00_1489)))->
																						BgL_locz00) =
																					((obj_t) BgL_locz00_1486), BUNSPEC);
																				((((BgL_nodez00_bglt)
																							COBJECT(((BgL_nodez00_bglt)
																									BgL_new1160z00_1489)))->
																						BgL_typez00) =
																					((BgL_typez00_bglt) ((
																								(BgL_variablez00_bglt)
																								COBJECT(((BgL_variablez00_bglt)
																										BgL_localz00_1478)))->
																							BgL_typez00)), BUNSPEC);
																				((((BgL_varz00_bglt)
																							COBJECT(((BgL_varz00_bglt)
																									BgL_new1160z00_1489)))->
																						BgL_variablez00) =
																					((BgL_variablez00_bglt) (
																							(BgL_variablez00_bglt)
																							BgL_localz00_1478)), BUNSPEC);
																				BgL_varz00_1487 = BgL_new1160z00_1489;
																			}
																			{	/* Tailc/walk.scm 91 */

																				((((BgL_appz00_bglt) COBJECT(
																								((BgL_appz00_bglt)
																									BgL_callz00_1485)))->
																						BgL_funz00) =
																					((BgL_varz00_bglt) ((BgL_varz00_bglt)
																							BgL_varz00_1487)), BUNSPEC);
																}}}}
																{
																	obj_t BgL_l1306z00_2605;

																	BgL_l1306z00_2605 = CDR(BgL_l1306z00_1482);
																	BgL_l1306z00_1482 = BgL_l1306z00_2605;
																	goto BgL_zc3z04anonymousza31453ze3z87_1483;
																}
															}
														else
															{	/* Tailc/walk.scm 89 */
																((bool_t) 1);
															}
													}
													return BGl_funz00zzast_varz00;
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			{	/* Tailc/walk.scm 26 */
				obj_t BgL_arg1576z00_1557;
				obj_t BgL_arg1578z00_1558;

				{	/* Tailc/walk.scm 26 */
					obj_t BgL_v1308z00_1592;

					BgL_v1308z00_1592 = create_vector(0L);
					BgL_arg1576z00_1557 = BgL_v1308z00_1592;
				}
				{	/* Tailc/walk.scm 26 */
					obj_t BgL_v1309z00_1593;

					BgL_v1309z00_1593 = create_vector(0L);
					BgL_arg1578z00_1558 = BgL_v1309z00_1593;
				}
				return (BGl_localzd2tailzd2zztailc_walkz00 =
					BGl_registerzd2classz12zc0zz__objectz00(CNST_TABLE_REF(1L),
						CNST_TABLE_REF(2L), BGl_localz00zzast_varz00, 43644L,
						BGl_proc1842z00zztailc_walkz00, BGl_proc1841z00zztailc_walkz00,
						BFALSE, BGl_proc1840z00zztailc_walkz00,
						BGl_proc1839z00zztailc_walkz00, BgL_arg1576z00_1557,
						BgL_arg1578z00_1558), BUNSPEC);
			}
		}

	}



/* &lambda1592 */
	BgL_localz00_bglt BGl_z62lambda1592z62zztailc_walkz00(obj_t BgL_envz00_2084,
		obj_t BgL_o1120z00_2085)
	{
		{	/* Tailc/walk.scm 26 */
			{	/* Tailc/walk.scm 26 */
				long BgL_arg1595z00_2165;

				{	/* Tailc/walk.scm 26 */
					obj_t BgL_arg1597z00_2166;

					{	/* Tailc/walk.scm 26 */
						obj_t BgL_arg1598z00_2167;

						{	/* Tailc/walk.scm 26 */
							long BgL_arg1808z00_2168;

							{	/* Tailc/walk.scm 26 */
								long BgL_arg1809z00_2169;

								BgL_arg1809z00_2169 =
									BGL_OBJECT_CLASS_NUM(
									((BgL_objectz00_bglt)
										((BgL_localz00_bglt) BgL_o1120z00_2085)));
								BgL_arg1808z00_2168 = (BgL_arg1809z00_2169 - OBJECT_TYPE);
							}
							BgL_arg1598z00_2167 =
								VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
								BgL_arg1808z00_2168);
						}
						BgL_arg1597z00_2166 =
							BGl_classzd2superzd2zz__objectz00(BgL_arg1598z00_2167);
					}
					{	/* Tailc/walk.scm 26 */
						obj_t BgL_tmpz00_2618;

						BgL_tmpz00_2618 = ((obj_t) BgL_arg1597z00_2166);
						BgL_arg1595z00_2165 = BGL_CLASS_NUM(BgL_tmpz00_2618);
				}}
				BGL_OBJECT_CLASS_NUM_SET(
					((BgL_objectz00_bglt)
						((BgL_localz00_bglt) BgL_o1120z00_2085)), BgL_arg1595z00_2165);
			}
			{	/* Tailc/walk.scm 26 */
				BgL_objectz00_bglt BgL_tmpz00_2624;

				BgL_tmpz00_2624 =
					((BgL_objectz00_bglt) ((BgL_localz00_bglt) BgL_o1120z00_2085));
				BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2624, BFALSE);
			}
			((BgL_objectz00_bglt) ((BgL_localz00_bglt) BgL_o1120z00_2085));
			return ((BgL_localz00_bglt) ((BgL_localz00_bglt) BgL_o1120z00_2085));
		}

	}



/* &<@anonymous:1591> */
	obj_t BGl_z62zc3z04anonymousza31591ze3ze5zztailc_walkz00(obj_t
		BgL_envz00_2086, obj_t BgL_new1119z00_2087)
	{
		{	/* Tailc/walk.scm 26 */
			{
				BgL_localz00_bglt BgL_auxz00_2632;

				((((BgL_variablez00_bglt) COBJECT(
								((BgL_variablez00_bglt)
									((BgL_localz00_bglt) BgL_new1119z00_2087))))->BgL_idz00) =
					((obj_t) CNST_TABLE_REF(3L)), BUNSPEC);
				((((BgL_variablez00_bglt)
							COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_namez00) =
					((obj_t) BUNSPEC), BUNSPEC);
				{
					BgL_typez00_bglt BgL_auxz00_2640;

					{	/* Tailc/walk.scm 26 */
						obj_t BgL_classz00_2171;

						BgL_classz00_2171 = BGl_typez00zztype_typez00;
						{	/* Tailc/walk.scm 26 */
							obj_t BgL__ortest_1117z00_2172;

							BgL__ortest_1117z00_2172 = BGL_CLASS_NIL(BgL_classz00_2171);
							if (CBOOL(BgL__ortest_1117z00_2172))
								{	/* Tailc/walk.scm 26 */
									BgL_auxz00_2640 =
										((BgL_typez00_bglt) BgL__ortest_1117z00_2172);
								}
							else
								{	/* Tailc/walk.scm 26 */
									BgL_auxz00_2640 =
										((BgL_typez00_bglt)
										BGl_classzd2nilzd2initz12z12zz__objectz00
										(BgL_classz00_2171));
								}
						}
					}
					((((BgL_variablez00_bglt) COBJECT(
									((BgL_variablez00_bglt)
										((BgL_localz00_bglt) BgL_new1119z00_2087))))->BgL_typez00) =
						((BgL_typez00_bglt) BgL_auxz00_2640), BUNSPEC);
				}
				{
					BgL_valuez00_bglt BgL_auxz00_2650;

					{	/* Tailc/walk.scm 26 */
						obj_t BgL_classz00_2173;

						BgL_classz00_2173 = BGl_valuez00zzast_varz00;
						{	/* Tailc/walk.scm 26 */
							obj_t BgL__ortest_1117z00_2174;

							BgL__ortest_1117z00_2174 = BGL_CLASS_NIL(BgL_classz00_2173);
							if (CBOOL(BgL__ortest_1117z00_2174))
								{	/* Tailc/walk.scm 26 */
									BgL_auxz00_2650 =
										((BgL_valuez00_bglt) BgL__ortest_1117z00_2174);
								}
							else
								{	/* Tailc/walk.scm 26 */
									BgL_auxz00_2650 =
										((BgL_valuez00_bglt)
										BGl_classzd2nilzd2initz12z12zz__objectz00
										(BgL_classz00_2173));
								}
						}
					}
					((((BgL_variablez00_bglt) COBJECT(
									((BgL_variablez00_bglt)
										((BgL_localz00_bglt) BgL_new1119z00_2087))))->
							BgL_valuez00) = ((BgL_valuez00_bglt) BgL_auxz00_2650), BUNSPEC);
				}
				((((BgL_variablez00_bglt) COBJECT(
								((BgL_variablez00_bglt)
									((BgL_localz00_bglt) BgL_new1119z00_2087))))->BgL_accessz00) =
					((obj_t) BUNSPEC), BUNSPEC);
				((((BgL_variablez00_bglt)
							COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_fastzd2alphazd2) =
					((obj_t) BUNSPEC), BUNSPEC);
				((((BgL_variablez00_bglt)
							COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_removablez00) =
					((obj_t) BUNSPEC), BUNSPEC);
				((((BgL_variablez00_bglt)
							COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_occurrencez00) =
					((long) 0L), BUNSPEC);
				((((BgL_variablez00_bglt)
							COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_occurrencewz00) =
					((long) 0L), BUNSPEC);
				((((BgL_variablez00_bglt)
							COBJECT(((BgL_variablez00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_userzf3zf3) =
					((bool_t) ((bool_t) 0)), BUNSPEC);
				((((BgL_localz00_bglt) COBJECT(((BgL_localz00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_keyz00) =
					((long) 0L), BUNSPEC);
				((((BgL_localz00_bglt) COBJECT(((BgL_localz00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_valzd2noescapezd2) =
					((obj_t) BUNSPEC), BUNSPEC);
				((((BgL_localz00_bglt) COBJECT(((BgL_localz00_bglt) ((BgL_localz00_bglt)
										BgL_new1119z00_2087))))->BgL_volatilez00) =
					((bool_t) ((bool_t) 0)), BUNSPEC);
				BgL_auxz00_2632 = ((BgL_localz00_bglt) BgL_new1119z00_2087);
				return ((obj_t) BgL_auxz00_2632);
			}
		}

	}



/* &lambda1587 */
	BgL_localz00_bglt BGl_z62lambda1587z62zztailc_walkz00(obj_t BgL_envz00_2088,
		obj_t BgL_o1116z00_2089)
	{
		{	/* Tailc/walk.scm 26 */
			{	/* Tailc/walk.scm 26 */
				BgL_localzd2tailzd2_bglt BgL_wide1118z00_2176;

				BgL_wide1118z00_2176 =
					((BgL_localzd2tailzd2_bglt) BOBJECT(GC_MALLOC(sizeof(struct
								BgL_localzd2tailzd2_bgl))));
				{	/* Tailc/walk.scm 26 */
					obj_t BgL_auxz00_2694;
					BgL_objectz00_bglt BgL_tmpz00_2690;

					BgL_auxz00_2694 = ((obj_t) BgL_wide1118z00_2176);
					BgL_tmpz00_2690 =
						((BgL_objectz00_bglt)
						((BgL_localz00_bglt) ((BgL_localz00_bglt) BgL_o1116z00_2089)));
					BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2690, BgL_auxz00_2694);
				}
				((BgL_objectz00_bglt)
					((BgL_localz00_bglt) ((BgL_localz00_bglt) BgL_o1116z00_2089)));
				{	/* Tailc/walk.scm 26 */
					long BgL_arg1590z00_2177;

					BgL_arg1590z00_2177 =
						BGL_CLASS_NUM(BGl_localzd2tailzd2zztailc_walkz00);
					BGL_OBJECT_CLASS_NUM_SET(
						((BgL_objectz00_bglt)
							((BgL_localz00_bglt)
								((BgL_localz00_bglt) BgL_o1116z00_2089))), BgL_arg1590z00_2177);
				}
				return
					((BgL_localz00_bglt)
					((BgL_localz00_bglt) ((BgL_localz00_bglt) BgL_o1116z00_2089)));
			}
		}

	}



/* &lambda1579 */
	BgL_localz00_bglt BGl_z62lambda1579z62zztailc_walkz00(obj_t BgL_envz00_2090,
		obj_t BgL_id1103z00_2091, obj_t BgL_name1104z00_2092,
		obj_t BgL_type1105z00_2093, obj_t BgL_value1106z00_2094,
		obj_t BgL_access1107z00_2095, obj_t BgL_fastzd2alpha1108zd2_2096,
		obj_t BgL_removable1109z00_2097, obj_t BgL_occurrence1110z00_2098,
		obj_t BgL_occurrencew1111z00_2099, obj_t BgL_userzf31112zf3_2100,
		obj_t BgL_key1113z00_2101, obj_t BgL_valzd2noescape1114zd2_2102,
		obj_t BgL_volatile1115z00_2103)
	{
		{	/* Tailc/walk.scm 26 */
			{	/* Tailc/walk.scm 26 */
				long BgL_occurrence1110z00_2181;
				long BgL_occurrencew1111z00_2182;
				bool_t BgL_userzf31112zf3_2183;
				long BgL_key1113z00_2184;
				bool_t BgL_volatile1115z00_2185;

				BgL_occurrence1110z00_2181 = (long) CINT(BgL_occurrence1110z00_2098);
				BgL_occurrencew1111z00_2182 = (long) CINT(BgL_occurrencew1111z00_2099);
				BgL_userzf31112zf3_2183 = CBOOL(BgL_userzf31112zf3_2100);
				BgL_key1113z00_2184 = (long) CINT(BgL_key1113z00_2101);
				BgL_volatile1115z00_2185 = CBOOL(BgL_volatile1115z00_2103);
				{	/* Tailc/walk.scm 26 */
					BgL_localz00_bglt BgL_new1177z00_2186;

					{	/* Tailc/walk.scm 26 */
						BgL_localz00_bglt BgL_tmp1175z00_2187;
						BgL_localzd2tailzd2_bglt BgL_wide1176z00_2188;

						{
							BgL_localz00_bglt BgL_auxz00_2713;

							{	/* Tailc/walk.scm 26 */
								BgL_localz00_bglt BgL_new1174z00_2189;

								BgL_new1174z00_2189 =
									((BgL_localz00_bglt) BOBJECT(GC_MALLOC(sizeof(struct
												BgL_localz00_bgl))));
								{	/* Tailc/walk.scm 26 */
									long BgL_arg1586z00_2190;

									BgL_arg1586z00_2190 = BGL_CLASS_NUM(BGl_localz00zzast_varz00);
									BGL_OBJECT_CLASS_NUM_SET(
										((BgL_objectz00_bglt) BgL_new1174z00_2189),
										BgL_arg1586z00_2190);
								}
								{	/* Tailc/walk.scm 26 */
									BgL_objectz00_bglt BgL_tmpz00_2718;

									BgL_tmpz00_2718 = ((BgL_objectz00_bglt) BgL_new1174z00_2189);
									BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2718, BFALSE);
								}
								((BgL_objectz00_bglt) BgL_new1174z00_2189);
								BgL_auxz00_2713 = BgL_new1174z00_2189;
							}
							BgL_tmp1175z00_2187 = ((BgL_localz00_bglt) BgL_auxz00_2713);
						}
						BgL_wide1176z00_2188 =
							((BgL_localzd2tailzd2_bglt) BOBJECT(GC_MALLOC(sizeof(struct
										BgL_localzd2tailzd2_bgl))));
						{	/* Tailc/walk.scm 26 */
							obj_t BgL_auxz00_2726;
							BgL_objectz00_bglt BgL_tmpz00_2724;

							BgL_auxz00_2726 = ((obj_t) BgL_wide1176z00_2188);
							BgL_tmpz00_2724 = ((BgL_objectz00_bglt) BgL_tmp1175z00_2187);
							BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2724, BgL_auxz00_2726);
						}
						((BgL_objectz00_bglt) BgL_tmp1175z00_2187);
						{	/* Tailc/walk.scm 26 */
							long BgL_arg1581z00_2191;

							BgL_arg1581z00_2191 =
								BGL_CLASS_NUM(BGl_localzd2tailzd2zztailc_walkz00);
							BGL_OBJECT_CLASS_NUM_SET(
								((BgL_objectz00_bglt) BgL_tmp1175z00_2187),
								BgL_arg1581z00_2191);
						}
						BgL_new1177z00_2186 = ((BgL_localz00_bglt) BgL_tmp1175z00_2187);
					}
					((((BgL_variablez00_bglt) COBJECT(
									((BgL_variablez00_bglt) BgL_new1177z00_2186)))->BgL_idz00) =
						((obj_t) ((obj_t) BgL_id1103z00_2091)), BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_namez00) =
						((obj_t) BgL_name1104z00_2092), BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_typez00) =
						((BgL_typez00_bglt) ((BgL_typez00_bglt) BgL_type1105z00_2093)),
						BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_valuez00) =
						((BgL_valuez00_bglt) ((BgL_valuez00_bglt) BgL_value1106z00_2094)),
						BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_accessz00) =
						((obj_t) BgL_access1107z00_2095), BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_fastzd2alphazd2) =
						((obj_t) BgL_fastzd2alpha1108zd2_2096), BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_removablez00) =
						((obj_t) BgL_removable1109z00_2097), BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_occurrencez00) =
						((long) BgL_occurrence1110z00_2181), BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_occurrencewz00) =
						((long) BgL_occurrencew1111z00_2182), BUNSPEC);
					((((BgL_variablez00_bglt) COBJECT(((BgL_variablez00_bglt)
										BgL_new1177z00_2186)))->BgL_userzf3zf3) =
						((bool_t) BgL_userzf31112zf3_2183), BUNSPEC);
					((((BgL_localz00_bglt) COBJECT(((BgL_localz00_bglt)
										BgL_new1177z00_2186)))->BgL_keyz00) =
						((long) BgL_key1113z00_2184), BUNSPEC);
					((((BgL_localz00_bglt) COBJECT(((BgL_localz00_bglt)
										BgL_new1177z00_2186)))->BgL_valzd2noescapezd2) =
						((obj_t) BgL_valzd2noescape1114zd2_2102), BUNSPEC);
					((((BgL_localz00_bglt) COBJECT(((BgL_localz00_bglt)
										BgL_new1177z00_2186)))->BgL_volatilez00) =
						((bool_t) BgL_volatile1115z00_2185), BUNSPEC);
					return BgL_new1177z00_2186;
				}
			}
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			return
				BGl_registerzd2genericz12zc0zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_proc1843z00zztailc_walkz00, BGl_nodez00zzast_nodez00,
				BGl_string1844z00zztailc_walkz00);
		}

	}



/* &get-tail-calls1310 */
	obj_t BGl_z62getzd2tailzd2calls1310z62zztailc_walkz00(obj_t BgL_envz00_2105,
		obj_t BgL_nz00_2106, obj_t BgL_hz00_2107, obj_t BgL_tailsz00_2108)
	{
		{	/* Tailc/walk.scm 106 */
			return ((obj_t) BgL_tailsz00_2108);
		}

	}



/* get-tail-calls */
	obj_t BGl_getzd2tailzd2callsz00zztailc_walkz00(BgL_nodez00_bglt BgL_nz00_52,
		BgL_variablez00_bglt BgL_hz00_53, obj_t BgL_tailsz00_54)
	{
		{	/* Tailc/walk.scm 106 */
			{	/* Tailc/walk.scm 106 */
				obj_t BgL_method1311z00_1604;

				{	/* Tailc/walk.scm 106 */
					obj_t BgL_res1830z00_1983;

					{	/* Tailc/walk.scm 106 */
						long BgL_objzd2classzd2numz00_1954;

						BgL_objzd2classzd2numz00_1954 =
							BGL_OBJECT_CLASS_NUM(((BgL_objectz00_bglt) BgL_nz00_52));
						{	/* Tailc/walk.scm 106 */
							obj_t BgL_arg1805z00_1955;

							BgL_arg1805z00_1955 =
								PROCEDURE_REF(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
								(int) (1L));
							{	/* Tailc/walk.scm 106 */
								int BgL_offsetz00_1958;

								BgL_offsetz00_1958 = (int) (BgL_objzd2classzd2numz00_1954);
								{	/* Tailc/walk.scm 106 */
									long BgL_offsetz00_1959;

									BgL_offsetz00_1959 =
										((long) (BgL_offsetz00_1958) - OBJECT_TYPE);
									{	/* Tailc/walk.scm 106 */
										long BgL_modz00_1960;

										BgL_modz00_1960 =
											(BgL_offsetz00_1959 >> (int) ((long) ((int) (4L))));
										{	/* Tailc/walk.scm 106 */
											long BgL_restz00_1962;

											BgL_restz00_1962 =
												(BgL_offsetz00_1959 &
												(long) (
													(int) (
														((long) (
																(int) (
																	(1L <<
																		(int) ((long) ((int) (4L)))))) - 1L))));
											{	/* Tailc/walk.scm 106 */

												{	/* Tailc/walk.scm 106 */
													obj_t BgL_bucketz00_1964;

													BgL_bucketz00_1964 =
														VECTOR_REF(
														((obj_t) BgL_arg1805z00_1955), BgL_modz00_1960);
													BgL_res1830z00_1983 =
														VECTOR_REF(
														((obj_t) BgL_bucketz00_1964), BgL_restz00_1962);
					}}}}}}}}
					BgL_method1311z00_1604 = BgL_res1830z00_1983;
				}
				return
					(VA_PROCEDUREP(BgL_method1311z00_1604) ? ((obj_t(*)(obj_t,
								...))
						PROCEDURE_ENTRY(BgL_method1311z00_1604)) (BgL_method1311z00_1604,
						((obj_t) BgL_nz00_52), ((obj_t) BgL_hz00_53), BgL_tailsz00_54,
						BEOA) : ((obj_t(*)(obj_t, obj_t, obj_t,
								obj_t))
						PROCEDURE_ENTRY(BgL_method1311z00_1604)) (BgL_method1311z00_1604,
						((obj_t) BgL_nz00_52), ((obj_t) BgL_hz00_53), BgL_tailsz00_54));
			}
		}

	}



/* &get-tail-calls */
	obj_t BGl_z62getzd2tailzd2callsz62zztailc_walkz00(obj_t BgL_envz00_2109,
		obj_t BgL_nz00_2110, obj_t BgL_hz00_2111, obj_t BgL_tailsz00_2112)
	{
		{	/* Tailc/walk.scm 106 */
			return
				BGl_getzd2tailzd2callsz00zztailc_walkz00(
				((BgL_nodez00_bglt) BgL_nz00_2110),
				((BgL_variablez00_bglt) BgL_hz00_2111), BgL_tailsz00_2112);
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_closurez00zzast_nodez00, BGl_proc1845z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_sequencez00zzast_nodez00, BGl_proc1847z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_syncz00zzast_nodez00, BGl_proc1848z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_appz00zzast_nodez00, BGl_proc1849z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_conditionalz00zzast_nodez00, BGl_proc1850z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_switchz00zzast_nodez00, BGl_proc1851z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_letzd2funzd2zzast_nodez00, BGl_proc1852z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
			return
				BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_getzd2tailzd2callszd2envzd2zztailc_walkz00,
				BGl_letzd2varzd2zzast_nodez00, BGl_proc1853z00zztailc_walkz00,
				BGl_string1846z00zztailc_walkz00);
		}

	}



/* &get-tail-calls-let-v1327 */
	obj_t BGl_z62getzd2tailzd2callszd2letzd2v1327z62zztailc_walkz00(obj_t
		BgL_envz00_2121, obj_t BgL_nodez00_2122, obj_t BgL_hostz00_2123,
		obj_t BgL_tailsz00_2124)
	{
		{	/* Tailc/walk.scm 179 */
			{	/* Tailc/walk.scm 181 */
				BgL_nodez00_bglt BgL_arg1678z00_2196;

				BgL_arg1678z00_2196 =
					(((BgL_letzd2varzd2_bglt) COBJECT(
							((BgL_letzd2varzd2_bglt) BgL_nodez00_2122)))->BgL_bodyz00);
				return
					BGl_getzd2tailzd2callsz00zztailc_walkz00(BgL_arg1678z00_2196,
					((BgL_variablez00_bglt) BgL_hostz00_2123), BgL_tailsz00_2124);
			}
		}

	}



/* &get-tail-calls-let-f1325 */
	obj_t BGl_z62getzd2tailzd2callszd2letzd2f1325z62zztailc_walkz00(obj_t
		BgL_envz00_2125, obj_t BgL_nodez00_2126, obj_t BgL_hostz00_2127,
		obj_t BgL_tailsz00_2128)
	{
		{	/* Tailc/walk.scm 169 */
			{	/* Tailc/walk.scm 174 */
				BgL_nodez00_bglt BgL_arg1675z00_2198;

				BgL_arg1675z00_2198 =
					(((BgL_letzd2funzd2_bglt) COBJECT(
							((BgL_letzd2funzd2_bglt) BgL_nodez00_2126)))->BgL_bodyz00);
				return
					BGl_getzd2tailzd2callsz00zztailc_walkz00(BgL_arg1675z00_2198,
					((BgL_variablez00_bglt) BgL_hostz00_2127), BgL_tailsz00_2128);
			}
		}

	}



/* &get-tail-calls-switc1323 */
	obj_t BGl_z62getzd2tailzd2callszd2switc1323zb0zztailc_walkz00(obj_t
		BgL_envz00_2129, obj_t BgL_nodez00_2130, obj_t BgL_hostz00_2131,
		obj_t BgL_tailsz00_2132)
	{
		{	/* Tailc/walk.scm 157 */
			{	/* Tailc/walk.scm 159 */
				obj_t BgL_res1858z00_2208;

				{	/* Tailc/walk.scm 159 */
					obj_t BgL_g1171z00_2200;

					BgL_g1171z00_2200 =
						(((BgL_switchz00_bglt) COBJECT(
								((BgL_switchz00_bglt) BgL_nodez00_2130)))->BgL_clausesz00);
					{
						obj_t BgL_clausesz00_2202;
						obj_t BgL_tailsz00_2203;

						BgL_clausesz00_2202 = BgL_g1171z00_2200;
						BgL_tailsz00_2203 = BgL_tailsz00_2132;
					BgL_liipz00_2201:
						if (NULLP(BgL_clausesz00_2202))
							{	/* Tailc/walk.scm 161 */
								BgL_res1858z00_2208 = BgL_tailsz00_2203;
							}
						else
							{	/* Tailc/walk.scm 163 */
								obj_t BgL_arg1658z00_2204;
								obj_t BgL_arg1661z00_2205;

								BgL_arg1658z00_2204 = CDR(((obj_t) BgL_clausesz00_2202));
								{	/* Tailc/walk.scm 164 */
									obj_t BgL_arg1669z00_2206;

									{	/* Tailc/walk.scm 164 */
										obj_t BgL_pairz00_2207;

										BgL_pairz00_2207 = CAR(((obj_t) BgL_clausesz00_2202));
										BgL_arg1669z00_2206 = CDR(BgL_pairz00_2207);
									}
									BgL_arg1661z00_2205 =
										BGl_getzd2tailzd2callsz00zztailc_walkz00(
										((BgL_nodez00_bglt) BgL_arg1669z00_2206),
										((BgL_variablez00_bglt) BgL_hostz00_2131),
										BgL_tailsz00_2203);
								}
								{
									obj_t BgL_tailsz00_2830;
									obj_t BgL_clausesz00_2829;

									BgL_clausesz00_2829 = BgL_arg1658z00_2204;
									BgL_tailsz00_2830 = BgL_arg1661z00_2205;
									BgL_tailsz00_2203 = BgL_tailsz00_2830;
									BgL_clausesz00_2202 = BgL_clausesz00_2829;
									goto BgL_liipz00_2201;
								}
							}
					}
				}
				return BgL_res1858z00_2208;
			}
		}

	}



/* &get-tail-calls-condi1321 */
	obj_t BGl_z62getzd2tailzd2callszd2condi1321zb0zztailc_walkz00(obj_t
		BgL_envz00_2133, obj_t BgL_nodez00_2134, obj_t BgL_hostz00_2135,
		obj_t BgL_tailsz00_2136)
	{
		{	/* Tailc/walk.scm 150 */
			{	/* Tailc/walk.scm 152 */
				BgL_nodez00_bglt BgL_arg1630z00_2210;
				obj_t BgL_arg1639z00_2211;

				BgL_arg1630z00_2210 =
					(((BgL_conditionalz00_bglt) COBJECT(
							((BgL_conditionalz00_bglt) BgL_nodez00_2134)))->BgL_truez00);
				{	/* Tailc/walk.scm 152 */
					BgL_nodez00_bglt BgL_arg1649z00_2212;

					BgL_arg1649z00_2212 =
						(((BgL_conditionalz00_bglt) COBJECT(
								((BgL_conditionalz00_bglt) BgL_nodez00_2134)))->BgL_falsez00);
					BgL_arg1639z00_2211 =
						BGl_getzd2tailzd2callsz00zztailc_walkz00(BgL_arg1649z00_2212,
						((BgL_variablez00_bglt) BgL_hostz00_2135), BgL_tailsz00_2136);
				}
				return
					BGl_getzd2tailzd2callsz00zztailc_walkz00(BgL_arg1630z00_2210,
					((BgL_variablez00_bglt) BgL_hostz00_2135), BgL_arg1639z00_2211);
			}
		}

	}



/* &get-tail-calls-app1319 */
	obj_t BGl_z62getzd2tailzd2callszd2app1319zb0zztailc_walkz00(obj_t
		BgL_envz00_2137, obj_t BgL_nodez00_2138, obj_t BgL_hostz00_2139,
		obj_t BgL_tailsz00_2140)
	{
		{	/* Tailc/walk.scm 133 */
			{	/* Tailc/walk.scm 135 */
				BgL_variablez00_bglt BgL_calleez00_2214;

				BgL_calleez00_2214 =
					(((BgL_varz00_bglt) COBJECT(
							(((BgL_appz00_bglt) COBJECT(
										((BgL_appz00_bglt) BgL_nodez00_2138)))->BgL_funz00)))->
					BgL_variablez00);
				if ((((obj_t) BgL_calleez00_2214) == BgL_hostz00_2139))
					{	/* Tailc/walk.scm 137 */
						return
							MAKE_YOUNG_PAIR(
							((obj_t)
								((BgL_appz00_bglt) BgL_nodez00_2138)), BgL_tailsz00_2140);
					}
				else
					{	/* Tailc/walk.scm 139 */
						bool_t BgL_test1902z00_2848;

						{	/* Tailc/walk.scm 139 */
							obj_t BgL_classz00_2215;

							BgL_classz00_2215 = BGl_localzd2tailzd2zztailc_walkz00;
							{	/* Tailc/walk.scm 139 */
								obj_t BgL_oclassz00_2216;

								{	/* Tailc/walk.scm 139 */
									long BgL_arg1808z00_2217;

									{	/* Tailc/walk.scm 139 */
										long BgL_arg1809z00_2218;

										BgL_arg1809z00_2218 =
											BGL_OBJECT_CLASS_NUM(
											((BgL_objectz00_bglt) BgL_calleez00_2214));
										BgL_arg1808z00_2217 = (BgL_arg1809z00_2218 - OBJECT_TYPE);
									}
									BgL_oclassz00_2216 =
										VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
										BgL_arg1808z00_2217);
								}
								BgL_test1902z00_2848 =
									(BgL_oclassz00_2216 == BgL_classz00_2215);
						}}
						if (BgL_test1902z00_2848)
							{	/* Tailc/walk.scm 139 */
								return BgL_tailsz00_2140;
							}
						else
							{	/* Tailc/walk.scm 141 */
								bool_t BgL_test1903z00_2854;

								{	/* Tailc/walk.scm 141 */
									obj_t BgL_classz00_2219;

									BgL_classz00_2219 = BGl_localz00zzast_varz00;
									{	/* Tailc/walk.scm 141 */
										BgL_objectz00_bglt BgL_arg1801z00_2220;

										{	/* Tailc/walk.scm 141 */
											obj_t BgL_tmpz00_2855;

											BgL_tmpz00_2855 =
												((obj_t) ((BgL_objectz00_bglt) BgL_calleez00_2214));
											BgL_arg1801z00_2220 =
												(BgL_objectz00_bglt) (BgL_tmpz00_2855);
										}
										if (BGL_CONDEXPAND_ISA_ARCH64())
											{	/* Tailc/walk.scm 141 */
												long BgL_idxz00_2221;

												BgL_idxz00_2221 =
													BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2220);
												BgL_test1903z00_2854 =
													(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
														(BgL_idxz00_2221 + 2L)) == BgL_classz00_2219);
											}
										else
											{	/* Tailc/walk.scm 141 */
												bool_t BgL_res1831z00_2224;

												{	/* Tailc/walk.scm 141 */
													obj_t BgL_oclassz00_2225;

													{	/* Tailc/walk.scm 141 */
														long BgL_arg1808z00_2226;

														{	/* Tailc/walk.scm 141 */
															long BgL_arg1809z00_2227;

															BgL_arg1809z00_2227 =
																BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2220);
															BgL_arg1808z00_2226 =
																(BgL_arg1809z00_2227 - OBJECT_TYPE);
														}
														BgL_oclassz00_2225 =
															VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
															BgL_arg1808z00_2226);
													}
													{	/* Tailc/walk.scm 141 */
														bool_t BgL__ortest_1115z00_2228;

														BgL__ortest_1115z00_2228 =
															(BgL_classz00_2219 == BgL_oclassz00_2225);
														if (BgL__ortest_1115z00_2228)
															{	/* Tailc/walk.scm 141 */
																BgL_res1831z00_2224 = BgL__ortest_1115z00_2228;
															}
														else
															{	/* Tailc/walk.scm 141 */
																long BgL_odepthz00_2229;

																BgL_odepthz00_2229 =
																	BGL_CLASS_DEPTH(BgL_oclassz00_2225);
																if ((2L < BgL_odepthz00_2229))
																	{	/* Tailc/walk.scm 141 */
																		obj_t BgL_arg1797z00_2230;

																		BgL_arg1797z00_2230 =
																			BGL_CLASS_ANCESTORS_REF
																			(BgL_oclassz00_2225, 2L);
																		BgL_res1831z00_2224 =
																			(BgL_arg1797z00_2230 ==
																			BgL_classz00_2219);
																	}
																else
																	{	/* Tailc/walk.scm 141 */
																		BgL_res1831z00_2224 = ((bool_t) 0);
																	}
															}
													}
												}
												BgL_test1903z00_2854 = BgL_res1831z00_2224;
											}
									}
								}
								if (BgL_test1903z00_2854)
									{	/* Tailc/walk.scm 141 */
										{	/* Tailc/walk.scm 142 */
											BgL_localzd2tailzd2_bglt BgL_wide1166z00_2231;

											BgL_wide1166z00_2231 =
												((BgL_localzd2tailzd2_bglt)
												BOBJECT(GC_MALLOC(sizeof(struct
															BgL_localzd2tailzd2_bgl))));
											{	/* Tailc/walk.scm 142 */
												obj_t BgL_auxz00_2880;
												BgL_objectz00_bglt BgL_tmpz00_2876;

												BgL_auxz00_2880 = ((obj_t) BgL_wide1166z00_2231);
												BgL_tmpz00_2876 =
													((BgL_objectz00_bglt)
													((BgL_localz00_bglt)
														((BgL_localz00_bglt) BgL_calleez00_2214)));
												BGL_OBJECT_WIDENING_SET(BgL_tmpz00_2876,
													BgL_auxz00_2880);
											}
											((BgL_objectz00_bglt)
												((BgL_localz00_bglt)
													((BgL_localz00_bglt) BgL_calleez00_2214)));
											{	/* Tailc/walk.scm 142 */
												long BgL_arg1620z00_2232;

												BgL_arg1620z00_2232 =
													BGL_CLASS_NUM(BGl_localzd2tailzd2zztailc_walkz00);
												BGL_OBJECT_CLASS_NUM_SET(
													((BgL_objectz00_bglt)
														((BgL_localz00_bglt)
															((BgL_localz00_bglt) BgL_calleez00_2214))),
													BgL_arg1620z00_2232);
											}
											((BgL_localz00_bglt)
												((BgL_localz00_bglt)
													((BgL_localz00_bglt) BgL_calleez00_2214)));
										}
										((BgL_localz00_bglt)
											((BgL_localz00_bglt) BgL_calleez00_2214));
										{	/* Tailc/walk.scm 143 */
											obj_t BgL_arg1621z00_2233;

											BgL_arg1621z00_2233 =
												(((BgL_sfunz00_bglt) COBJECT(
														((BgL_sfunz00_bglt)
															(((BgL_variablez00_bglt) COBJECT(
																		((BgL_variablez00_bglt)
																			((BgL_localz00_bglt)
																				BgL_calleez00_2214))))->
																BgL_valuez00))))->BgL_bodyz00);
											return
												BGl_getzd2tailzd2callsz00zztailc_walkz00((
													(BgL_nodez00_bglt) BgL_arg1621z00_2233),
												((BgL_variablez00_bglt) BgL_hostz00_2139),
												BgL_tailsz00_2140);
										}
									}
								else
									{	/* Tailc/walk.scm 141 */
										return BgL_tailsz00_2140;
									}
							}
					}
			}
		}

	}



/* &get-tail-calls-sync1317 */
	obj_t BGl_z62getzd2tailzd2callszd2sync1317zb0zztailc_walkz00(obj_t
		BgL_envz00_2141, obj_t BgL_nodez00_2142, obj_t BgL_hostz00_2143,
		obj_t BgL_tailsz00_2144)
	{
		{	/* Tailc/walk.scm 127 */
			return ((obj_t) BgL_tailsz00_2144);
		}

	}



/* &get-tail-calls-seque1315 */
	obj_t BGl_z62getzd2tailzd2callszd2seque1315zb0zztailc_walkz00(obj_t
		BgL_envz00_2145, obj_t BgL_nodez00_2146, obj_t BgL_hostz00_2147,
		obj_t BgL_tailsz00_2148)
	{
		{	/* Tailc/walk.scm 118 */
			if (NULLP(
					(((BgL_sequencez00_bglt) COBJECT(
								((BgL_sequencez00_bglt) BgL_nodez00_2146)))->BgL_nodesz00)))
				{	/* Tailc/walk.scm 120 */
					return BgL_tailsz00_2148;
				}
			else
				{	/* Tailc/walk.scm 122 */
					obj_t BgL_arg1613z00_2237;

					BgL_arg1613z00_2237 =
						CAR(BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(
							(((BgL_sequencez00_bglt) COBJECT(
										((BgL_sequencez00_bglt) BgL_nodez00_2146)))->
								BgL_nodesz00)));
					return BGl_getzd2tailzd2callsz00zztailc_walkz00(((BgL_nodez00_bglt)
							BgL_arg1613z00_2237), ((BgL_variablez00_bglt) BgL_hostz00_2147),
						BgL_tailsz00_2148);
				}
		}

	}



/* &get-tail-calls-closu1313 */
	obj_t BGl_z62getzd2tailzd2callszd2closu1313zb0zztailc_walkz00(obj_t
		BgL_envz00_2149, obj_t BgL_nodez00_2150, obj_t BgL_hostz00_2151,
		obj_t BgL_tailsz00_2152)
	{
		{	/* Tailc/walk.scm 112 */
			{	/* Tailc/walk.scm 113 */
				obj_t BgL_res1860z00_2240;

				{	/* Tailc/walk.scm 113 */
					obj_t BgL_arg1608z00_2239;

					BgL_arg1608z00_2239 =
						BGl_shapez00zztools_shapez00(
						((obj_t) ((BgL_closurez00_bglt) BgL_nodez00_2150)));
					BgL_res1860z00_2240 =
						BGl_internalzd2errorzd2zztools_errorz00
						(BGl_string1846z00zztailc_walkz00, BGl_string1854z00zztailc_walkz00,
						BgL_arg1608z00_2239);
				}
				return BgL_res1860z00_2240;
			}
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zztailc_walkz00(void)
	{
		{	/* Tailc/walk.scm 15 */
			BGl_modulezd2initializa7ationz75zztools_speekz00(61247943L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			BGl_modulezd2initializa7ationz75zztools_errorz00(300504031L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			BGl_modulezd2initializa7ationz75zzengine_passz00(373082237L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			BGl_modulezd2initializa7ationz75zzast_varz00(90839984L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			BGl_modulezd2initializa7ationz75zzast_removez00(383247627L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			BGl_modulezd2initializa7ationz75zzast_nodez00(469732712L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
			return
				BGl_modulezd2initializa7ationz75zzast_localz00(315247917L,
				BSTRING_TO_STRING(BGl_string1855z00zztailc_walkz00));
		}

	}

#ifdef __cplusplus
}
#endif
