/*===========================================================================*/
/*   (Reduce/same.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 Reduce/same.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_REDUCE_SAME_TYPE_DEFINITIONS
#define BGL_REDUCE_SAME_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_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_nodez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
	}              *BgL_nodez00_bglt;

	typedef struct BgL_atomz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_valuez00;
	}              *BgL_atomz00_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_kwotez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		obj_t BgL_valuez00;
	}               *BgL_kwotez00_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_pragmaz00_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;
		obj_t BgL_formatz00;
	}                *BgL_pragmaz00_bglt;

	typedef struct BgL_getfieldz00_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;
		obj_t BgL_czd2formatzd2;
		obj_t BgL_fnamez00;
		struct BgL_typez00_bgl *BgL_ftypez00;
		struct BgL_typez00_bgl *BgL_otypez00;
	}                  *BgL_getfieldz00_bglt;

	typedef struct BgL_setfieldz00_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;
		obj_t BgL_czd2formatzd2;
		obj_t BgL_fnamez00;
		struct BgL_typez00_bgl *BgL_ftypez00;
		struct BgL_typez00_bgl *BgL_otypez00;
	}                  *BgL_setfieldz00_bglt;

	typedef struct BgL_castz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_nodez00_bgl *BgL_argz00;
	}              *BgL_castz00_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_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_syncz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
		struct BgL_nodez00_bgl *BgL_mutexz00;
		struct BgL_nodez00_bgl *BgL_prelockz00;
		struct BgL_nodez00_bgl *BgL_bodyz00;
	}              *BgL_syncz00_bglt;


#endif													// BGL_REDUCE_SAME_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static bool_t BGl_samezd2nodeza2zf3z83zzreduce_samez00(obj_t, obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zzreduce_samez00 = BUNSPEC;
	static obj_t BGl_z62samezd2nodezf3zd2valloc1309z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62samezd2nodezf3zd2condition1313z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	BGL_IMPORT bool_t BGl_equalzf3zf3zz__r4_equivalence_6_2z00(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_atomz00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2app1299z91zzreduce_samez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zzreduce_samez00(void);
	static obj_t BGl_z62samezd2nodezf3zd2letzd2var1317z43zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_sequencez00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2cast1311z91zzreduce_samez00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_letzd2varzd2zzast_nodez00;
	extern obj_t BGl_failz00zzast_nodez00;
	static obj_t BGl_genericzd2initzd2zzreduce_samez00(void);
	extern obj_t BGl_getfieldz00zzast_nodez00;
	static obj_t BGl_objectzd2initzd2zzreduce_samez00(void);
	extern obj_t BGl_castz00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2fail1315z91zzreduce_samez00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	static obj_t BGl_z62samezd2nodezf3zd2extern1301z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zzreduce_samez00(void);
	static obj_t BGl_z62samezd2nodezf3zd2funcall1297z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_externz00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2sequence1291z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62samezd2nodezf3zd2appzd2ly1295z43zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	BGL_IMPORT obj_t BGl_appendzd22z12zc0zz__r4_pairs_and_lists_6_3z00(obj_t,
		obj_t);
	extern obj_t BGl_varz00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2sync1293z91zzreduce_samez00(obj_t, obj_t,
		obj_t, obj_t);
	static bool_t BGl_aliasedzf3zf3zzreduce_samez00(BgL_variablez00_bglt,
		BgL_variablez00_bglt, obj_t);
	extern obj_t BGl_pragmaz00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2getfield1305z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzreduce_samez00(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 *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(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_flonumz00(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_appzd2lyzd2zzast_nodez00;
	extern obj_t BGl_nodez00zzast_nodez00;
	extern obj_t BGl_kwotez00zzast_nodez00;
	static obj_t BGl_cnstzd2initzd2zzreduce_samez00(void);
	static obj_t BGl_libraryzd2moduleszd2initz00zzreduce_samez00(void);
	BGL_IMPORT long bgl_list_length(obj_t);
	static obj_t BGl_z62samezd2nodezf3zd2pragma1303z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zzreduce_samez00(void);
	static obj_t BGl_gczd2rootszd2initz00zzreduce_samez00(void);
	BGL_EXPORTED_DECL bool_t
		BGl_samezd2nodezf3z21zzreduce_samez00(BgL_nodez00_bglt, BgL_nodez00_bglt,
		obj_t);
	extern obj_t BGl_vallocz00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2setfield1307z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62samezd2nodezf3z43zzreduce_samez00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62samezd2nodezf31282z43zzreduce_samez00(obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t BGl_setfieldz00zzast_nodez00;
	BGL_IMPORT obj_t BGl_genericzd2addzd2methodz12z12zz__objectz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_conditionalz00zzast_nodez00;
	BGL_IMPORT obj_t
		BGl_findzd2superzd2classzd2methodzd2zz__objectz00(BgL_objectz00_bglt, obj_t,
		obj_t);
	extern obj_t BGl_funcallz00zzast_nodez00;
	static obj_t BGl_z62samezd2nodezf3zd2var1289z91zzreduce_samez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62samezd2nodezf3zd2atom1285z91zzreduce_samez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62samezd2nodezf3zd2kwote1287z91zzreduce_samez00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t __cnst[1];


	   
		 
		DEFINE_STRING(BGl_string1967z00zzreduce_samez00,
		BgL_bgl_string1967za700za7za7r1989za7, "same-node?1282", 14);
	      DEFINE_STRING(BGl_string1969z00zzreduce_samez00,
		BgL_bgl_string1969za700za7za7r1990za7, "same-node?", 10);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1966z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1991za7,
		BGl_z62samezd2nodezf31282z43zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1968z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1992za7,
		BGl_z62samezd2nodezf3zd2atom1285z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1970z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1993za7,
		BGl_z62samezd2nodezf3zd2kwote1287z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1971z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1994za7,
		BGl_z62samezd2nodezf3zd2var1289z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1972z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1995za7,
		BGl_z62samezd2nodezf3zd2sequence1291z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1973z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1996za7,
		BGl_z62samezd2nodezf3zd2sync1293z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1974z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1997za7,
		BGl_z62samezd2nodezf3zd2appzd2ly1295z43zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1975z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1998za7,
		BGl_z62samezd2nodezf3zd2funcall1297z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1976z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f1999za7,
		BGl_z62samezd2nodezf3zd2app1299z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1977z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2000za7,
		BGl_z62samezd2nodezf3zd2extern1301z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1978z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2001za7,
		BGl_z62samezd2nodezf3zd2pragma1303z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1979z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2002za7,
		BGl_z62samezd2nodezf3zd2getfield1305z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STRING(BGl_string1986z00zzreduce_samez00,
		BgL_bgl_string1986za700za7za7r2003za7, "reduce_same", 11);
	      DEFINE_STRING(BGl_string1987z00zzreduce_samez00,
		BgL_bgl_string1987za700za7za7r2004za7, "read ", 5);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1980z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2005za7,
		BGl_z62samezd2nodezf3zd2setfield1307z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1981z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2006za7,
		BGl_z62samezd2nodezf3zd2valloc1309z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1982z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2007za7,
		BGl_z62samezd2nodezf3zd2cast1311z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1983z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2008za7,
		BGl_z62samezd2nodezf3zd2condition1313z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1984z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2009za7,
		BGl_z62samezd2nodezf3zd2fail1315z91zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1985z00zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2010za7,
		BGl_z62samezd2nodezf3zd2letzd2var1317z43zzreduce_samez00, 0L, BUNSPEC, 3);
	      DEFINE_EXPORT_BGL_GENERIC(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
		BgL_bgl_za762sameza7d2nodeza7f2011za7,
		BGl_z62samezd2nodezf3z43zzreduce_samez00, 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_requirezd2initializa7ationz75zzreduce_samez00));
#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_modulezd2initializa7ationz75zzreduce_samez00(long
		BgL_checksumz00_3538, char *BgL_fromz00_3539)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzreduce_samez00))
				{
					BGl_requirezd2initializa7ationz75zzreduce_samez00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzreduce_samez00();
					BGl_libraryzd2moduleszd2initz00zzreduce_samez00();
					BGl_cnstzd2initzd2zzreduce_samez00();
					BGl_importedzd2moduleszd2initz00zzreduce_samez00();
					BGl_genericzd2initzd2zzreduce_samez00();
					BGl_methodzd2initzd2zzreduce_samez00();
					return BGl_toplevelzd2initzd2zzreduce_samez00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L,
				"reduce_same");
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "reduce_same");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "reduce_same");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L, "reduce_same");
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"reduce_same");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "reduce_same");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(0L,
				"reduce_same");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "reduce_same");
			BGl_modulezd2initializa7ationz75zz__bitz00(0L, "reduce_same");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"reduce_same");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			{	/* Reduce/same.scm 15 */
				obj_t BgL_cportz00_3208;

				{	/* Reduce/same.scm 15 */
					obj_t BgL_stringz00_3215;

					BgL_stringz00_3215 = BGl_string1987z00zzreduce_samez00;
					{	/* Reduce/same.scm 15 */
						obj_t BgL_startz00_3216;

						BgL_startz00_3216 = BINT(0L);
						{	/* Reduce/same.scm 15 */
							obj_t BgL_endz00_3217;

							BgL_endz00_3217 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_3215)));
							{	/* Reduce/same.scm 15 */

								BgL_cportz00_3208 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_3215, BgL_startz00_3216, BgL_endz00_3217);
				}}}}
				{
					long BgL_iz00_3209;

					BgL_iz00_3209 = 0L;
				BgL_loopz00_3210:
					if ((BgL_iz00_3209 == -1L))
						{	/* Reduce/same.scm 15 */
							return BUNSPEC;
						}
					else
						{	/* Reduce/same.scm 15 */
							{	/* Reduce/same.scm 15 */
								obj_t BgL_arg1988z00_3211;

								{	/* Reduce/same.scm 15 */

									{	/* Reduce/same.scm 15 */
										obj_t BgL_locationz00_3213;

										BgL_locationz00_3213 = BBOOL(((bool_t) 0));
										{	/* Reduce/same.scm 15 */

											BgL_arg1988z00_3211 =
												BGl_readz00zz__readerz00(BgL_cportz00_3208,
												BgL_locationz00_3213);
										}
									}
								}
								{	/* Reduce/same.scm 15 */
									int BgL_tmpz00_3569;

									BgL_tmpz00_3569 = (int) (BgL_iz00_3209);
									CNST_TABLE_SET(BgL_tmpz00_3569, BgL_arg1988z00_3211);
							}}
							{	/* Reduce/same.scm 15 */
								int BgL_auxz00_3214;

								BgL_auxz00_3214 = (int) ((BgL_iz00_3209 - 1L));
								{
									long BgL_iz00_3574;

									BgL_iz00_3574 = (long) (BgL_auxz00_3214);
									BgL_iz00_3209 = BgL_iz00_3574;
									goto BgL_loopz00_3210;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			return BUNSPEC;
		}

	}



/* same-node*? */
	bool_t BGl_samezd2nodeza2zf3z83zzreduce_samez00(obj_t BgL_node1z00_57,
		obj_t BgL_node2z00_58, obj_t BgL_aliasz00_59)
	{
		{	/* Reduce/same.scm 227 */
		BGl_samezd2nodeza2zf3z83zzreduce_samez00:
			if (NULLP(BgL_node1z00_57))
				{	/* Reduce/same.scm 229 */
					return NULLP(BgL_node2z00_58);
				}
			else
				{	/* Reduce/same.scm 229 */
					if (NULLP(BgL_node2z00_58))
						{	/* Reduce/same.scm 231 */
							return ((bool_t) 0);
						}
					else
						{	/* Reduce/same.scm 233 */
							bool_t BgL_test2016z00_3582;

							{	/* Reduce/same.scm 233 */
								obj_t BgL_arg1341z00_1419;
								obj_t BgL_arg1343z00_1420;

								BgL_arg1341z00_1419 = CAR(((obj_t) BgL_node1z00_57));
								BgL_arg1343z00_1420 = CAR(((obj_t) BgL_node2z00_58));
								BgL_test2016z00_3582 =
									BGl_samezd2nodezf3z21zzreduce_samez00(
									((BgL_nodez00_bglt) BgL_arg1341z00_1419),
									((BgL_nodez00_bglt) BgL_arg1343z00_1420), BgL_aliasz00_59);
							}
							if (BgL_test2016z00_3582)
								{	/* Reduce/same.scm 234 */
									obj_t BgL_arg1337z00_1417;
									obj_t BgL_arg1338z00_1418;

									BgL_arg1337z00_1417 = CDR(((obj_t) BgL_node1z00_57));
									BgL_arg1338z00_1418 = CDR(((obj_t) BgL_node2z00_58));
									{
										obj_t BgL_node2z00_3595;
										obj_t BgL_node1z00_3594;

										BgL_node1z00_3594 = BgL_arg1337z00_1417;
										BgL_node2z00_3595 = BgL_arg1338z00_1418;
										BgL_node2z00_58 = BgL_node2z00_3595;
										BgL_node1z00_57 = BgL_node1z00_3594;
										goto BGl_samezd2nodeza2zf3z83zzreduce_samez00;
									}
								}
							else
								{	/* Reduce/same.scm 233 */
									return ((bool_t) 0);
								}
						}
				}
		}

	}



/* aliased? */
	bool_t BGl_aliasedzf3zf3zzreduce_samez00(BgL_variablez00_bglt BgL_var1z00_60,
		BgL_variablez00_bglt BgL_var2z00_61, obj_t BgL_aliasz00_62)
	{
		{	/* Reduce/same.scm 241 */
			{
				obj_t BgL_aliasz00_1422;

				BgL_aliasz00_1422 = BgL_aliasz00_62;
			BgL_zc3z04anonymousza31344ze3z87_1423:
				if (NULLP(BgL_aliasz00_1422))
					{	/* Reduce/same.scm 244 */
						return ((bool_t) 0);
					}
				else
					{	/* Reduce/same.scm 246 */
						bool_t BgL_test2018z00_3598;

						{	/* Reduce/same.scm 246 */
							obj_t BgL_tmpz00_3599;

							{	/* Reduce/same.scm 246 */
								obj_t BgL_pairz00_1926;

								BgL_pairz00_1926 = CAR(((obj_t) BgL_aliasz00_1422));
								BgL_tmpz00_3599 = CAR(BgL_pairz00_1926);
							}
							BgL_test2018z00_3598 =
								(BgL_tmpz00_3599 == ((obj_t) BgL_var1z00_60));
						}
						if (BgL_test2018z00_3598)
							{	/* Reduce/same.scm 247 */
								bool_t BgL_test2019z00_3605;

								{	/* Reduce/same.scm 247 */
									obj_t BgL_tmpz00_3606;

									{	/* Reduce/same.scm 247 */
										obj_t BgL_pairz00_1928;

										BgL_pairz00_1928 = CAR(((obj_t) BgL_aliasz00_1422));
										BgL_tmpz00_3606 = CDR(BgL_pairz00_1928);
									}
									BgL_test2019z00_3605 =
										(BgL_tmpz00_3606 == ((obj_t) BgL_var2z00_61));
								}
								if (BgL_test2019z00_3605)
									{	/* Reduce/same.scm 247 */
										return ((bool_t) 1);
									}
								else
									{
										obj_t BgL_aliasz00_3612;

										BgL_aliasz00_3612 = CDR(((obj_t) BgL_aliasz00_1422));
										BgL_aliasz00_1422 = BgL_aliasz00_3612;
										goto BgL_zc3z04anonymousza31344ze3z87_1423;
									}
							}
						else
							{	/* Reduce/same.scm 250 */
								bool_t BgL_test2020z00_3615;

								{	/* Reduce/same.scm 250 */
									obj_t BgL_tmpz00_3616;

									{	/* Reduce/same.scm 250 */
										obj_t BgL_pairz00_1931;

										BgL_pairz00_1931 = CAR(((obj_t) BgL_aliasz00_1422));
										BgL_tmpz00_3616 = CAR(BgL_pairz00_1931);
									}
									BgL_test2020z00_3615 =
										(BgL_tmpz00_3616 == ((obj_t) BgL_var2z00_61));
								}
								if (BgL_test2020z00_3615)
									{	/* Reduce/same.scm 251 */
										bool_t BgL_test2021z00_3622;

										{	/* Reduce/same.scm 251 */
											obj_t BgL_tmpz00_3623;

											{	/* Reduce/same.scm 251 */
												obj_t BgL_pairz00_1933;

												BgL_pairz00_1933 = CAR(((obj_t) BgL_aliasz00_1422));
												BgL_tmpz00_3623 = CDR(BgL_pairz00_1933);
											}
											BgL_test2021z00_3622 =
												(BgL_tmpz00_3623 == ((obj_t) BgL_var1z00_60));
										}
										if (BgL_test2021z00_3622)
											{	/* Reduce/same.scm 251 */
												return ((bool_t) 1);
											}
										else
											{
												obj_t BgL_aliasz00_3629;

												BgL_aliasz00_3629 = CDR(((obj_t) BgL_aliasz00_1422));
												BgL_aliasz00_1422 = BgL_aliasz00_3629;
												goto BgL_zc3z04anonymousza31344ze3z87_1423;
											}
									}
								else
									{
										obj_t BgL_aliasz00_3632;

										BgL_aliasz00_3632 = CDR(((obj_t) BgL_aliasz00_1422));
										BgL_aliasz00_1422 = BgL_aliasz00_3632;
										goto BgL_zc3z04anonymousza31344ze3z87_1423;
									}
							}
					}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			return
				BGl_registerzd2genericz12zc0zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_proc1966z00zzreduce_samez00, BGl_nodez00zzast_nodez00,
				BGl_string1967z00zzreduce_samez00);
		}

	}



/* &same-node?1282 */
	obj_t BGl_z62samezd2nodezf31282z43zzreduce_samez00(obj_t BgL_envz00_3115,
		obj_t BgL_node1z00_3116, obj_t BgL_node2z00_3117, obj_t BgL_aliasz00_3118)
	{
		{	/* Reduce/same.scm 26 */
			return BBOOL(((bool_t) 0));
		}

	}



/* same-node? */
	BGL_EXPORTED_DEF bool_t BGl_samezd2nodezf3z21zzreduce_samez00(BgL_nodez00_bglt
		BgL_node1z00_3, BgL_nodez00_bglt BgL_node2z00_4, obj_t BgL_aliasz00_5)
	{
		{	/* Reduce/same.scm 26 */
			{	/* Reduce/same.scm 26 */
				obj_t BgL_method1283z00_1455;

				{	/* Reduce/same.scm 26 */
					obj_t BgL_res1933z00_1966;

					{	/* Reduce/same.scm 26 */
						long BgL_objzd2classzd2numz00_1937;

						BgL_objzd2classzd2numz00_1937 =
							BGL_OBJECT_CLASS_NUM(((BgL_objectz00_bglt) BgL_node1z00_3));
						{	/* Reduce/same.scm 26 */
							obj_t BgL_arg1805z00_1938;

							BgL_arg1805z00_1938 =
								PROCEDURE_REF(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
								(int) (1L));
							{	/* Reduce/same.scm 26 */
								int BgL_offsetz00_1941;

								BgL_offsetz00_1941 = (int) (BgL_objzd2classzd2numz00_1937);
								{	/* Reduce/same.scm 26 */
									long BgL_offsetz00_1942;

									BgL_offsetz00_1942 =
										((long) (BgL_offsetz00_1941) - OBJECT_TYPE);
									{	/* Reduce/same.scm 26 */
										long BgL_modz00_1943;

										BgL_modz00_1943 =
											(BgL_offsetz00_1942 >> (int) ((long) ((int) (4L))));
										{	/* Reduce/same.scm 26 */
											long BgL_restz00_1945;

											BgL_restz00_1945 =
												(BgL_offsetz00_1942 &
												(long) (
													(int) (
														((long) (
																(int) (
																	(1L <<
																		(int) ((long) ((int) (4L)))))) - 1L))));
											{	/* Reduce/same.scm 26 */

												{	/* Reduce/same.scm 26 */
													obj_t BgL_bucketz00_1947;

													BgL_bucketz00_1947 =
														VECTOR_REF(
														((obj_t) BgL_arg1805z00_1938), BgL_modz00_1943);
													BgL_res1933z00_1966 =
														VECTOR_REF(
														((obj_t) BgL_bucketz00_1947), BgL_restz00_1945);
					}}}}}}}}
					BgL_method1283z00_1455 = BgL_res1933z00_1966;
				}
				return
					CBOOL(
					(VA_PROCEDUREP(BgL_method1283z00_1455) ? ((obj_t(*)(obj_t,
									...))
							PROCEDURE_ENTRY(BgL_method1283z00_1455)) (BgL_method1283z00_1455,
							((obj_t) BgL_node1z00_3), ((obj_t) BgL_node2z00_4),
							BgL_aliasz00_5, BEOA) : ((obj_t(*)(obj_t, obj_t, obj_t,
									obj_t))
							PROCEDURE_ENTRY(BgL_method1283z00_1455)) (BgL_method1283z00_1455,
							((obj_t) BgL_node1z00_3), ((obj_t) BgL_node2z00_4),
							BgL_aliasz00_5)));
			}
		}

	}



/* &same-node? */
	obj_t BGl_z62samezd2nodezf3z43zzreduce_samez00(obj_t BgL_envz00_3119,
		obj_t BgL_node1z00_3120, obj_t BgL_node2z00_3121, obj_t BgL_aliasz00_3122)
	{
		{	/* Reduce/same.scm 26 */
			return
				BBOOL(BGl_samezd2nodezf3z21zzreduce_samez00(
					((BgL_nodez00_bglt) BgL_node1z00_3120),
					((BgL_nodez00_bglt) BgL_node2z00_3121), BgL_aliasz00_3122));
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00, BGl_atomz00zzast_nodez00,
				BGl_proc1968z00zzreduce_samez00, BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00, BGl_kwotez00zzast_nodez00,
				BGl_proc1970z00zzreduce_samez00, BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00, BGl_varz00zzast_nodez00,
				BGl_proc1971z00zzreduce_samez00, BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_sequencez00zzast_nodez00, BGl_proc1972z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00, BGl_syncz00zzast_nodez00,
				BGl_proc1973z00zzreduce_samez00, BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_appzd2lyzd2zzast_nodez00, BGl_proc1974z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_funcallz00zzast_nodez00, BGl_proc1975z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00, BGl_appz00zzast_nodez00,
				BGl_proc1976z00zzreduce_samez00, BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_externz00zzast_nodez00, BGl_proc1977z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_pragmaz00zzast_nodez00, BGl_proc1978z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_getfieldz00zzast_nodez00, BGl_proc1979z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_setfieldz00zzast_nodez00, BGl_proc1980z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_vallocz00zzast_nodez00, BGl_proc1981z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00, BGl_castz00zzast_nodez00,
				BGl_proc1982z00zzreduce_samez00, BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_conditionalz00zzast_nodez00, BGl_proc1983z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00, BGl_failz00zzast_nodez00,
				BGl_proc1984z00zzreduce_samez00, BGl_string1969z00zzreduce_samez00);
			return
				BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
				BGl_letzd2varzd2zzast_nodez00, BGl_proc1985z00zzreduce_samez00,
				BGl_string1969z00zzreduce_samez00);
		}

	}



/* &same-node?-let-var1317 */
	obj_t BGl_z62samezd2nodezf3zd2letzd2var1317z43zzreduce_samez00(obj_t
		BgL_envz00_3140, obj_t BgL_nodez00_3141, obj_t BgL_node2z00_3142,
		obj_t BgL_aliasz00_3143)
	{
		{	/* Reduce/same.scm 193 */
			{	/* Tools/trace.sch 53 */
				bool_t BgL_tmpz00_3692;

				{	/* Tools/trace.sch 53 */
					bool_t BgL_test2022z00_3693;

					{	/* Tools/trace.sch 53 */
						obj_t BgL_classz00_3225;

						BgL_classz00_3225 = BGl_letzd2varzd2zzast_nodez00;
						{	/* Tools/trace.sch 53 */
							BgL_objectz00_bglt BgL_arg1801z00_3226;

							{	/* Tools/trace.sch 53 */
								obj_t BgL_tmpz00_3694;

								BgL_tmpz00_3694 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3142));
								BgL_arg1801z00_3226 = (BgL_objectz00_bglt) (BgL_tmpz00_3694);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Tools/trace.sch 53 */
									long BgL_idxz00_3227;

									BgL_idxz00_3227 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3226);
									BgL_test2022z00_3693 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3227 + 3L)) == BgL_classz00_3225);
								}
							else
								{	/* Tools/trace.sch 53 */
									bool_t BgL_res1949z00_3230;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_oclassz00_3231;

										{	/* Tools/trace.sch 53 */
											long BgL_arg1808z00_3232;

											{	/* Tools/trace.sch 53 */
												long BgL_arg1809z00_3233;

												BgL_arg1809z00_3233 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3226);
												BgL_arg1808z00_3232 =
													(BgL_arg1809z00_3233 - OBJECT_TYPE);
											}
											BgL_oclassz00_3231 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3232);
										}
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1115z00_3234;

											BgL__ortest_1115z00_3234 =
												(BgL_classz00_3225 == BgL_oclassz00_3231);
											if (BgL__ortest_1115z00_3234)
												{	/* Tools/trace.sch 53 */
													BgL_res1949z00_3230 = BgL__ortest_1115z00_3234;
												}
											else
												{	/* Tools/trace.sch 53 */
													long BgL_odepthz00_3235;

													BgL_odepthz00_3235 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3231);
													if ((3L < BgL_odepthz00_3235))
														{	/* Tools/trace.sch 53 */
															obj_t BgL_arg1797z00_3236;

															BgL_arg1797z00_3236 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3231, 3L);
															BgL_res1949z00_3230 =
																(BgL_arg1797z00_3236 == BgL_classz00_3225);
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_res1949z00_3230 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2022z00_3693 = BgL_res1949z00_3230;
								}
						}
					}
					if (BgL_test2022z00_3693)
						{	/* Tools/trace.sch 53 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_letzd2varzd2_bglt) BgL_nodez00_3141))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3142)))->BgL_typez00))))
								{	/* Tools/trace.sch 53 */
									if (
										(bgl_list_length(
												(((BgL_letzd2varzd2_bglt) COBJECT(
															((BgL_letzd2varzd2_bglt) BgL_nodez00_3141)))->
													BgL_bindingsz00)) ==
											bgl_list_length((((BgL_letzd2varzd2_bglt)
														COBJECT(((BgL_letzd2varzd2_bglt) ((BgL_nodez00_bglt)
																	BgL_node2z00_3142))))->BgL_bindingsz00))))
										{	/* Tools/trace.sch 53 */
											obj_t BgL_newzd2aliaszd2_3239;

											{	/* Tools/trace.sch 53 */
												obj_t BgL_arg1839z00_3240;

												{	/* Tools/trace.sch 53 */
													obj_t BgL_ll1276z00_3241;
													obj_t BgL_ll1277z00_3242;

													BgL_ll1276z00_3241 =
														(((BgL_letzd2varzd2_bglt) COBJECT(
																((BgL_letzd2varzd2_bglt) BgL_nodez00_3141)))->
														BgL_bindingsz00);
													BgL_ll1277z00_3242 =
														(((BgL_letzd2varzd2_bglt)
															COBJECT(((BgL_letzd2varzd2_bglt) (
																		(BgL_nodez00_bglt) BgL_node2z00_3142))))->
														BgL_bindingsz00);
													if (NULLP(BgL_ll1276z00_3241))
														{	/* Tools/trace.sch 53 */
															BgL_arg1839z00_3240 = BNIL;
														}
													else
														{	/* Tools/trace.sch 53 */
															obj_t BgL_head1278z00_3243;

															BgL_head1278z00_3243 =
																MAKE_YOUNG_PAIR(BNIL, BNIL);
															{
																obj_t BgL_ll1276z00_3245;
																obj_t BgL_ll1277z00_3246;
																obj_t BgL_tail1279z00_3247;

																BgL_ll1276z00_3245 = BgL_ll1276z00_3241;
																BgL_ll1277z00_3246 = BgL_ll1277z00_3242;
																BgL_tail1279z00_3247 = BgL_head1278z00_3243;
															BgL_zc3z04anonymousza31841ze3z87_3244:
																if (NULLP(BgL_ll1276z00_3245))
																	{	/* Tools/trace.sch 53 */
																		BgL_arg1839z00_3240 =
																			CDR(BgL_head1278z00_3243);
																	}
																else
																	{	/* Tools/trace.sch 53 */
																		obj_t BgL_newtail1280z00_3248;

																		{	/* Tools/trace.sch 53 */
																			obj_t BgL_arg1845z00_3249;

																			{	/* Tools/trace.sch 53 */
																				obj_t BgL_b1z00_3250;
																				obj_t BgL_b2z00_3251;

																				BgL_b1z00_3250 =
																					CAR(((obj_t) BgL_ll1276z00_3245));
																				BgL_b2z00_3251 =
																					CAR(((obj_t) BgL_ll1277z00_3246));
																				{	/* Tools/trace.sch 53 */
																					obj_t BgL_arg1846z00_3252;
																					obj_t BgL_arg1848z00_3253;

																					BgL_arg1846z00_3252 =
																						CAR(((obj_t) BgL_b1z00_3250));
																					BgL_arg1848z00_3253 =
																						CAR(((obj_t) BgL_b2z00_3251));
																					BgL_arg1845z00_3249 =
																						MAKE_YOUNG_PAIR(BgL_arg1846z00_3252,
																						BgL_arg1848z00_3253);
																				}
																			}
																			BgL_newtail1280z00_3248 =
																				MAKE_YOUNG_PAIR(BgL_arg1845z00_3249,
																				BNIL);
																		}
																		SET_CDR(BgL_tail1279z00_3247,
																			BgL_newtail1280z00_3248);
																		{	/* Tools/trace.sch 53 */
																			obj_t BgL_arg1843z00_3254;
																			obj_t BgL_arg1844z00_3255;

																			BgL_arg1843z00_3254 =
																				CDR(((obj_t) BgL_ll1276z00_3245));
																			BgL_arg1844z00_3255 =
																				CDR(((obj_t) BgL_ll1277z00_3246));
																			{
																				obj_t BgL_tail1279z00_3760;
																				obj_t BgL_ll1277z00_3759;
																				obj_t BgL_ll1276z00_3758;

																				BgL_ll1276z00_3758 =
																					BgL_arg1843z00_3254;
																				BgL_ll1277z00_3759 =
																					BgL_arg1844z00_3255;
																				BgL_tail1279z00_3760 =
																					BgL_newtail1280z00_3248;
																				BgL_tail1279z00_3247 =
																					BgL_tail1279z00_3760;
																				BgL_ll1277z00_3246 = BgL_ll1277z00_3759;
																				BgL_ll1276z00_3245 = BgL_ll1276z00_3758;
																				goto
																					BgL_zc3z04anonymousza31841ze3z87_3244;
																			}
																		}
																	}
															}
														}
												}
												BgL_newzd2aliaszd2_3239 =
													BGl_appendzd22z12zc0zz__r4_pairs_and_lists_6_3z00
													(BgL_arg1839z00_3240, BgL_aliasz00_3143);
											}
											{	/* Tools/trace.sch 53 */
												bool_t BgL_test2030z00_3762;

												{	/* Tools/trace.sch 53 */
													BgL_nodez00_bglt BgL_arg1837z00_3256;
													BgL_nodez00_bglt BgL_arg1838z00_3257;

													BgL_arg1837z00_3256 =
														(((BgL_letzd2varzd2_bglt) COBJECT(
																((BgL_letzd2varzd2_bglt) BgL_nodez00_3141)))->
														BgL_bodyz00);
													BgL_arg1838z00_3257 =
														(((BgL_letzd2varzd2_bglt)
															COBJECT(((BgL_letzd2varzd2_bglt) (
																		(BgL_nodez00_bglt) BgL_node2z00_3142))))->
														BgL_bodyz00);
													BgL_test2030z00_3762 =
														BGl_samezd2nodezf3z21zzreduce_samez00
														(BgL_arg1837z00_3256, BgL_arg1838z00_3257,
														BgL_newzd2aliaszd2_3239);
												}
												if (BgL_test2030z00_3762)
													{	/* Tools/trace.sch 53 */
														obj_t BgL_g1159z00_3258;
														obj_t BgL_g1160z00_3259;

														BgL_g1159z00_3258 =
															(((BgL_letzd2varzd2_bglt) COBJECT(
																	((BgL_letzd2varzd2_bglt) BgL_nodez00_3141)))->
															BgL_bindingsz00);
														BgL_g1160z00_3259 =
															(((BgL_letzd2varzd2_bglt)
																COBJECT(((BgL_letzd2varzd2_bglt) (
																			(BgL_nodez00_bglt) BgL_node2z00_3142))))->
															BgL_bindingsz00);
														{
															obj_t BgL_bindings1z00_3261;
															obj_t BgL_bindings2z00_3262;

															BgL_bindings1z00_3261 = BgL_g1159z00_3258;
															BgL_bindings2z00_3262 = BgL_g1160z00_3259;
														BgL_loopz00_3260:
															if (NULLP(BgL_bindings1z00_3261))
																{	/* Tools/trace.sch 53 */
																	BgL_tmpz00_3692 = ((bool_t) 1);
																}
															else
																{	/* Tools/trace.sch 53 */
																	bool_t BgL_test2032z00_3776;

																	{	/* Tools/trace.sch 53 */
																		bool_t BgL_test2033z00_3777;

																		{	/* Tools/trace.sch 53 */
																			obj_t BgL_tmpz00_3778;

																			{
																				BgL_variablez00_bglt BgL_auxz00_3779;

																				{
																					BgL_localz00_bglt BgL_auxz00_3780;

																					{	/* Tools/trace.sch 53 */
																						obj_t BgL_pairz00_3263;

																						BgL_pairz00_3263 =
																							CAR(
																							((obj_t) BgL_bindings1z00_3261));
																						BgL_auxz00_3780 =
																							((BgL_localz00_bglt)
																							CAR(BgL_pairz00_3263));
																					}
																					BgL_auxz00_3779 =
																						((BgL_variablez00_bglt)
																						BgL_auxz00_3780);
																				}
																				BgL_tmpz00_3778 =
																					(((BgL_variablez00_bglt)
																						COBJECT(BgL_auxz00_3779))->
																					BgL_accessz00);
																			}
																			BgL_test2033z00_3777 =
																				(BgL_tmpz00_3778 == CNST_TABLE_REF(0L));
																		}
																		if (BgL_test2033z00_3777)
																			{	/* Tools/trace.sch 53 */
																				obj_t BgL_tmpz00_3789;

																				{
																					BgL_variablez00_bglt BgL_auxz00_3790;

																					{
																						BgL_localz00_bglt BgL_auxz00_3791;

																						{	/* Tools/trace.sch 53 */
																							obj_t BgL_pairz00_3264;

																							BgL_pairz00_3264 =
																								CAR(
																								((obj_t)
																									BgL_bindings2z00_3262));
																							BgL_auxz00_3791 =
																								((BgL_localz00_bglt)
																								CAR(BgL_pairz00_3264));
																						}
																						BgL_auxz00_3790 =
																							((BgL_variablez00_bglt)
																							BgL_auxz00_3791);
																					}
																					BgL_tmpz00_3789 =
																						(((BgL_variablez00_bglt)
																							COBJECT(BgL_auxz00_3790))->
																						BgL_accessz00);
																				}
																				BgL_test2032z00_3776 =
																					(BgL_tmpz00_3789 ==
																					CNST_TABLE_REF(0L));
																			}
																		else
																			{	/* Tools/trace.sch 53 */
																				BgL_test2032z00_3776 = ((bool_t) 0);
																			}
																	}
																	if (BgL_test2032z00_3776)
																		{	/* Tools/trace.sch 53 */
																			bool_t BgL_test2034z00_3800;

																			{	/* Tools/trace.sch 53 */
																				obj_t BgL_arg1827z00_3265;
																				obj_t BgL_arg1828z00_3266;

																				{	/* Tools/trace.sch 53 */
																					obj_t BgL_pairz00_3267;

																					BgL_pairz00_3267 =
																						CAR(
																						((obj_t) BgL_bindings1z00_3261));
																					BgL_arg1827z00_3265 =
																						CDR(BgL_pairz00_3267);
																				}
																				{	/* Tools/trace.sch 53 */
																					obj_t BgL_pairz00_3268;

																					BgL_pairz00_3268 =
																						CAR(
																						((obj_t) BgL_bindings2z00_3262));
																					BgL_arg1828z00_3266 =
																						CDR(BgL_pairz00_3268);
																				}
																				BgL_test2034z00_3800 =
																					BGl_samezd2nodezf3z21zzreduce_samez00(
																					((BgL_nodez00_bglt)
																						BgL_arg1827z00_3265),
																					((BgL_nodez00_bglt)
																						BgL_arg1828z00_3266),
																					BgL_aliasz00_3143);
																			}
																			if (BgL_test2034z00_3800)
																				{	/* Tools/trace.sch 53 */
																					obj_t BgL_arg1825z00_3269;
																					obj_t BgL_arg1826z00_3270;

																					BgL_arg1825z00_3269 =
																						CDR(
																						((obj_t) BgL_bindings1z00_3261));
																					BgL_arg1826z00_3270 =
																						CDR(
																						((obj_t) BgL_bindings2z00_3262));
																					{
																						obj_t BgL_bindings2z00_3815;
																						obj_t BgL_bindings1z00_3814;

																						BgL_bindings1z00_3814 =
																							BgL_arg1825z00_3269;
																						BgL_bindings2z00_3815 =
																							BgL_arg1826z00_3270;
																						BgL_bindings2z00_3262 =
																							BgL_bindings2z00_3815;
																						BgL_bindings1z00_3261 =
																							BgL_bindings1z00_3814;
																						goto BgL_loopz00_3260;
																					}
																				}
																			else
																				{	/* Tools/trace.sch 53 */
																					BgL_tmpz00_3692 = ((bool_t) 0);
																				}
																		}
																	else
																		{	/* Tools/trace.sch 53 */
																			BgL_tmpz00_3692 = ((bool_t) 0);
																		}
																}
														}
													}
												else
													{	/* Tools/trace.sch 53 */
														BgL_tmpz00_3692 = ((bool_t) 0);
													}
											}
										}
									else
										{	/* Tools/trace.sch 53 */
											BgL_tmpz00_3692 = ((bool_t) 0);
										}
								}
							else
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_3692 = ((bool_t) 0);
								}
						}
					else
						{	/* Tools/trace.sch 53 */
							BgL_tmpz00_3692 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_3692);
			}
		}

	}



/* &same-node?-fail1315 */
	obj_t BGl_z62samezd2nodezf3zd2fail1315z91zzreduce_samez00(obj_t
		BgL_envz00_3144, obj_t BgL_nodez00_3145, obj_t BgL_node2z00_3146,
		obj_t BgL_aliasz00_3147)
	{
		{	/* Reduce/same.scm 180 */
			{	/* Tools/trace.sch 53 */
				bool_t BgL_tmpz00_3817;

				{	/* Tools/trace.sch 53 */
					bool_t BgL_test2035z00_3818;

					{	/* Tools/trace.sch 53 */
						obj_t BgL_classz00_3273;

						BgL_classz00_3273 = BGl_failz00zzast_nodez00;
						{	/* Tools/trace.sch 53 */
							BgL_objectz00_bglt BgL_arg1801z00_3274;

							{	/* Tools/trace.sch 53 */
								obj_t BgL_tmpz00_3819;

								BgL_tmpz00_3819 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3146));
								BgL_arg1801z00_3274 = (BgL_objectz00_bglt) (BgL_tmpz00_3819);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Tools/trace.sch 53 */
									long BgL_idxz00_3275;

									BgL_idxz00_3275 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3274);
									BgL_test2035z00_3818 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3275 + 2L)) == BgL_classz00_3273);
								}
							else
								{	/* Tools/trace.sch 53 */
									bool_t BgL_res1948z00_3278;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_oclassz00_3279;

										{	/* Tools/trace.sch 53 */
											long BgL_arg1808z00_3280;

											{	/* Tools/trace.sch 53 */
												long BgL_arg1809z00_3281;

												BgL_arg1809z00_3281 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3274);
												BgL_arg1808z00_3280 =
													(BgL_arg1809z00_3281 - OBJECT_TYPE);
											}
											BgL_oclassz00_3279 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3280);
										}
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1115z00_3282;

											BgL__ortest_1115z00_3282 =
												(BgL_classz00_3273 == BgL_oclassz00_3279);
											if (BgL__ortest_1115z00_3282)
												{	/* Tools/trace.sch 53 */
													BgL_res1948z00_3278 = BgL__ortest_1115z00_3282;
												}
											else
												{	/* Tools/trace.sch 53 */
													long BgL_odepthz00_3283;

													BgL_odepthz00_3283 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3279);
													if ((2L < BgL_odepthz00_3283))
														{	/* Tools/trace.sch 53 */
															obj_t BgL_arg1797z00_3284;

															BgL_arg1797z00_3284 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3279, 2L);
															BgL_res1948z00_3278 =
																(BgL_arg1797z00_3284 == BgL_classz00_3273);
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_res1948z00_3278 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2035z00_3818 = BgL_res1948z00_3278;
								}
						}
					}
					if (BgL_test2035z00_3818)
						{	/* Tools/trace.sch 53 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_failz00_bglt) BgL_nodez00_3145))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3146)))->BgL_typez00))))
								{	/* Tools/trace.sch 53 */
									bool_t BgL_test2040z00_3848;

									{	/* Tools/trace.sch 53 */
										BgL_nodez00_bglt BgL_arg1752z00_3285;
										BgL_nodez00_bglt BgL_arg1753z00_3286;

										BgL_arg1752z00_3285 =
											(((BgL_failz00_bglt) COBJECT(
													((BgL_failz00_bglt) BgL_nodez00_3145)))->BgL_msgz00);
										BgL_arg1753z00_3286 =
											(((BgL_failz00_bglt) COBJECT(
													((BgL_failz00_bglt)
														((BgL_nodez00_bglt) BgL_node2z00_3146))))->
											BgL_msgz00);
										BgL_test2040z00_3848 =
											BGl_samezd2nodezf3z21zzreduce_samez00(BgL_arg1752z00_3285,
											BgL_arg1753z00_3286, BgL_aliasz00_3147);
									}
									if (BgL_test2040z00_3848)
										{	/* Tools/trace.sch 53 */
											bool_t BgL_test2041z00_3855;

											{	/* Tools/trace.sch 53 */
												BgL_nodez00_bglt BgL_arg1750z00_3287;
												BgL_nodez00_bglt BgL_arg1751z00_3288;

												BgL_arg1750z00_3287 =
													(((BgL_failz00_bglt) COBJECT(
															((BgL_failz00_bglt) BgL_nodez00_3145)))->
													BgL_procz00);
												BgL_arg1751z00_3288 =
													(((BgL_failz00_bglt)
														COBJECT(((BgL_failz00_bglt) ((BgL_nodez00_bglt)
																	BgL_node2z00_3146))))->BgL_procz00);
												BgL_test2041z00_3855 =
													BGl_samezd2nodezf3z21zzreduce_samez00
													(BgL_arg1750z00_3287, BgL_arg1751z00_3288,
													BgL_aliasz00_3147);
											}
											if (BgL_test2041z00_3855)
												{	/* Tools/trace.sch 53 */
													BgL_nodez00_bglt BgL_arg1748z00_3289;
													BgL_nodez00_bglt BgL_arg1749z00_3290;

													BgL_arg1748z00_3289 =
														(((BgL_failz00_bglt) COBJECT(
																((BgL_failz00_bglt) BgL_nodez00_3145)))->
														BgL_objz00);
													BgL_arg1749z00_3290 =
														(((BgL_failz00_bglt)
															COBJECT(((BgL_failz00_bglt) ((BgL_nodez00_bglt)
																		BgL_node2z00_3146))))->BgL_objz00);
													BgL_tmpz00_3817 =
														BGl_samezd2nodezf3z21zzreduce_samez00
														(BgL_arg1748z00_3289, BgL_arg1749z00_3290,
														BgL_aliasz00_3147);
												}
											else
												{	/* Tools/trace.sch 53 */
													BgL_tmpz00_3817 = ((bool_t) 0);
												}
										}
									else
										{	/* Tools/trace.sch 53 */
											BgL_tmpz00_3817 = ((bool_t) 0);
										}
								}
							else
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_3817 = ((bool_t) 0);
								}
						}
					else
						{	/* Tools/trace.sch 53 */
							BgL_tmpz00_3817 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_3817);
			}
		}

	}



/* &same-node?-condition1313 */
	obj_t BGl_z62samezd2nodezf3zd2condition1313z91zzreduce_samez00(obj_t
		BgL_envz00_3148, obj_t BgL_nodez00_3149, obj_t BgL_node2z00_3150,
		obj_t BgL_aliasz00_3151)
	{
		{	/* Reduce/same.scm 167 */
			{	/* Tools/trace.sch 53 */
				bool_t BgL_tmpz00_3869;

				{	/* Tools/trace.sch 53 */
					bool_t BgL_test2042z00_3870;

					{	/* Tools/trace.sch 53 */
						obj_t BgL_classz00_3293;

						BgL_classz00_3293 = BGl_conditionalz00zzast_nodez00;
						{	/* Tools/trace.sch 53 */
							BgL_objectz00_bglt BgL_arg1801z00_3294;

							{	/* Tools/trace.sch 53 */
								obj_t BgL_tmpz00_3871;

								BgL_tmpz00_3871 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3150));
								BgL_arg1801z00_3294 = (BgL_objectz00_bglt) (BgL_tmpz00_3871);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Tools/trace.sch 53 */
									long BgL_idxz00_3295;

									BgL_idxz00_3295 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3294);
									BgL_test2042z00_3870 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3295 + 3L)) == BgL_classz00_3293);
								}
							else
								{	/* Tools/trace.sch 53 */
									bool_t BgL_res1947z00_3298;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_oclassz00_3299;

										{	/* Tools/trace.sch 53 */
											long BgL_arg1808z00_3300;

											{	/* Tools/trace.sch 53 */
												long BgL_arg1809z00_3301;

												BgL_arg1809z00_3301 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3294);
												BgL_arg1808z00_3300 =
													(BgL_arg1809z00_3301 - OBJECT_TYPE);
											}
											BgL_oclassz00_3299 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3300);
										}
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1115z00_3302;

											BgL__ortest_1115z00_3302 =
												(BgL_classz00_3293 == BgL_oclassz00_3299);
											if (BgL__ortest_1115z00_3302)
												{	/* Tools/trace.sch 53 */
													BgL_res1947z00_3298 = BgL__ortest_1115z00_3302;
												}
											else
												{	/* Tools/trace.sch 53 */
													long BgL_odepthz00_3303;

													BgL_odepthz00_3303 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3299);
													if ((3L < BgL_odepthz00_3303))
														{	/* Tools/trace.sch 53 */
															obj_t BgL_arg1797z00_3304;

															BgL_arg1797z00_3304 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3299, 3L);
															BgL_res1947z00_3298 =
																(BgL_arg1797z00_3304 == BgL_classz00_3293);
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_res1947z00_3298 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2042z00_3870 = BgL_res1947z00_3298;
								}
						}
					}
					if (BgL_test2042z00_3870)
						{	/* Tools/trace.sch 53 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_conditionalz00_bglt) BgL_nodez00_3149))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3150)))->BgL_typez00))))
								{	/* Tools/trace.sch 53 */
									bool_t BgL_test2047z00_3900;

									{	/* Tools/trace.sch 53 */
										BgL_nodez00_bglt BgL_arg1741z00_3305;
										BgL_nodez00_bglt BgL_arg1745z00_3306;

										BgL_arg1741z00_3305 =
											(((BgL_conditionalz00_bglt) COBJECT(
													((BgL_conditionalz00_bglt) BgL_nodez00_3149)))->
											BgL_falsez00);
										BgL_arg1745z00_3306 =
											(((BgL_conditionalz00_bglt)
												COBJECT(((BgL_conditionalz00_bglt) ((BgL_nodez00_bglt)
															BgL_node2z00_3150))))->BgL_falsez00);
										BgL_test2047z00_3900 =
											BGl_samezd2nodezf3z21zzreduce_samez00(BgL_arg1741z00_3305,
											BgL_arg1745z00_3306, BgL_aliasz00_3151);
									}
									if (BgL_test2047z00_3900)
										{	/* Tools/trace.sch 53 */
											bool_t BgL_test2048z00_3907;

											{	/* Tools/trace.sch 53 */
												BgL_nodez00_bglt BgL_arg1736z00_3307;
												BgL_nodez00_bglt BgL_arg1739z00_3308;

												BgL_arg1736z00_3307 =
													(((BgL_conditionalz00_bglt) COBJECT(
															((BgL_conditionalz00_bglt) BgL_nodez00_3149)))->
													BgL_truez00);
												BgL_arg1739z00_3308 =
													(((BgL_conditionalz00_bglt)
														COBJECT(((BgL_conditionalz00_bglt) (
																	(BgL_nodez00_bglt) BgL_node2z00_3150))))->
													BgL_truez00);
												BgL_test2048z00_3907 =
													BGl_samezd2nodezf3z21zzreduce_samez00
													(BgL_arg1736z00_3307, BgL_arg1739z00_3308,
													BgL_aliasz00_3151);
											}
											if (BgL_test2048z00_3907)
												{	/* Tools/trace.sch 53 */
													BgL_nodez00_bglt BgL_arg1734z00_3309;
													BgL_nodez00_bglt BgL_arg1735z00_3310;

													BgL_arg1734z00_3309 =
														(((BgL_conditionalz00_bglt) COBJECT(
																((BgL_conditionalz00_bglt) BgL_nodez00_3149)))->
														BgL_testz00);
													BgL_arg1735z00_3310 =
														(((BgL_conditionalz00_bglt)
															COBJECT(((BgL_conditionalz00_bglt) (
																		(BgL_nodez00_bglt) BgL_node2z00_3150))))->
														BgL_testz00);
													BgL_tmpz00_3869 =
														BGl_samezd2nodezf3z21zzreduce_samez00
														(BgL_arg1734z00_3309, BgL_arg1735z00_3310,
														BgL_aliasz00_3151);
												}
											else
												{	/* Tools/trace.sch 53 */
													BgL_tmpz00_3869 = ((bool_t) 0);
												}
										}
									else
										{	/* Tools/trace.sch 53 */
											BgL_tmpz00_3869 = ((bool_t) 0);
										}
								}
							else
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_3869 = ((bool_t) 0);
								}
						}
					else
						{	/* Tools/trace.sch 53 */
							BgL_tmpz00_3869 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_3869);
			}
		}

	}



/* &same-node?-cast1311 */
	obj_t BGl_z62samezd2nodezf3zd2cast1311z91zzreduce_samez00(obj_t
		BgL_envz00_3152, obj_t BgL_nodez00_3153, obj_t BgL_node2z00_3154,
		obj_t BgL_aliasz00_3155)
	{
		{	/* Reduce/same.scm 159 */
			{	/* Reduce/same.scm 160 */
				bool_t BgL_tmpz00_3921;

				{	/* Reduce/same.scm 160 */
					bool_t BgL_test2049z00_3922;

					{	/* Reduce/same.scm 160 */
						obj_t BgL_classz00_3313;

						BgL_classz00_3313 = BGl_castz00zzast_nodez00;
						{	/* Reduce/same.scm 160 */
							BgL_objectz00_bglt BgL_arg1801z00_3314;

							{	/* Reduce/same.scm 160 */
								obj_t BgL_tmpz00_3923;

								BgL_tmpz00_3923 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3154));
								BgL_arg1801z00_3314 = (BgL_objectz00_bglt) (BgL_tmpz00_3923);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 160 */
									long BgL_idxz00_3315;

									BgL_idxz00_3315 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3314);
									BgL_test2049z00_3922 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3315 + 2L)) == BgL_classz00_3313);
								}
							else
								{	/* Reduce/same.scm 160 */
									bool_t BgL_res1946z00_3318;

									{	/* Reduce/same.scm 160 */
										obj_t BgL_oclassz00_3319;

										{	/* Reduce/same.scm 160 */
											long BgL_arg1808z00_3320;

											{	/* Reduce/same.scm 160 */
												long BgL_arg1809z00_3321;

												BgL_arg1809z00_3321 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3314);
												BgL_arg1808z00_3320 =
													(BgL_arg1809z00_3321 - OBJECT_TYPE);
											}
											BgL_oclassz00_3319 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3320);
										}
										{	/* Reduce/same.scm 160 */
											bool_t BgL__ortest_1115z00_3322;

											BgL__ortest_1115z00_3322 =
												(BgL_classz00_3313 == BgL_oclassz00_3319);
											if (BgL__ortest_1115z00_3322)
												{	/* Reduce/same.scm 160 */
													BgL_res1946z00_3318 = BgL__ortest_1115z00_3322;
												}
											else
												{	/* Reduce/same.scm 160 */
													long BgL_odepthz00_3323;

													BgL_odepthz00_3323 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3319);
													if ((2L < BgL_odepthz00_3323))
														{	/* Reduce/same.scm 160 */
															obj_t BgL_arg1797z00_3324;

															BgL_arg1797z00_3324 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3319, 2L);
															BgL_res1946z00_3318 =
																(BgL_arg1797z00_3324 == BgL_classz00_3313);
														}
													else
														{	/* Reduce/same.scm 160 */
															BgL_res1946z00_3318 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2049z00_3922 = BgL_res1946z00_3318;
								}
						}
					}
					if (BgL_test2049z00_3922)
						{	/* Reduce/same.scm 160 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_castz00_bglt) BgL_nodez00_3153))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3154)))->BgL_typez00))))
								{	/* Reduce/same.scm 162 */
									BgL_nodez00_bglt BgL_arg1730z00_3325;
									BgL_nodez00_bglt BgL_arg1731z00_3326;

									BgL_arg1730z00_3325 =
										(((BgL_castz00_bglt) COBJECT(
												((BgL_castz00_bglt) BgL_nodez00_3153)))->BgL_argz00);
									BgL_arg1731z00_3326 =
										(((BgL_castz00_bglt) COBJECT(
												((BgL_castz00_bglt)
													((BgL_nodez00_bglt) BgL_node2z00_3154))))->
										BgL_argz00);
									BgL_tmpz00_3921 =
										BGl_samezd2nodezf3z21zzreduce_samez00(BgL_arg1730z00_3325,
										BgL_arg1731z00_3326, BgL_aliasz00_3155);
								}
							else
								{	/* Reduce/same.scm 161 */
									BgL_tmpz00_3921 = ((bool_t) 0);
								}
						}
					else
						{	/* Reduce/same.scm 160 */
							BgL_tmpz00_3921 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_3921);
			}
		}

	}



/* &same-node?-valloc1309 */
	obj_t BGl_z62samezd2nodezf3zd2valloc1309z91zzreduce_samez00(obj_t
		BgL_envz00_3156, obj_t BgL_nodez00_3157, obj_t BgL_node2z00_3158,
		obj_t BgL_aliasz00_3159)
	{
		{	/* Reduce/same.scm 153 */
			return BBOOL(((bool_t) 0));
		}

	}



/* &same-node?-setfield1307 */
	obj_t BGl_z62samezd2nodezf3zd2setfield1307z91zzreduce_samez00(obj_t
		BgL_envz00_3160, obj_t BgL_nodez00_3161, obj_t BgL_node2z00_3162,
		obj_t BgL_aliasz00_3163)
	{
		{	/* Reduce/same.scm 145 */
			{

				{	/* Reduce/same.scm 146 */
					bool_t BgL_test2054z00_3960;

					{	/* Reduce/same.scm 146 */
						obj_t BgL_classz00_3333;

						BgL_classz00_3333 = BGl_setfieldz00zzast_nodez00;
						{	/* Reduce/same.scm 146 */
							BgL_objectz00_bglt BgL_arg1801z00_3334;

							{	/* Reduce/same.scm 146 */
								obj_t BgL_tmpz00_3961;

								BgL_tmpz00_3961 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3162));
								BgL_arg1801z00_3334 = (BgL_objectz00_bglt) (BgL_tmpz00_3961);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 146 */
									long BgL_idxz00_3335;

									BgL_idxz00_3335 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3334);
									BgL_test2054z00_3960 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3335 + 5L)) == BgL_classz00_3333);
								}
							else
								{	/* Reduce/same.scm 146 */
									bool_t BgL_res1945z00_3338;

									{	/* Reduce/same.scm 146 */
										obj_t BgL_oclassz00_3339;

										{	/* Reduce/same.scm 146 */
											long BgL_arg1808z00_3340;

											{	/* Reduce/same.scm 146 */
												long BgL_arg1809z00_3341;

												BgL_arg1809z00_3341 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3334);
												BgL_arg1808z00_3340 =
													(BgL_arg1809z00_3341 - OBJECT_TYPE);
											}
											BgL_oclassz00_3339 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3340);
										}
										{	/* Reduce/same.scm 146 */
											bool_t BgL__ortest_1115z00_3342;

											BgL__ortest_1115z00_3342 =
												(BgL_classz00_3333 == BgL_oclassz00_3339);
											if (BgL__ortest_1115z00_3342)
												{	/* Reduce/same.scm 146 */
													BgL_res1945z00_3338 = BgL__ortest_1115z00_3342;
												}
											else
												{	/* Reduce/same.scm 146 */
													long BgL_odepthz00_3343;

													BgL_odepthz00_3343 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3339);
													if ((5L < BgL_odepthz00_3343))
														{	/* Reduce/same.scm 146 */
															obj_t BgL_arg1797z00_3344;

															BgL_arg1797z00_3344 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3339, 5L);
															BgL_res1945z00_3338 =
																(BgL_arg1797z00_3344 == BgL_classz00_3333);
														}
													else
														{	/* Reduce/same.scm 146 */
															BgL_res1945z00_3338 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2054z00_3960 = BgL_res1945z00_3338;
								}
						}
					}
					if (BgL_test2054z00_3960)
						{	/* Reduce/same.scm 147 */
							bool_t BgL_test2058z00_3981;

							{	/* Reduce/same.scm 147 */
								obj_t BgL_arg1718z00_3345;
								obj_t BgL_arg1729z00_3346;

								BgL_arg1718z00_3345 =
									(((BgL_setfieldz00_bglt) COBJECT(
											((BgL_setfieldz00_bglt) BgL_nodez00_3161)))->
									BgL_fnamez00);
								BgL_arg1729z00_3346 =
									(((BgL_setfieldz00_bglt)
										COBJECT(((BgL_setfieldz00_bglt) ((BgL_nodez00_bglt)
													BgL_node2z00_3162))))->BgL_fnamez00);
								{	/* Reduce/same.scm 147 */
									long BgL_l1z00_3347;

									BgL_l1z00_3347 = STRING_LENGTH(BgL_arg1718z00_3345);
									if ((BgL_l1z00_3347 == STRING_LENGTH(BgL_arg1729z00_3346)))
										{	/* Reduce/same.scm 147 */
											int BgL_arg1303z00_3348;

											{	/* Reduce/same.scm 147 */
												char *BgL_auxz00_3993;
												char *BgL_tmpz00_3991;

												BgL_auxz00_3993 =
													BSTRING_TO_STRING(BgL_arg1729z00_3346);
												BgL_tmpz00_3991 =
													BSTRING_TO_STRING(BgL_arg1718z00_3345);
												BgL_arg1303z00_3348 =
													memcmp(BgL_tmpz00_3991, BgL_auxz00_3993,
													BgL_l1z00_3347);
											}
											BgL_test2058z00_3981 =
												((long) (BgL_arg1303z00_3348) == 0L);
										}
									else
										{	/* Reduce/same.scm 147 */
											BgL_test2058z00_3981 = ((bool_t) 0);
										}
								}
							}
							if (BgL_test2058z00_3981)
								{	/* Reduce/same.scm 147 */
									{	/* Reduce/same.scm 145 */
										obj_t BgL_nextzd2method1306zd2_3332;

										BgL_nextzd2method1306zd2_3332 =
											BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
											((BgL_objectz00_bglt)
												((BgL_setfieldz00_bglt) BgL_nodez00_3161)),
											BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
											BGl_setfieldz00zzast_nodez00);
										return (VA_PROCEDUREP(BgL_nextzd2method1306zd2_3332)
											? ((obj_t(*)(obj_t,
														...))
												PROCEDURE_ENTRY(BgL_nextzd2method1306zd2_3332))
											(BgL_nextzd2method1306zd2_3332,
												((obj_t) ((BgL_setfieldz00_bglt) BgL_nodez00_3161)),
												((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3162)),
												BgL_aliasz00_3163, BEOA) : ((obj_t(*)(obj_t, obj_t,
														obj_t,
														obj_t))
												PROCEDURE_ENTRY(BgL_nextzd2method1306zd2_3332))
											(BgL_nextzd2method1306zd2_3332,
												((obj_t) ((BgL_setfieldz00_bglt) BgL_nodez00_3161)),
												((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3162)),
												BgL_aliasz00_3163));
									}
								}
							else
								{	/* Reduce/same.scm 147 */
									return BFALSE;
								}
						}
					else
						{	/* Reduce/same.scm 146 */
							return BFALSE;
						}
				}
			}
		}

	}



/* &same-node?-getfield1305 */
	obj_t BGl_z62samezd2nodezf3zd2getfield1305z91zzreduce_samez00(obj_t
		BgL_envz00_3164, obj_t BgL_nodez00_3165, obj_t BgL_node2z00_3166,
		obj_t BgL_aliasz00_3167)
	{
		{	/* Reduce/same.scm 137 */
			{

				{	/* Reduce/same.scm 138 */
					bool_t BgL_test2060z00_4011;

					{	/* Reduce/same.scm 138 */
						obj_t BgL_classz00_3353;

						BgL_classz00_3353 = BGl_getfieldz00zzast_nodez00;
						{	/* Reduce/same.scm 138 */
							BgL_objectz00_bglt BgL_arg1801z00_3354;

							{	/* Reduce/same.scm 138 */
								obj_t BgL_tmpz00_4012;

								BgL_tmpz00_4012 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3166));
								BgL_arg1801z00_3354 = (BgL_objectz00_bglt) (BgL_tmpz00_4012);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 138 */
									long BgL_idxz00_3355;

									BgL_idxz00_3355 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3354);
									BgL_test2060z00_4011 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3355 + 5L)) == BgL_classz00_3353);
								}
							else
								{	/* Reduce/same.scm 138 */
									bool_t BgL_res1944z00_3358;

									{	/* Reduce/same.scm 138 */
										obj_t BgL_oclassz00_3359;

										{	/* Reduce/same.scm 138 */
											long BgL_arg1808z00_3360;

											{	/* Reduce/same.scm 138 */
												long BgL_arg1809z00_3361;

												BgL_arg1809z00_3361 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3354);
												BgL_arg1808z00_3360 =
													(BgL_arg1809z00_3361 - OBJECT_TYPE);
											}
											BgL_oclassz00_3359 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3360);
										}
										{	/* Reduce/same.scm 138 */
											bool_t BgL__ortest_1115z00_3362;

											BgL__ortest_1115z00_3362 =
												(BgL_classz00_3353 == BgL_oclassz00_3359);
											if (BgL__ortest_1115z00_3362)
												{	/* Reduce/same.scm 138 */
													BgL_res1944z00_3358 = BgL__ortest_1115z00_3362;
												}
											else
												{	/* Reduce/same.scm 138 */
													long BgL_odepthz00_3363;

													BgL_odepthz00_3363 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3359);
													if ((5L < BgL_odepthz00_3363))
														{	/* Reduce/same.scm 138 */
															obj_t BgL_arg1797z00_3364;

															BgL_arg1797z00_3364 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3359, 5L);
															BgL_res1944z00_3358 =
																(BgL_arg1797z00_3364 == BgL_classz00_3353);
														}
													else
														{	/* Reduce/same.scm 138 */
															BgL_res1944z00_3358 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2060z00_4011 = BgL_res1944z00_3358;
								}
						}
					}
					if (BgL_test2060z00_4011)
						{	/* Reduce/same.scm 139 */
							bool_t BgL_test2064z00_4032;

							{	/* Reduce/same.scm 139 */
								obj_t BgL_arg1715z00_3365;
								obj_t BgL_arg1717z00_3366;

								BgL_arg1715z00_3365 =
									(((BgL_getfieldz00_bglt) COBJECT(
											((BgL_getfieldz00_bglt) BgL_nodez00_3165)))->
									BgL_fnamez00);
								BgL_arg1717z00_3366 =
									(((BgL_getfieldz00_bglt)
										COBJECT(((BgL_getfieldz00_bglt) ((BgL_nodez00_bglt)
													BgL_node2z00_3166))))->BgL_fnamez00);
								{	/* Reduce/same.scm 139 */
									long BgL_l1z00_3367;

									BgL_l1z00_3367 = STRING_LENGTH(BgL_arg1715z00_3365);
									if ((BgL_l1z00_3367 == STRING_LENGTH(BgL_arg1717z00_3366)))
										{	/* Reduce/same.scm 139 */
											int BgL_arg1303z00_3368;

											{	/* Reduce/same.scm 139 */
												char *BgL_auxz00_4044;
												char *BgL_tmpz00_4042;

												BgL_auxz00_4044 =
													BSTRING_TO_STRING(BgL_arg1717z00_3366);
												BgL_tmpz00_4042 =
													BSTRING_TO_STRING(BgL_arg1715z00_3365);
												BgL_arg1303z00_3368 =
													memcmp(BgL_tmpz00_4042, BgL_auxz00_4044,
													BgL_l1z00_3367);
											}
											BgL_test2064z00_4032 =
												((long) (BgL_arg1303z00_3368) == 0L);
										}
									else
										{	/* Reduce/same.scm 139 */
											BgL_test2064z00_4032 = ((bool_t) 0);
										}
								}
							}
							if (BgL_test2064z00_4032)
								{	/* Reduce/same.scm 139 */
									{	/* Reduce/same.scm 137 */
										obj_t BgL_nextzd2method1304zd2_3352;

										BgL_nextzd2method1304zd2_3352 =
											BGl_findzd2superzd2classzd2methodzd2zz__objectz00(
											((BgL_objectz00_bglt)
												((BgL_getfieldz00_bglt) BgL_nodez00_3165)),
											BGl_samezd2nodezf3zd2envzf3zzreduce_samez00,
											BGl_getfieldz00zzast_nodez00);
										return (VA_PROCEDUREP(BgL_nextzd2method1304zd2_3352)
											? ((obj_t(*)(obj_t,
														...))
												PROCEDURE_ENTRY(BgL_nextzd2method1304zd2_3352))
											(BgL_nextzd2method1304zd2_3352,
												((obj_t) ((BgL_getfieldz00_bglt) BgL_nodez00_3165)),
												((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3166)),
												BgL_aliasz00_3167, BEOA) : ((obj_t(*)(obj_t, obj_t,
														obj_t,
														obj_t))
												PROCEDURE_ENTRY(BgL_nextzd2method1304zd2_3352))
											(BgL_nextzd2method1304zd2_3352,
												((obj_t) ((BgL_getfieldz00_bglt) BgL_nodez00_3165)),
												((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3166)),
												BgL_aliasz00_3167));
									}
								}
							else
								{	/* Reduce/same.scm 139 */
									return BFALSE;
								}
						}
					else
						{	/* Reduce/same.scm 138 */
							return BFALSE;
						}
				}
			}
		}

	}



/* &same-node?-pragma1303 */
	obj_t BGl_z62samezd2nodezf3zd2pragma1303z91zzreduce_samez00(obj_t
		BgL_envz00_3168, obj_t BgL_nodez00_3169, obj_t BgL_node2z00_3170,
		obj_t BgL_aliasz00_3171)
	{
		{	/* Reduce/same.scm 128 */
			{	/* Reduce/same.scm 129 */
				bool_t BgL_tmpz00_4062;

				{	/* Reduce/same.scm 129 */
					bool_t BgL_test2066z00_4063;

					{	/* Reduce/same.scm 129 */
						obj_t BgL_classz00_3371;

						BgL_classz00_3371 = BGl_pragmaz00zzast_nodez00;
						{	/* Reduce/same.scm 129 */
							BgL_objectz00_bglt BgL_arg1801z00_3372;

							{	/* Reduce/same.scm 129 */
								obj_t BgL_tmpz00_4064;

								BgL_tmpz00_4064 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3170));
								BgL_arg1801z00_3372 = (BgL_objectz00_bglt) (BgL_tmpz00_4064);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 129 */
									long BgL_idxz00_3373;

									BgL_idxz00_3373 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3372);
									BgL_test2066z00_4063 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3373 + 4L)) == BgL_classz00_3371);
								}
							else
								{	/* Reduce/same.scm 129 */
									bool_t BgL_res1943z00_3376;

									{	/* Reduce/same.scm 129 */
										obj_t BgL_oclassz00_3377;

										{	/* Reduce/same.scm 129 */
											long BgL_arg1808z00_3378;

											{	/* Reduce/same.scm 129 */
												long BgL_arg1809z00_3379;

												BgL_arg1809z00_3379 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3372);
												BgL_arg1808z00_3378 =
													(BgL_arg1809z00_3379 - OBJECT_TYPE);
											}
											BgL_oclassz00_3377 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3378);
										}
										{	/* Reduce/same.scm 129 */
											bool_t BgL__ortest_1115z00_3380;

											BgL__ortest_1115z00_3380 =
												(BgL_classz00_3371 == BgL_oclassz00_3377);
											if (BgL__ortest_1115z00_3380)
												{	/* Reduce/same.scm 129 */
													BgL_res1943z00_3376 = BgL__ortest_1115z00_3380;
												}
											else
												{	/* Reduce/same.scm 129 */
													long BgL_odepthz00_3381;

													BgL_odepthz00_3381 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3377);
													if ((4L < BgL_odepthz00_3381))
														{	/* Reduce/same.scm 129 */
															obj_t BgL_arg1797z00_3382;

															BgL_arg1797z00_3382 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3377, 4L);
															BgL_res1943z00_3376 =
																(BgL_arg1797z00_3382 == BgL_classz00_3371);
														}
													else
														{	/* Reduce/same.scm 129 */
															BgL_res1943z00_3376 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2066z00_4063 = BgL_res1943z00_3376;
								}
						}
					}
					if (BgL_test2066z00_4063)
						{	/* Reduce/same.scm 129 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_pragmaz00_bglt) BgL_nodez00_3169))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3170)))->BgL_typez00))))
								{	/* Reduce/same.scm 131 */
									bool_t BgL_test2071z00_4093;

									{	/* Reduce/same.scm 131 */
										obj_t BgL_arg1709z00_3383;
										obj_t BgL_arg1710z00_3384;

										BgL_arg1709z00_3383 =
											(((BgL_pragmaz00_bglt) COBJECT(
													((BgL_pragmaz00_bglt) BgL_nodez00_3169)))->
											BgL_formatz00);
										BgL_arg1710z00_3384 =
											(((BgL_pragmaz00_bglt)
												COBJECT(((BgL_pragmaz00_bglt) ((BgL_nodez00_bglt)
															BgL_node2z00_3170))))->BgL_formatz00);
										{	/* Reduce/same.scm 131 */
											long BgL_l1z00_3385;

											BgL_l1z00_3385 = STRING_LENGTH(BgL_arg1709z00_3383);
											if (
												(BgL_l1z00_3385 == STRING_LENGTH(BgL_arg1710z00_3384)))
												{	/* Reduce/same.scm 131 */
													int BgL_arg1303z00_3386;

													{	/* Reduce/same.scm 131 */
														char *BgL_auxz00_4105;
														char *BgL_tmpz00_4103;

														BgL_auxz00_4105 =
															BSTRING_TO_STRING(BgL_arg1710z00_3384);
														BgL_tmpz00_4103 =
															BSTRING_TO_STRING(BgL_arg1709z00_3383);
														BgL_arg1303z00_3386 =
															memcmp(BgL_tmpz00_4103, BgL_auxz00_4105,
															BgL_l1z00_3385);
													}
													BgL_test2071z00_4093 =
														((long) (BgL_arg1303z00_3386) == 0L);
												}
											else
												{	/* Reduce/same.scm 131 */
													BgL_test2071z00_4093 = ((bool_t) 0);
												}
										}
									}
									if (BgL_test2071z00_4093)
										{	/* Reduce/same.scm 132 */
											obj_t BgL_arg1707z00_3387;
											obj_t BgL_arg1708z00_3388;

											BgL_arg1707z00_3387 =
												(((BgL_externz00_bglt) COBJECT(
														((BgL_externz00_bglt)
															((BgL_pragmaz00_bglt) BgL_nodez00_3169))))->
												BgL_exprza2za2);
											BgL_arg1708z00_3388 =
												(((BgL_externz00_bglt)
													COBJECT(((BgL_externz00_bglt) ((BgL_pragmaz00_bglt) (
																	(BgL_nodez00_bglt) BgL_node2z00_3170)))))->
												BgL_exprza2za2);
											BgL_tmpz00_4062 =
												BGl_samezd2nodeza2zf3z83zzreduce_samez00
												(BgL_arg1707z00_3387, BgL_arg1708z00_3388,
												BgL_aliasz00_3171);
										}
									else
										{	/* Reduce/same.scm 131 */
											BgL_tmpz00_4062 = ((bool_t) 0);
										}
								}
							else
								{	/* Reduce/same.scm 130 */
									BgL_tmpz00_4062 = ((bool_t) 0);
								}
						}
					else
						{	/* Reduce/same.scm 129 */
							BgL_tmpz00_4062 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4062);
			}
		}

	}



/* &same-node?-extern1301 */
	obj_t BGl_z62samezd2nodezf3zd2extern1301z91zzreduce_samez00(obj_t
		BgL_envz00_3172, obj_t BgL_nodez00_3173, obj_t BgL_node2z00_3174,
		obj_t BgL_aliasz00_3175)
	{
		{	/* Reduce/same.scm 117 */
			{	/* Tools/trace.sch 53 */
				bool_t BgL_tmpz00_4119;

				{	/* Tools/trace.sch 53 */
					bool_t BgL_test2073z00_4120;

					{	/* Tools/trace.sch 53 */
						obj_t BgL_classz00_3391;

						BgL_classz00_3391 = BGl_externz00zzast_nodez00;
						{	/* Tools/trace.sch 53 */
							BgL_objectz00_bglt BgL_arg1801z00_3392;

							{	/* Tools/trace.sch 53 */
								obj_t BgL_tmpz00_4121;

								BgL_tmpz00_4121 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3174));
								BgL_arg1801z00_3392 = (BgL_objectz00_bglt) (BgL_tmpz00_4121);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Tools/trace.sch 53 */
									long BgL_idxz00_3393;

									BgL_idxz00_3393 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3392);
									BgL_test2073z00_4120 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3393 + 3L)) == BgL_classz00_3391);
								}
							else
								{	/* Tools/trace.sch 53 */
									bool_t BgL_res1942z00_3396;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_oclassz00_3397;

										{	/* Tools/trace.sch 53 */
											long BgL_arg1808z00_3398;

											{	/* Tools/trace.sch 53 */
												long BgL_arg1809z00_3399;

												BgL_arg1809z00_3399 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3392);
												BgL_arg1808z00_3398 =
													(BgL_arg1809z00_3399 - OBJECT_TYPE);
											}
											BgL_oclassz00_3397 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3398);
										}
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1115z00_3400;

											BgL__ortest_1115z00_3400 =
												(BgL_classz00_3391 == BgL_oclassz00_3397);
											if (BgL__ortest_1115z00_3400)
												{	/* Tools/trace.sch 53 */
													BgL_res1942z00_3396 = BgL__ortest_1115z00_3400;
												}
											else
												{	/* Tools/trace.sch 53 */
													long BgL_odepthz00_3401;

													BgL_odepthz00_3401 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3397);
													if ((3L < BgL_odepthz00_3401))
														{	/* Tools/trace.sch 53 */
															obj_t BgL_arg1797z00_3402;

															BgL_arg1797z00_3402 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3397, 3L);
															BgL_res1942z00_3396 =
																(BgL_arg1797z00_3402 == BgL_classz00_3391);
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_res1942z00_3396 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2073z00_4120 = BgL_res1942z00_3396;
								}
						}
					}
					if (BgL_test2073z00_4120)
						{	/* Tools/trace.sch 53 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_externz00_bglt) BgL_nodez00_3173))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3174)))->BgL_typez00))))
								{	/* Tools/trace.sch 53 */
									obj_t BgL_arg1695z00_3403;
									obj_t BgL_arg1696z00_3404;

									BgL_arg1695z00_3403 =
										(((BgL_externz00_bglt) COBJECT(
												((BgL_externz00_bglt) BgL_nodez00_3173)))->
										BgL_exprza2za2);
									BgL_arg1696z00_3404 =
										(((BgL_externz00_bglt)
											COBJECT(((BgL_externz00_bglt) ((BgL_nodez00_bglt)
														BgL_node2z00_3174))))->BgL_exprza2za2);
									BgL_tmpz00_4119 =
										BGl_samezd2nodeza2zf3z83zzreduce_samez00
										(BgL_arg1695z00_3403, BgL_arg1696z00_3404,
										BgL_aliasz00_3175);
								}
							else
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_4119 = ((bool_t) 0);
								}
						}
					else
						{	/* Tools/trace.sch 53 */
							BgL_tmpz00_4119 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4119);
			}
		}

	}



/* &same-node?-app1299 */
	obj_t BGl_z62samezd2nodezf3zd2app1299z91zzreduce_samez00(obj_t
		BgL_envz00_3176, obj_t BgL_nodez00_3177, obj_t BgL_node2z00_3178,
		obj_t BgL_aliasz00_3179)
	{
		{	/* Reduce/same.scm 108 */
			{	/* Reduce/same.scm 109 */
				bool_t BgL_tmpz00_4157;

				{	/* Reduce/same.scm 109 */
					bool_t BgL_test2078z00_4158;

					{	/* Reduce/same.scm 109 */
						obj_t BgL_classz00_3407;

						BgL_classz00_3407 = BGl_appz00zzast_nodez00;
						{	/* Reduce/same.scm 109 */
							BgL_objectz00_bglt BgL_arg1801z00_3408;

							{	/* Reduce/same.scm 109 */
								obj_t BgL_tmpz00_4159;

								BgL_tmpz00_4159 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3178));
								BgL_arg1801z00_3408 = (BgL_objectz00_bglt) (BgL_tmpz00_4159);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 109 */
									long BgL_idxz00_3409;

									BgL_idxz00_3409 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3408);
									BgL_test2078z00_4158 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3409 + 3L)) == BgL_classz00_3407);
								}
							else
								{	/* Reduce/same.scm 109 */
									bool_t BgL_res1941z00_3412;

									{	/* Reduce/same.scm 109 */
										obj_t BgL_oclassz00_3413;

										{	/* Reduce/same.scm 109 */
											long BgL_arg1808z00_3414;

											{	/* Reduce/same.scm 109 */
												long BgL_arg1809z00_3415;

												BgL_arg1809z00_3415 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3408);
												BgL_arg1808z00_3414 =
													(BgL_arg1809z00_3415 - OBJECT_TYPE);
											}
											BgL_oclassz00_3413 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3414);
										}
										{	/* Reduce/same.scm 109 */
											bool_t BgL__ortest_1115z00_3416;

											BgL__ortest_1115z00_3416 =
												(BgL_classz00_3407 == BgL_oclassz00_3413);
											if (BgL__ortest_1115z00_3416)
												{	/* Reduce/same.scm 109 */
													BgL_res1941z00_3412 = BgL__ortest_1115z00_3416;
												}
											else
												{	/* Reduce/same.scm 109 */
													long BgL_odepthz00_3417;

													BgL_odepthz00_3417 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3413);
													if ((3L < BgL_odepthz00_3417))
														{	/* Reduce/same.scm 109 */
															obj_t BgL_arg1797z00_3418;

															BgL_arg1797z00_3418 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3413, 3L);
															BgL_res1941z00_3412 =
																(BgL_arg1797z00_3418 == BgL_classz00_3407);
														}
													else
														{	/* Reduce/same.scm 109 */
															BgL_res1941z00_3412 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2078z00_4158 = BgL_res1941z00_3412;
								}
						}
					}
					if (BgL_test2078z00_4158)
						{	/* Reduce/same.scm 109 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_appz00_bglt) BgL_nodez00_3177))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3178)))->BgL_typez00))))
								{	/* Reduce/same.scm 111 */
									bool_t BgL_test2083z00_4188;

									{	/* Reduce/same.scm 111 */
										BgL_varz00_bglt BgL_arg1684z00_3419;
										BgL_varz00_bglt BgL_arg1686z00_3420;

										BgL_arg1684z00_3419 =
											(((BgL_appz00_bglt) COBJECT(
													((BgL_appz00_bglt) BgL_nodez00_3177)))->BgL_funz00);
										BgL_arg1686z00_3420 =
											(((BgL_appz00_bglt) COBJECT(
													((BgL_appz00_bglt)
														((BgL_nodez00_bglt) BgL_node2z00_3178))))->
											BgL_funz00);
										BgL_test2083z00_4188 =
											BGl_samezd2nodezf3z21zzreduce_samez00(((BgL_nodez00_bglt)
												BgL_arg1684z00_3419),
											((BgL_nodez00_bglt) BgL_arg1686z00_3420),
											BgL_aliasz00_3179);
									}
									if (BgL_test2083z00_4188)
										{	/* Reduce/same.scm 112 */
											obj_t BgL_arg1678z00_3421;
											obj_t BgL_arg1681z00_3422;

											BgL_arg1678z00_3421 =
												(((BgL_appz00_bglt) COBJECT(
														((BgL_appz00_bglt) BgL_nodez00_3177)))->
												BgL_argsz00);
											BgL_arg1681z00_3422 =
												(((BgL_appz00_bglt)
													COBJECT(((BgL_appz00_bglt) ((BgL_nodez00_bglt)
																BgL_node2z00_3178))))->BgL_argsz00);
											BgL_tmpz00_4157 =
												BGl_samezd2nodeza2zf3z83zzreduce_samez00
												(BgL_arg1678z00_3421, BgL_arg1681z00_3422,
												BgL_aliasz00_3179);
										}
									else
										{	/* Reduce/same.scm 111 */
											BgL_tmpz00_4157 = ((bool_t) 0);
										}
								}
							else
								{	/* Reduce/same.scm 110 */
									BgL_tmpz00_4157 = ((bool_t) 0);
								}
						}
					else
						{	/* Reduce/same.scm 109 */
							BgL_tmpz00_4157 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4157);
			}
		}

	}



/* &same-node?-funcall1297 */
	obj_t BGl_z62samezd2nodezf3zd2funcall1297z91zzreduce_samez00(obj_t
		BgL_envz00_3180, obj_t BgL_nodez00_3181, obj_t BgL_node2z00_3182,
		obj_t BgL_aliasz00_3183)
	{
		{	/* Reduce/same.scm 99 */
			{	/* Reduce/same.scm 100 */
				bool_t BgL_tmpz00_4204;

				{	/* Reduce/same.scm 100 */
					bool_t BgL_test2084z00_4205;

					{	/* Reduce/same.scm 100 */
						obj_t BgL_classz00_3425;

						BgL_classz00_3425 = BGl_funcallz00zzast_nodez00;
						{	/* Reduce/same.scm 100 */
							BgL_objectz00_bglt BgL_arg1801z00_3426;

							{	/* Reduce/same.scm 100 */
								obj_t BgL_tmpz00_4206;

								BgL_tmpz00_4206 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3182));
								BgL_arg1801z00_3426 = (BgL_objectz00_bglt) (BgL_tmpz00_4206);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 100 */
									long BgL_idxz00_3427;

									BgL_idxz00_3427 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3426);
									BgL_test2084z00_4205 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3427 + 2L)) == BgL_classz00_3425);
								}
							else
								{	/* Reduce/same.scm 100 */
									bool_t BgL_res1940z00_3430;

									{	/* Reduce/same.scm 100 */
										obj_t BgL_oclassz00_3431;

										{	/* Reduce/same.scm 100 */
											long BgL_arg1808z00_3432;

											{	/* Reduce/same.scm 100 */
												long BgL_arg1809z00_3433;

												BgL_arg1809z00_3433 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3426);
												BgL_arg1808z00_3432 =
													(BgL_arg1809z00_3433 - OBJECT_TYPE);
											}
											BgL_oclassz00_3431 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3432);
										}
										{	/* Reduce/same.scm 100 */
											bool_t BgL__ortest_1115z00_3434;

											BgL__ortest_1115z00_3434 =
												(BgL_classz00_3425 == BgL_oclassz00_3431);
											if (BgL__ortest_1115z00_3434)
												{	/* Reduce/same.scm 100 */
													BgL_res1940z00_3430 = BgL__ortest_1115z00_3434;
												}
											else
												{	/* Reduce/same.scm 100 */
													long BgL_odepthz00_3435;

													BgL_odepthz00_3435 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3431);
													if ((2L < BgL_odepthz00_3435))
														{	/* Reduce/same.scm 100 */
															obj_t BgL_arg1797z00_3436;

															BgL_arg1797z00_3436 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3431, 2L);
															BgL_res1940z00_3430 =
																(BgL_arg1797z00_3436 == BgL_classz00_3425);
														}
													else
														{	/* Reduce/same.scm 100 */
															BgL_res1940z00_3430 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2084z00_4205 = BgL_res1940z00_3430;
								}
						}
					}
					if (BgL_test2084z00_4205)
						{	/* Reduce/same.scm 100 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_funcallz00_bglt) BgL_nodez00_3181))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3182)))->BgL_typez00))))
								{	/* Reduce/same.scm 102 */
									bool_t BgL_test2089z00_4235;

									{	/* Reduce/same.scm 102 */
										BgL_nodez00_bglt BgL_arg1661z00_3437;
										BgL_nodez00_bglt BgL_arg1669z00_3438;

										BgL_arg1661z00_3437 =
											(((BgL_funcallz00_bglt) COBJECT(
													((BgL_funcallz00_bglt) BgL_nodez00_3181)))->
											BgL_funz00);
										BgL_arg1669z00_3438 =
											(((BgL_funcallz00_bglt)
												COBJECT(((BgL_funcallz00_bglt) ((BgL_nodez00_bglt)
															BgL_node2z00_3182))))->BgL_funz00);
										BgL_test2089z00_4235 =
											BGl_samezd2nodezf3z21zzreduce_samez00(BgL_arg1661z00_3437,
											BgL_arg1669z00_3438, BgL_aliasz00_3183);
									}
									if (BgL_test2089z00_4235)
										{	/* Reduce/same.scm 103 */
											obj_t BgL_arg1649z00_3439;
											obj_t BgL_arg1658z00_3440;

											BgL_arg1649z00_3439 =
												(((BgL_funcallz00_bglt) COBJECT(
														((BgL_funcallz00_bglt) BgL_nodez00_3181)))->
												BgL_argsz00);
											BgL_arg1658z00_3440 =
												(((BgL_funcallz00_bglt)
													COBJECT(((BgL_funcallz00_bglt) ((BgL_nodez00_bglt)
																BgL_node2z00_3182))))->BgL_argsz00);
											BgL_tmpz00_4204 =
												BGl_samezd2nodeza2zf3z83zzreduce_samez00
												(BgL_arg1649z00_3439, BgL_arg1658z00_3440,
												BgL_aliasz00_3183);
										}
									else
										{	/* Reduce/same.scm 102 */
											BgL_tmpz00_4204 = ((bool_t) 0);
										}
								}
							else
								{	/* Reduce/same.scm 101 */
									BgL_tmpz00_4204 = ((bool_t) 0);
								}
						}
					else
						{	/* Reduce/same.scm 100 */
							BgL_tmpz00_4204 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4204);
			}
		}

	}



/* &same-node?-app-ly1295 */
	obj_t BGl_z62samezd2nodezf3zd2appzd2ly1295z43zzreduce_samez00(obj_t
		BgL_envz00_3184, obj_t BgL_nodez00_3185, obj_t BgL_node2z00_3186,
		obj_t BgL_aliasz00_3187)
	{
		{	/* Reduce/same.scm 90 */
			{	/* Reduce/same.scm 91 */
				bool_t BgL_tmpz00_4249;

				{	/* Reduce/same.scm 91 */
					bool_t BgL_test2090z00_4250;

					{	/* Reduce/same.scm 91 */
						obj_t BgL_classz00_3443;

						BgL_classz00_3443 = BGl_appzd2lyzd2zzast_nodez00;
						{	/* Reduce/same.scm 91 */
							BgL_objectz00_bglt BgL_arg1801z00_3444;

							{	/* Reduce/same.scm 91 */
								obj_t BgL_tmpz00_4251;

								BgL_tmpz00_4251 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3186));
								BgL_arg1801z00_3444 = (BgL_objectz00_bglt) (BgL_tmpz00_4251);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 91 */
									long BgL_idxz00_3445;

									BgL_idxz00_3445 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3444);
									BgL_test2090z00_4250 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3445 + 2L)) == BgL_classz00_3443);
								}
							else
								{	/* Reduce/same.scm 91 */
									bool_t BgL_res1939z00_3448;

									{	/* Reduce/same.scm 91 */
										obj_t BgL_oclassz00_3449;

										{	/* Reduce/same.scm 91 */
											long BgL_arg1808z00_3450;

											{	/* Reduce/same.scm 91 */
												long BgL_arg1809z00_3451;

												BgL_arg1809z00_3451 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3444);
												BgL_arg1808z00_3450 =
													(BgL_arg1809z00_3451 - OBJECT_TYPE);
											}
											BgL_oclassz00_3449 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3450);
										}
										{	/* Reduce/same.scm 91 */
											bool_t BgL__ortest_1115z00_3452;

											BgL__ortest_1115z00_3452 =
												(BgL_classz00_3443 == BgL_oclassz00_3449);
											if (BgL__ortest_1115z00_3452)
												{	/* Reduce/same.scm 91 */
													BgL_res1939z00_3448 = BgL__ortest_1115z00_3452;
												}
											else
												{	/* Reduce/same.scm 91 */
													long BgL_odepthz00_3453;

													BgL_odepthz00_3453 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3449);
													if ((2L < BgL_odepthz00_3453))
														{	/* Reduce/same.scm 91 */
															obj_t BgL_arg1797z00_3454;

															BgL_arg1797z00_3454 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3449, 2L);
															BgL_res1939z00_3448 =
																(BgL_arg1797z00_3454 == BgL_classz00_3443);
														}
													else
														{	/* Reduce/same.scm 91 */
															BgL_res1939z00_3448 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2090z00_4250 = BgL_res1939z00_3448;
								}
						}
					}
					if (BgL_test2090z00_4250)
						{	/* Reduce/same.scm 91 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_appzd2lyzd2_bglt) BgL_nodez00_3185))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3186)))->BgL_typez00))))
								{	/* Reduce/same.scm 93 */
									bool_t BgL_test2095z00_4280;

									{	/* Reduce/same.scm 93 */
										BgL_nodez00_bglt BgL_arg1628z00_3455;
										BgL_nodez00_bglt BgL_arg1629z00_3456;

										BgL_arg1628z00_3455 =
											(((BgL_appzd2lyzd2_bglt) COBJECT(
													((BgL_appzd2lyzd2_bglt) BgL_nodez00_3185)))->
											BgL_funz00);
										BgL_arg1629z00_3456 =
											(((BgL_appzd2lyzd2_bglt)
												COBJECT(((BgL_appzd2lyzd2_bglt) ((BgL_nodez00_bglt)
															BgL_node2z00_3186))))->BgL_funz00);
										BgL_test2095z00_4280 =
											BGl_samezd2nodezf3z21zzreduce_samez00(BgL_arg1628z00_3455,
											BgL_arg1629z00_3456, BgL_aliasz00_3187);
									}
									if (BgL_test2095z00_4280)
										{	/* Reduce/same.scm 94 */
											BgL_nodez00_bglt BgL_arg1620z00_3457;
											BgL_nodez00_bglt BgL_arg1621z00_3458;

											BgL_arg1620z00_3457 =
												(((BgL_appzd2lyzd2_bglt) COBJECT(
														((BgL_appzd2lyzd2_bglt) BgL_nodez00_3185)))->
												BgL_argz00);
											BgL_arg1621z00_3458 =
												(((BgL_appzd2lyzd2_bglt)
													COBJECT(((BgL_appzd2lyzd2_bglt) ((BgL_nodez00_bglt)
																BgL_node2z00_3186))))->BgL_argz00);
											BgL_tmpz00_4249 =
												BGl_samezd2nodezf3z21zzreduce_samez00
												(BgL_arg1620z00_3457, BgL_arg1621z00_3458,
												BgL_aliasz00_3187);
										}
									else
										{	/* Reduce/same.scm 93 */
											BgL_tmpz00_4249 = ((bool_t) 0);
										}
								}
							else
								{	/* Reduce/same.scm 92 */
									BgL_tmpz00_4249 = ((bool_t) 0);
								}
						}
					else
						{	/* Reduce/same.scm 91 */
							BgL_tmpz00_4249 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4249);
			}
		}

	}



/* &same-node?-sync1293 */
	obj_t BGl_z62samezd2nodezf3zd2sync1293z91zzreduce_samez00(obj_t
		BgL_envz00_3188, obj_t BgL_nodez00_3189, obj_t BgL_node2z00_3190,
		obj_t BgL_aliasz00_3191)
	{
		{	/* Reduce/same.scm 80 */
			{	/* Reduce/same.scm 81 */
				bool_t BgL_tmpz00_4294;

				{	/* Reduce/same.scm 81 */
					bool_t BgL_test2096z00_4295;

					{	/* Reduce/same.scm 81 */
						obj_t BgL_classz00_3461;

						BgL_classz00_3461 = BGl_syncz00zzast_nodez00;
						{	/* Reduce/same.scm 81 */
							BgL_objectz00_bglt BgL_arg1801z00_3462;

							{	/* Reduce/same.scm 81 */
								obj_t BgL_tmpz00_4296;

								BgL_tmpz00_4296 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3190));
								BgL_arg1801z00_3462 = (BgL_objectz00_bglt) (BgL_tmpz00_4296);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 81 */
									long BgL_idxz00_3463;

									BgL_idxz00_3463 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3462);
									BgL_test2096z00_4295 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3463 + 2L)) == BgL_classz00_3461);
								}
							else
								{	/* Reduce/same.scm 81 */
									bool_t BgL_res1938z00_3466;

									{	/* Reduce/same.scm 81 */
										obj_t BgL_oclassz00_3467;

										{	/* Reduce/same.scm 81 */
											long BgL_arg1808z00_3468;

											{	/* Reduce/same.scm 81 */
												long BgL_arg1809z00_3469;

												BgL_arg1809z00_3469 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3462);
												BgL_arg1808z00_3468 =
													(BgL_arg1809z00_3469 - OBJECT_TYPE);
											}
											BgL_oclassz00_3467 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3468);
										}
										{	/* Reduce/same.scm 81 */
											bool_t BgL__ortest_1115z00_3470;

											BgL__ortest_1115z00_3470 =
												(BgL_classz00_3461 == BgL_oclassz00_3467);
											if (BgL__ortest_1115z00_3470)
												{	/* Reduce/same.scm 81 */
													BgL_res1938z00_3466 = BgL__ortest_1115z00_3470;
												}
											else
												{	/* Reduce/same.scm 81 */
													long BgL_odepthz00_3471;

													BgL_odepthz00_3471 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3467);
													if ((2L < BgL_odepthz00_3471))
														{	/* Reduce/same.scm 81 */
															obj_t BgL_arg1797z00_3472;

															BgL_arg1797z00_3472 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3467, 2L);
															BgL_res1938z00_3466 =
																(BgL_arg1797z00_3472 == BgL_classz00_3461);
														}
													else
														{	/* Reduce/same.scm 81 */
															BgL_res1938z00_3466 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2096z00_4295 = BgL_res1938z00_3466;
								}
						}
					}
					if (BgL_test2096z00_4295)
						{	/* Reduce/same.scm 81 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_syncz00_bglt) BgL_nodez00_3189))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3190)))->BgL_typez00))))
								{	/* Reduce/same.scm 83 */
									bool_t BgL_test2101z00_4325;

									{	/* Reduce/same.scm 83 */
										BgL_nodez00_bglt BgL_arg1613z00_3473;
										BgL_nodez00_bglt BgL_arg1614z00_3474;

										BgL_arg1613z00_3473 =
											(((BgL_syncz00_bglt) COBJECT(
													((BgL_syncz00_bglt) BgL_nodez00_3189)))->
											BgL_mutexz00);
										BgL_arg1614z00_3474 =
											(((BgL_syncz00_bglt)
												COBJECT(((BgL_syncz00_bglt) ((BgL_nodez00_bglt)
															BgL_node2z00_3190))))->BgL_mutexz00);
										BgL_test2101z00_4325 =
											BGl_samezd2nodezf3z21zzreduce_samez00(BgL_arg1613z00_3473,
											BgL_arg1614z00_3474, BgL_aliasz00_3191);
									}
									if (BgL_test2101z00_4325)
										{	/* Reduce/same.scm 84 */
											bool_t BgL_test2102z00_4332;

											{	/* Reduce/same.scm 84 */
												BgL_nodez00_bglt BgL_arg1608z00_3475;
												BgL_nodez00_bglt BgL_arg1609z00_3476;

												BgL_arg1608z00_3475 =
													(((BgL_syncz00_bglt) COBJECT(
															((BgL_syncz00_bglt) BgL_nodez00_3189)))->
													BgL_prelockz00);
												BgL_arg1609z00_3476 =
													(((BgL_syncz00_bglt)
														COBJECT(((BgL_syncz00_bglt) ((BgL_nodez00_bglt)
																	BgL_node2z00_3190))))->BgL_prelockz00);
												BgL_test2102z00_4332 =
													BGl_samezd2nodezf3z21zzreduce_samez00
													(BgL_arg1608z00_3475, BgL_arg1609z00_3476,
													BgL_aliasz00_3191);
											}
											if (BgL_test2102z00_4332)
												{	/* Reduce/same.scm 85 */
													BgL_nodez00_bglt BgL_arg1598z00_3477;
													BgL_nodez00_bglt BgL_arg1606z00_3478;

													BgL_arg1598z00_3477 =
														(((BgL_syncz00_bglt) COBJECT(
																((BgL_syncz00_bglt) BgL_nodez00_3189)))->
														BgL_bodyz00);
													BgL_arg1606z00_3478 =
														(((BgL_syncz00_bglt)
															COBJECT(((BgL_syncz00_bglt) ((BgL_nodez00_bglt)
																		BgL_node2z00_3190))))->BgL_bodyz00);
													BgL_tmpz00_4294 =
														BGl_samezd2nodeza2zf3z83zzreduce_samez00(((obj_t)
															BgL_arg1598z00_3477),
														((obj_t) BgL_arg1606z00_3478), BgL_aliasz00_3191);
												}
											else
												{	/* Reduce/same.scm 84 */
													BgL_tmpz00_4294 = ((bool_t) 0);
												}
										}
									else
										{	/* Reduce/same.scm 83 */
											BgL_tmpz00_4294 = ((bool_t) 0);
										}
								}
							else
								{	/* Reduce/same.scm 82 */
									BgL_tmpz00_4294 = ((bool_t) 0);
								}
						}
					else
						{	/* Reduce/same.scm 81 */
							BgL_tmpz00_4294 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4294);
			}
		}

	}



/* &same-node?-sequence1291 */
	obj_t BGl_z62samezd2nodezf3zd2sequence1291z91zzreduce_samez00(obj_t
		BgL_envz00_3192, obj_t BgL_nodez00_3193, obj_t BgL_node2z00_3194,
		obj_t BgL_aliasz00_3195)
	{
		{	/* Reduce/same.scm 72 */
			{	/* Reduce/same.scm 73 */
				bool_t BgL_tmpz00_4348;

				{	/* Reduce/same.scm 73 */
					bool_t BgL_test2103z00_4349;

					{	/* Reduce/same.scm 73 */
						obj_t BgL_classz00_3481;

						BgL_classz00_3481 = BGl_sequencez00zzast_nodez00;
						{	/* Reduce/same.scm 73 */
							BgL_objectz00_bglt BgL_arg1801z00_3482;

							{	/* Reduce/same.scm 73 */
								obj_t BgL_tmpz00_4350;

								BgL_tmpz00_4350 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3194));
								BgL_arg1801z00_3482 = (BgL_objectz00_bglt) (BgL_tmpz00_4350);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Reduce/same.scm 73 */
									long BgL_idxz00_3483;

									BgL_idxz00_3483 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3482);
									BgL_test2103z00_4349 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3483 + 3L)) == BgL_classz00_3481);
								}
							else
								{	/* Reduce/same.scm 73 */
									bool_t BgL_res1937z00_3486;

									{	/* Reduce/same.scm 73 */
										obj_t BgL_oclassz00_3487;

										{	/* Reduce/same.scm 73 */
											long BgL_arg1808z00_3488;

											{	/* Reduce/same.scm 73 */
												long BgL_arg1809z00_3489;

												BgL_arg1809z00_3489 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3482);
												BgL_arg1808z00_3488 =
													(BgL_arg1809z00_3489 - OBJECT_TYPE);
											}
											BgL_oclassz00_3487 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3488);
										}
										{	/* Reduce/same.scm 73 */
											bool_t BgL__ortest_1115z00_3490;

											BgL__ortest_1115z00_3490 =
												(BgL_classz00_3481 == BgL_oclassz00_3487);
											if (BgL__ortest_1115z00_3490)
												{	/* Reduce/same.scm 73 */
													BgL_res1937z00_3486 = BgL__ortest_1115z00_3490;
												}
											else
												{	/* Reduce/same.scm 73 */
													long BgL_odepthz00_3491;

													BgL_odepthz00_3491 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3487);
													if ((3L < BgL_odepthz00_3491))
														{	/* Reduce/same.scm 73 */
															obj_t BgL_arg1797z00_3492;

															BgL_arg1797z00_3492 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3487, 3L);
															BgL_res1937z00_3486 =
																(BgL_arg1797z00_3492 == BgL_classz00_3481);
														}
													else
														{	/* Reduce/same.scm 73 */
															BgL_res1937z00_3486 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2103z00_4349 = BgL_res1937z00_3486;
								}
						}
					}
					if (BgL_test2103z00_4349)
						{	/* Reduce/same.scm 73 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_sequencez00_bglt) BgL_nodez00_3193))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3194)))->BgL_typez00))))
								{	/* Reduce/same.scm 75 */
									obj_t BgL_arg1590z00_3493;
									obj_t BgL_arg1592z00_3494;

									BgL_arg1590z00_3493 =
										(((BgL_sequencez00_bglt) COBJECT(
												((BgL_sequencez00_bglt) BgL_nodez00_3193)))->
										BgL_nodesz00);
									BgL_arg1592z00_3494 =
										(((BgL_sequencez00_bglt)
											COBJECT(((BgL_sequencez00_bglt) ((BgL_nodez00_bglt)
														BgL_node2z00_3194))))->BgL_nodesz00);
									BgL_tmpz00_4348 =
										BGl_samezd2nodeza2zf3z83zzreduce_samez00
										(BgL_arg1590z00_3493, BgL_arg1592z00_3494,
										BgL_aliasz00_3195);
								}
							else
								{	/* Reduce/same.scm 74 */
									BgL_tmpz00_4348 = ((bool_t) 0);
								}
						}
					else
						{	/* Reduce/same.scm 73 */
							BgL_tmpz00_4348 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4348);
			}
		}

	}



/* &same-node?-var1289 */
	obj_t BGl_z62samezd2nodezf3zd2var1289z91zzreduce_samez00(obj_t
		BgL_envz00_3196, obj_t BgL_nodez00_3197, obj_t BgL_node2z00_3198,
		obj_t BgL_aliasz00_3199)
	{
		{	/* Reduce/same.scm 59 */
			{	/* Tools/trace.sch 53 */
				bool_t BgL_tmpz00_4386;

				{	/* Tools/trace.sch 53 */
					bool_t BgL_test2108z00_4387;

					{	/* Tools/trace.sch 53 */
						obj_t BgL_classz00_3497;

						BgL_classz00_3497 = BGl_varz00zzast_nodez00;
						{	/* Tools/trace.sch 53 */
							BgL_objectz00_bglt BgL_arg1801z00_3498;

							{	/* Tools/trace.sch 53 */
								obj_t BgL_tmpz00_4388;

								BgL_tmpz00_4388 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3198));
								BgL_arg1801z00_3498 = (BgL_objectz00_bglt) (BgL_tmpz00_4388);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Tools/trace.sch 53 */
									long BgL_idxz00_3499;

									BgL_idxz00_3499 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3498);
									BgL_test2108z00_4387 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3499 + 2L)) == BgL_classz00_3497);
								}
							else
								{	/* Tools/trace.sch 53 */
									bool_t BgL_res1936z00_3502;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_oclassz00_3503;

										{	/* Tools/trace.sch 53 */
											long BgL_arg1808z00_3504;

											{	/* Tools/trace.sch 53 */
												long BgL_arg1809z00_3505;

												BgL_arg1809z00_3505 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3498);
												BgL_arg1808z00_3504 =
													(BgL_arg1809z00_3505 - OBJECT_TYPE);
											}
											BgL_oclassz00_3503 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3504);
										}
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1115z00_3506;

											BgL__ortest_1115z00_3506 =
												(BgL_classz00_3497 == BgL_oclassz00_3503);
											if (BgL__ortest_1115z00_3506)
												{	/* Tools/trace.sch 53 */
													BgL_res1936z00_3502 = BgL__ortest_1115z00_3506;
												}
											else
												{	/* Tools/trace.sch 53 */
													long BgL_odepthz00_3507;

													BgL_odepthz00_3507 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3503);
													if ((2L < BgL_odepthz00_3507))
														{	/* Tools/trace.sch 53 */
															obj_t BgL_arg1797z00_3508;

															BgL_arg1797z00_3508 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3503, 2L);
															BgL_res1936z00_3502 =
																(BgL_arg1797z00_3508 == BgL_classz00_3497);
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_res1936z00_3502 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2108z00_4387 = BgL_res1936z00_3502;
								}
						}
					}
					if (BgL_test2108z00_4387)
						{	/* Tools/trace.sch 53 */
							if (
								((((BgL_variablez00_bglt) COBJECT(
												(((BgL_varz00_bglt) COBJECT(
															((BgL_varz00_bglt) BgL_nodez00_3197)))->
													BgL_variablez00)))->BgL_accessz00) ==
									CNST_TABLE_REF(0L)))
								{	/* Tools/trace.sch 53 */
									if (
										(((obj_t)
												(((BgL_nodez00_bglt) COBJECT(
															((BgL_nodez00_bglt)
																((BgL_varz00_bglt) BgL_nodez00_3197))))->
													BgL_typez00)) ==
											((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
																BgL_node2z00_3198)))->BgL_typez00))))
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1118z00_3509;

											BgL__ortest_1118z00_3509 =
												(
												((obj_t)
													(((BgL_varz00_bglt) COBJECT(
																((BgL_varz00_bglt) BgL_nodez00_3197)))->
														BgL_variablez00)) ==
												((obj_t) (((BgL_varz00_bglt)
															COBJECT(((BgL_varz00_bglt) ((BgL_nodez00_bglt)
																		BgL_node2z00_3198))))->BgL_variablez00)));
											if (BgL__ortest_1118z00_3509)
												{	/* Tools/trace.sch 53 */
													BgL_tmpz00_4386 = BgL__ortest_1118z00_3509;
												}
											else
												{	/* Tools/trace.sch 53 */
													BgL_tmpz00_4386 =
														BGl_aliasedzf3zf3zzreduce_samez00(
														(((BgL_varz00_bglt) COBJECT(
																	((BgL_varz00_bglt) BgL_nodez00_3197)))->
															BgL_variablez00),
														(((BgL_varz00_bglt)
																COBJECT(((BgL_varz00_bglt) ((BgL_nodez00_bglt)
																			BgL_node2z00_3198))))->BgL_variablez00),
														BgL_aliasz00_3199);
												}
										}
									else
										{	/* Tools/trace.sch 53 */
											BgL_tmpz00_4386 = ((bool_t) 0);
										}
								}
							else
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_4386 = ((bool_t) 0);
								}
						}
					else
						{	/* Tools/trace.sch 53 */
							BgL_tmpz00_4386 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4386);
			}
		}

	}



/* &same-node?-kwote1287 */
	obj_t BGl_z62samezd2nodezf3zd2kwote1287z91zzreduce_samez00(obj_t
		BgL_envz00_3200, obj_t BgL_nodez00_3201, obj_t BgL_node2z00_3202,
		obj_t BgL_aliasz00_3203)
	{
		{	/* Reduce/same.scm 48 */
			{	/* Tools/trace.sch 53 */
				bool_t BgL_tmpz00_4439;

				{	/* Tools/trace.sch 53 */
					bool_t BgL_test2115z00_4440;

					{	/* Tools/trace.sch 53 */
						obj_t BgL_classz00_3512;

						BgL_classz00_3512 = BGl_kwotez00zzast_nodez00;
						{	/* Tools/trace.sch 53 */
							BgL_objectz00_bglt BgL_arg1801z00_3513;

							{	/* Tools/trace.sch 53 */
								obj_t BgL_tmpz00_4441;

								BgL_tmpz00_4441 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3202));
								BgL_arg1801z00_3513 = (BgL_objectz00_bglt) (BgL_tmpz00_4441);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Tools/trace.sch 53 */
									long BgL_idxz00_3514;

									BgL_idxz00_3514 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3513);
									BgL_test2115z00_4440 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3514 + 2L)) == BgL_classz00_3512);
								}
							else
								{	/* Tools/trace.sch 53 */
									bool_t BgL_res1935z00_3517;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_oclassz00_3518;

										{	/* Tools/trace.sch 53 */
											long BgL_arg1808z00_3519;

											{	/* Tools/trace.sch 53 */
												long BgL_arg1809z00_3520;

												BgL_arg1809z00_3520 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3513);
												BgL_arg1808z00_3519 =
													(BgL_arg1809z00_3520 - OBJECT_TYPE);
											}
											BgL_oclassz00_3518 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3519);
										}
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1115z00_3521;

											BgL__ortest_1115z00_3521 =
												(BgL_classz00_3512 == BgL_oclassz00_3518);
											if (BgL__ortest_1115z00_3521)
												{	/* Tools/trace.sch 53 */
													BgL_res1935z00_3517 = BgL__ortest_1115z00_3521;
												}
											else
												{	/* Tools/trace.sch 53 */
													long BgL_odepthz00_3522;

													BgL_odepthz00_3522 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3518);
													if ((2L < BgL_odepthz00_3522))
														{	/* Tools/trace.sch 53 */
															obj_t BgL_arg1797z00_3523;

															BgL_arg1797z00_3523 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3518, 2L);
															BgL_res1935z00_3517 =
																(BgL_arg1797z00_3523 == BgL_classz00_3512);
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_res1935z00_3517 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2115z00_4440 = BgL_res1935z00_3517;
								}
						}
					}
					if (BgL_test2115z00_4440)
						{	/* Tools/trace.sch 53 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_kwotez00_bglt) BgL_nodez00_3201))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3202)))->BgL_typez00))))
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_4439 =
										BGl_equalzf3zf3zz__r4_equivalence_6_2z00(
										(((BgL_kwotez00_bglt) COBJECT(
													((BgL_kwotez00_bglt) BgL_nodez00_3201)))->
											BgL_valuez00),
										(((BgL_kwotez00_bglt)
												COBJECT(((BgL_kwotez00_bglt) ((BgL_nodez00_bglt)
															BgL_node2z00_3202))))->BgL_valuez00));
								}
							else
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_4439 = ((bool_t) 0);
								}
						}
					else
						{	/* Tools/trace.sch 53 */
							BgL_tmpz00_4439 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4439);
			}
		}

	}



/* &same-node?-atom1285 */
	obj_t BGl_z62samezd2nodezf3zd2atom1285z91zzreduce_samez00(obj_t
		BgL_envz00_3204, obj_t BgL_nodez00_3205, obj_t BgL_node2z00_3206,
		obj_t BgL_aliasz00_3207)
	{
		{	/* Reduce/same.scm 32 */
			{	/* Tools/trace.sch 53 */
				bool_t BgL_tmpz00_4477;

				{	/* Tools/trace.sch 53 */
					bool_t BgL_test2120z00_4478;

					{	/* Tools/trace.sch 53 */
						obj_t BgL_classz00_3526;

						BgL_classz00_3526 = BGl_atomz00zzast_nodez00;
						{	/* Tools/trace.sch 53 */
							BgL_objectz00_bglt BgL_arg1801z00_3527;

							{	/* Tools/trace.sch 53 */
								obj_t BgL_tmpz00_4479;

								BgL_tmpz00_4479 =
									((obj_t) ((BgL_nodez00_bglt) BgL_node2z00_3206));
								BgL_arg1801z00_3527 = (BgL_objectz00_bglt) (BgL_tmpz00_4479);
							}
							if (BGL_CONDEXPAND_ISA_ARCH64())
								{	/* Tools/trace.sch 53 */
									long BgL_idxz00_3528;

									BgL_idxz00_3528 =
										BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3527);
									BgL_test2120z00_4478 =
										(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
											(BgL_idxz00_3528 + 2L)) == BgL_classz00_3526);
								}
							else
								{	/* Tools/trace.sch 53 */
									bool_t BgL_res1934z00_3531;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_oclassz00_3532;

										{	/* Tools/trace.sch 53 */
											long BgL_arg1808z00_3533;

											{	/* Tools/trace.sch 53 */
												long BgL_arg1809z00_3534;

												BgL_arg1809z00_3534 =
													BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3527);
												BgL_arg1808z00_3533 =
													(BgL_arg1809z00_3534 - OBJECT_TYPE);
											}
											BgL_oclassz00_3532 =
												VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
												BgL_arg1808z00_3533);
										}
										{	/* Tools/trace.sch 53 */
											bool_t BgL__ortest_1115z00_3535;

											BgL__ortest_1115z00_3535 =
												(BgL_classz00_3526 == BgL_oclassz00_3532);
											if (BgL__ortest_1115z00_3535)
												{	/* Tools/trace.sch 53 */
													BgL_res1934z00_3531 = BgL__ortest_1115z00_3535;
												}
											else
												{	/* Tools/trace.sch 53 */
													long BgL_odepthz00_3536;

													BgL_odepthz00_3536 =
														BGL_CLASS_DEPTH(BgL_oclassz00_3532);
													if ((2L < BgL_odepthz00_3536))
														{	/* Tools/trace.sch 53 */
															obj_t BgL_arg1797z00_3537;

															BgL_arg1797z00_3537 =
																BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3532, 2L);
															BgL_res1934z00_3531 =
																(BgL_arg1797z00_3537 == BgL_classz00_3526);
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_res1934z00_3531 = ((bool_t) 0);
														}
												}
										}
									}
									BgL_test2120z00_4478 = BgL_res1934z00_3531;
								}
						}
					}
					if (BgL_test2120z00_4478)
						{	/* Tools/trace.sch 53 */
							if (
								(((obj_t)
										(((BgL_nodez00_bglt) COBJECT(
													((BgL_nodez00_bglt)
														((BgL_atomz00_bglt) BgL_nodez00_3205))))->
											BgL_typez00)) ==
									((obj_t) (((BgL_nodez00_bglt) COBJECT(((BgL_nodez00_bglt)
														BgL_node2z00_3206)))->BgL_typez00))))
								{	/* Tools/trace.sch 53 */
									bool_t BgL_test2125z00_4508;

									{	/* Tools/trace.sch 53 */
										obj_t BgL_tmpz00_4509;

										BgL_tmpz00_4509 =
											(((BgL_atomz00_bglt) COBJECT(
													((BgL_atomz00_bglt) BgL_nodez00_3205)))->
											BgL_valuez00);
										BgL_test2125z00_4508 = REALP(BgL_tmpz00_4509);
									}
									if (BgL_test2125z00_4508)
										{	/* Tools/trace.sch 53 */
											bool_t BgL_test2126z00_4513;

											{	/* Tools/trace.sch 53 */
												obj_t BgL_tmpz00_4514;

												BgL_tmpz00_4514 =
													(((BgL_atomz00_bglt) COBJECT(
															((BgL_atomz00_bglt)
																((BgL_nodez00_bglt) BgL_node2z00_3206))))->
													BgL_valuez00);
												BgL_test2126z00_4513 = REALP(BgL_tmpz00_4514);
											}
											if (BgL_test2126z00_4513)
												{	/* Tools/trace.sch 53 */
													if (
														(REAL_TO_DOUBLE(
																(((BgL_atomz00_bglt) COBJECT(
																			((BgL_atomz00_bglt) BgL_nodez00_3205)))->
																	BgL_valuez00)) ==
															REAL_TO_DOUBLE((((BgL_atomz00_bglt)
																		COBJECT(((BgL_atomz00_bglt) (
																					(BgL_nodez00_bglt)
																					BgL_node2z00_3206))))->
																	BgL_valuez00))))
														{	/* Tools/trace.sch 53 */
															BgL_tmpz00_4477 =
																(BGL_SIGNBIT(REAL_TO_DOUBLE(
																		(((BgL_atomz00_bglt) COBJECT(
																					((BgL_atomz00_bglt)
																						BgL_nodez00_3205)))->
																			BgL_valuez00))) ==
																BGL_SIGNBIT(REAL_TO_DOUBLE((((BgL_atomz00_bglt)
																				COBJECT(((BgL_atomz00_bglt) (
																							(BgL_nodez00_bglt)
																							BgL_node2z00_3206))))->
																			BgL_valuez00))));
														}
													else
														{	/* Tools/trace.sch 53 */
															BgL_tmpz00_4477 = ((bool_t) 0);
														}
												}
											else
												{	/* Tools/trace.sch 53 */
													BgL_tmpz00_4477 = ((bool_t) 0);
												}
										}
									else
										{	/* Tools/trace.sch 53 */
											BgL_tmpz00_4477 =
												BGl_equalzf3zf3zz__r4_equivalence_6_2z00(
												(((BgL_atomz00_bglt) COBJECT(
															((BgL_atomz00_bglt) BgL_nodez00_3205)))->
													BgL_valuez00),
												(((BgL_atomz00_bglt)
														COBJECT(((BgL_atomz00_bglt) ((BgL_nodez00_bglt)
																	BgL_node2z00_3206))))->BgL_valuez00));
										}
								}
							else
								{	/* Tools/trace.sch 53 */
									BgL_tmpz00_4477 = ((bool_t) 0);
								}
						}
					else
						{	/* Tools/trace.sch 53 */
							BgL_tmpz00_4477 = ((bool_t) 0);
						}
				}
				return BBOOL(BgL_tmpz00_4477);
			}
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zzreduce_samez00(void)
	{
		{	/* Reduce/same.scm 15 */
			BGl_modulezd2initializa7ationz75zztools_tracez00(54713316L,
				BSTRING_TO_STRING(BGl_string1986z00zzreduce_samez00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string1986z00zzreduce_samez00));
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string1986z00zzreduce_samez00));
			BGl_modulezd2initializa7ationz75zzast_varz00(90839984L,
				BSTRING_TO_STRING(BGl_string1986z00zzreduce_samez00));
			return
				BGl_modulezd2initializa7ationz75zzast_nodez00(469732712L,
				BSTRING_TO_STRING(BGl_string1986z00zzreduce_samez00));
		}

	}

#ifdef __cplusplus
}
#endif
