/*===========================================================================*/
/*   (Cfa/struct.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 Cfa/struct.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_CFA_STRUCT_TYPE_DEFINITIONS
#define BGL_CFA_STRUCT_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_nodez00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_locz00;
		struct BgL_typez00_bgl *BgL_typez00;
	}              *BgL_nodez00_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_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_approxz00_bgl
	{
		header_t header;
		obj_t widening;
		struct BgL_typez00_bgl *BgL_typez00;
		bool_t BgL_typezd2lockedzf3z21;
		obj_t BgL_allocsz00;
		bool_t BgL_topzf3zf3;
		long BgL_lostzd2stampzd2;
		obj_t BgL_dupz00;
		bool_t BgL_haszd2procedurezf3z21;
	}                *BgL_approxz00_bglt;

	typedef struct BgL_prezd2makezd2structzd2appzd2_bgl
	{
		struct BgL_variablez00_bgl *BgL_ownerz00;
	}                                   *BgL_prezd2makezd2structzd2appzd2_bglt;

	typedef struct BgL_prezd2structzd2refzd2appzd2_bgl
	{
	}                                  *BgL_prezd2structzd2refzd2appzd2_bglt;

	typedef struct BgL_prezd2structzd2setz12zd2appzc0_bgl
	{
	}                                    
		*BgL_prezd2structzd2setz12zd2appzc0_bglt;

	typedef struct BgL_makezd2structzd2appz00_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
		struct BgL_approxz00_bgl *BgL_valuezd2approxzd2;
		long BgL_lostzd2stampzd2;
		struct BgL_variablez00_bgl *BgL_ownerz00;
		obj_t BgL_stackzd2stampzd2;
	}                             *BgL_makezd2structzd2appz00_bglt;

	typedef struct BgL_structzd2refzd2appz00_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
	}                            *BgL_structzd2refzd2appz00_bglt;

	typedef struct BgL_structzd2setz12zd2appz12_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
	}                               *BgL_structzd2setz12zd2appz12_bglt;


#endif													// BGL_CFA_STRUCT_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	extern obj_t BGl_makezd2structzd2appz00zzcfa_info2z00;
	extern obj_t BGl_za2structza2z00zztype_cachez00;
	extern obj_t BGl_structzd2refzd2appz00zzcfa_info2z00;
	static obj_t BGl_objectzd2initzd2zzcfa_structz00(void);
	extern obj_t BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(obj_t,
		BgL_approxz00_bglt);
	static obj_t BGl_methodzd2initzd2zzcfa_structz00(void);
	extern obj_t BGl_structzd2setz12zd2appz12zzcfa_info2z00;
	extern obj_t BGl_za2objza2z00zztype_cachez00;
	static obj_t BGl_z62nodezd2setupz12zd2prezd2stru1511za2zzcfa_structz00(obj_t,
		obj_t);
	static obj_t BGl_z62nodezd2setupz12zd2prezd2stru1513za2zzcfa_structz00(obj_t,
		obj_t);
	extern obj_t BGl_prezd2structzd2refzd2appzd2zzcfa_info2z00;
	extern BgL_approxz00_bglt
		BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_approxz00_bglt,
		BgL_approxz00_bglt);
	static obj_t BGl_gczd2rootszd2initz00zzcfa_structz00(void);
	extern BgL_approxz00_bglt BGl_makezd2emptyzd2approxz00zzcfa_approxz00(void);
	BGL_IMPORT obj_t BGl_genericzd2addzd2methodz12z12zz__objectz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_za2cfazd2stampza2zd2zzcfa_iteratez00;
	extern obj_t BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_approxz00_bglt);
	static obj_t BGl_z62loosezd2allocz12zd2makezd2st1521za2zzcfa_structz00(obj_t,
		obj_t);
	extern obj_t BGl_nodezd2setupza2z12z62zzcfa_setupz00(obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zzcfa_structz00 = BUNSPEC;
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	static obj_t BGl_toplevelzd2initzd2zzcfa_structz00(void);
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2makezd2structzd2app1515za2zzcfa_structz00(obj_t, obj_t);
	extern obj_t BGl_prezd2makezd2structzd2appzd2zzcfa_info2z00;
	static obj_t BGl_genericzd2initzd2zzcfa_structz00(void);
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2structzd2refzd2app1517za2zzcfa_structz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	extern BgL_approxz00_bglt BGl_loosez12z12zzcfa_loosez00(BgL_approxz00_bglt,
		obj_t);
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2structzd2setz12zd2app1519zb0zzcfa_structz00(obj_t, obj_t);
	extern BgL_approxz00_bglt
		BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(BgL_typez00_bglt,
		BgL_nodez00_bglt);
	extern obj_t BGl_prezd2structzd2setz12zd2appzc0zzcfa_info2z00;
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_structz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_approxz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_setupz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_cfaz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_iteratez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_loosez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_info2z00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_infoz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(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_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 *);
	static obj_t BGl_z62nodezd2setupz12zd2prezd2make1509za2zzcfa_structz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31640ze3ze5zzcfa_structz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31609ze3ze5zzcfa_structz00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zzcfa_structz00(void);
	static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_structz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zzcfa_structz00(void);
	extern BgL_approxz00_bglt
		BGl_makezd2typezd2approxz00zzcfa_approxz00(BgL_typez00_bglt);
	extern obj_t BGl_za2unspecza2z00zztype_cachez00;
	extern BgL_approxz00_bglt BGl_cfaz12z12zzcfa_cfaz00(BgL_nodez00_bglt);
	BGL_IMPORT obj_t BGl_classzd2superzd2zz__objectz00(obj_t);
	extern obj_t BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_approxz00_bglt,
		BgL_typez00_bglt);
	static obj_t __cnst[1];


	extern obj_t BGl_cfaz12zd2envzc0zzcfa_cfaz00;
	   
		 
		DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1961z00zzcfa_structz00,
		BgL_bgl_za762nodeza7d2setupza71974za7,
		BGl_z62nodezd2setupz12zd2prezd2make1509za2zzcfa_structz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1963z00zzcfa_structz00,
		BgL_bgl_za762nodeza7d2setupza71975za7,
		BGl_z62nodezd2setupz12zd2prezd2stru1511za2zzcfa_structz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1964z00zzcfa_structz00,
		BgL_bgl_za762nodeza7d2setupza71976za7,
		BGl_z62nodezd2setupz12zd2prezd2stru1513za2zzcfa_structz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1965z00zzcfa_structz00,
		BgL_bgl_za762cfaza712za7d2make1977za7,
		BGl_z62cfaz12zd2makezd2structzd2app1515za2zzcfa_structz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1967z00zzcfa_structz00,
		BgL_bgl_za762cfaza712za7d2stru1978za7,
		BGl_z62cfaz12zd2structzd2refzd2app1517za2zzcfa_structz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1968z00zzcfa_structz00,
		BgL_bgl_za762cfaza712za7d2stru1979za7,
		BGl_z62cfaz12zd2structzd2setz12zd2app1519zb0zzcfa_structz00, 0L, BUNSPEC,
		1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1969z00zzcfa_structz00,
		BgL_bgl_za762looseza7d2alloc1980z00,
		BGl_z62loosezd2allocz12zd2makezd2st1521za2zzcfa_structz00, 0L, BUNSPEC, 1);
	extern obj_t BGl_nodezd2setupz12zd2envz12zzcfa_setupz00;
	   
		 
		DEFINE_STRING(BGl_string1962z00zzcfa_structz00,
		BgL_bgl_string1962za700za7za7c1981za7, "node-setup!", 11);
	      DEFINE_STRING(BGl_string1966z00zzcfa_structz00,
		BgL_bgl_string1966za700za7za7c1982za7, "cfa!::approx", 12);
	      DEFINE_STRING(BGl_string1970z00zzcfa_structz00,
		BgL_bgl_string1970za700za7za7c1983za7, "loose-alloc!", 12);
	      DEFINE_STRING(BGl_string1971z00zzcfa_structz00,
		BgL_bgl_string1971za700za7za7c1984za7, "cfa_struct", 10);
	      DEFINE_STRING(BGl_string1972z00zzcfa_structz00,
		BgL_bgl_string1972za700za7za7c1985za7, "all ", 4);
	extern obj_t BGl_loosezd2allocz12zd2envz12zzcfa_loosez00;

/* 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_requirezd2initializa7ationz75zzcfa_structz00));
#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_modulezd2initializa7ationz75zzcfa_structz00(long
		BgL_checksumz00_3901, char *BgL_fromz00_3902)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzcfa_structz00))
				{
					BGl_requirezd2initializa7ationz75zzcfa_structz00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzcfa_structz00();
					BGl_libraryzd2moduleszd2initz00zzcfa_structz00();
					BGl_cnstzd2initzd2zzcfa_structz00();
					BGl_importedzd2moduleszd2initz00zzcfa_structz00();
					BGl_methodzd2initzd2zzcfa_structz00();
					return BGl_toplevelzd2initzd2zzcfa_structz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "cfa_struct");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "cfa_struct");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L, "cfa_struct");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "cfa_struct");
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L,
				"cfa_struct");
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"cfa_struct");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "cfa_struct");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"cfa_struct");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			{	/* Cfa/struct.scm 17 */
				obj_t BgL_cportz00_3797;

				{	/* Cfa/struct.scm 17 */
					obj_t BgL_stringz00_3804;

					BgL_stringz00_3804 = BGl_string1972z00zzcfa_structz00;
					{	/* Cfa/struct.scm 17 */
						obj_t BgL_startz00_3805;

						BgL_startz00_3805 = BINT(0L);
						{	/* Cfa/struct.scm 17 */
							obj_t BgL_endz00_3806;

							BgL_endz00_3806 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_3804)));
							{	/* Cfa/struct.scm 17 */

								BgL_cportz00_3797 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_3804, BgL_startz00_3805, BgL_endz00_3806);
				}}}}
				{
					long BgL_iz00_3798;

					BgL_iz00_3798 = 0L;
				BgL_loopz00_3799:
					if ((BgL_iz00_3798 == -1L))
						{	/* Cfa/struct.scm 17 */
							return BUNSPEC;
						}
					else
						{	/* Cfa/struct.scm 17 */
							{	/* Cfa/struct.scm 17 */
								obj_t BgL_arg1973z00_3800;

								{	/* Cfa/struct.scm 17 */

									{	/* Cfa/struct.scm 17 */
										obj_t BgL_locationz00_3802;

										BgL_locationz00_3802 = BBOOL(((bool_t) 0));
										{	/* Cfa/struct.scm 17 */

											BgL_arg1973z00_3800 =
												BGl_readz00zz__readerz00(BgL_cportz00_3797,
												BgL_locationz00_3802);
										}
									}
								}
								{	/* Cfa/struct.scm 17 */
									int BgL_tmpz00_3929;

									BgL_tmpz00_3929 = (int) (BgL_iz00_3798);
									CNST_TABLE_SET(BgL_tmpz00_3929, BgL_arg1973z00_3800);
							}}
							{	/* Cfa/struct.scm 17 */
								int BgL_auxz00_3803;

								BgL_auxz00_3803 = (int) ((BgL_iz00_3798 - 1L));
								{
									long BgL_iz00_3934;

									BgL_iz00_3934 = (long) (BgL_auxz00_3803);
									BgL_iz00_3798 = BgL_iz00_3934;
									goto BgL_loopz00_3799;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			return BUNSPEC;
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00,
				BGl_prezd2makezd2structzd2appzd2zzcfa_info2z00,
				BGl_proc1961z00zzcfa_structz00, BGl_string1962z00zzcfa_structz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00,
				BGl_prezd2structzd2refzd2appzd2zzcfa_info2z00,
				BGl_proc1963z00zzcfa_structz00, BGl_string1962z00zzcfa_structz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00,
				BGl_prezd2structzd2setz12zd2appzc0zzcfa_info2z00,
				BGl_proc1964z00zzcfa_structz00, BGl_string1962z00zzcfa_structz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00,
				BGl_makezd2structzd2appz00zzcfa_info2z00,
				BGl_proc1965z00zzcfa_structz00, BGl_string1966z00zzcfa_structz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00,
				BGl_structzd2refzd2appz00zzcfa_info2z00, BGl_proc1967z00zzcfa_structz00,
				BGl_string1966z00zzcfa_structz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00,
				BGl_structzd2setz12zd2appz12zzcfa_info2z00,
				BGl_proc1968z00zzcfa_structz00, BGl_string1966z00zzcfa_structz00);
			return
				BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00,
				BGl_makezd2structzd2appz00zzcfa_info2z00,
				BGl_proc1969z00zzcfa_structz00, BGl_string1970z00zzcfa_structz00);
		}

	}



/* &loose-alloc!-make-st1521 */
	obj_t BGl_z62loosezd2allocz12zd2makezd2st1521za2zzcfa_structz00(obj_t
		BgL_envz00_3773, obj_t BgL_allocz00_3774)
	{
		{	/* Cfa/struct.scm 136 */
			{	/* Cfa/struct.scm 138 */
				bool_t BgL_test1988z00_3944;

				{	/* Cfa/struct.scm 138 */
					long BgL_arg1686z00_3809;

					{
						BgL_makezd2structzd2appz00_bglt BgL_auxz00_3945;

						{
							obj_t BgL_auxz00_3946;

							{	/* Cfa/struct.scm 138 */
								BgL_objectz00_bglt BgL_tmpz00_3947;

								BgL_tmpz00_3947 =
									((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_allocz00_3774));
								BgL_auxz00_3946 = BGL_OBJECT_WIDENING(BgL_tmpz00_3947);
							}
							BgL_auxz00_3945 =
								((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_3946);
						}
						BgL_arg1686z00_3809 =
							(((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_3945))->
							BgL_lostzd2stampzd2);
					}
					BgL_test1988z00_3944 =
						(BgL_arg1686z00_3809 ==
						(long) CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00));
				}
				if (BgL_test1988z00_3944)
					{	/* Cfa/struct.scm 138 */
						return BUNSPEC;
					}
				else
					{	/* Cfa/struct.scm 138 */
						{
							BgL_makezd2structzd2appz00_bglt BgL_auxz00_3955;

							{
								obj_t BgL_auxz00_3956;

								{	/* Cfa/struct.scm 142 */
									BgL_objectz00_bglt BgL_tmpz00_3957;

									BgL_tmpz00_3957 =
										((BgL_objectz00_bglt)
										((BgL_appz00_bglt) BgL_allocz00_3774));
									BgL_auxz00_3956 = BGL_OBJECT_WIDENING(BgL_tmpz00_3957);
								}
								BgL_auxz00_3955 =
									((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_3956);
							}
							((((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_3955))->
									BgL_lostzd2stampzd2) =
								((long) (long) CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00)),
								BUNSPEC);
						}
						{	/* Cfa/struct.scm 143 */
							BgL_approxz00_bglt BgL_arg1678z00_3810;

							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_3964;

								{
									obj_t BgL_auxz00_3965;

									{	/* Cfa/struct.scm 143 */
										BgL_objectz00_bglt BgL_tmpz00_3966;

										BgL_tmpz00_3966 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_allocz00_3774));
										BgL_auxz00_3965 = BGL_OBJECT_WIDENING(BgL_tmpz00_3966);
									}
									BgL_auxz00_3964 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_3965);
								}
								BgL_arg1678z00_3810 =
									(((BgL_makezd2structzd2appz00_bglt)
										COBJECT(BgL_auxz00_3964))->BgL_valuezd2approxzd2);
							}
							BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00
								(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00,
								BgL_arg1678z00_3810);
						}
						{	/* Cfa/struct.scm 144 */
							BgL_approxz00_bglt BgL_arg1681z00_3811;

							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_3973;

								{
									obj_t BgL_auxz00_3974;

									{	/* Cfa/struct.scm 144 */
										BgL_objectz00_bglt BgL_tmpz00_3975;

										BgL_tmpz00_3975 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_allocz00_3774));
										BgL_auxz00_3974 = BGL_OBJECT_WIDENING(BgL_tmpz00_3975);
									}
									BgL_auxz00_3973 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_3974);
								}
								BgL_arg1681z00_3811 =
									(((BgL_makezd2structzd2appz00_bglt)
										COBJECT(BgL_auxz00_3973))->BgL_valuezd2approxzd2);
							}
							BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_arg1681z00_3811,
								((BgL_typez00_bglt) BGl_za2objza2z00zztype_cachez00));
						}
						{	/* Cfa/struct.scm 145 */
							BgL_approxz00_bglt BgL_arg1684z00_3812;

							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_3983;

								{
									obj_t BgL_auxz00_3984;

									{	/* Cfa/struct.scm 145 */
										BgL_objectz00_bglt BgL_tmpz00_3985;

										BgL_tmpz00_3985 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_allocz00_3774));
										BgL_auxz00_3984 = BGL_OBJECT_WIDENING(BgL_tmpz00_3985);
									}
									BgL_auxz00_3983 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_3984);
								}
								BgL_arg1684z00_3812 =
									(((BgL_makezd2structzd2appz00_bglt)
										COBJECT(BgL_auxz00_3983))->BgL_valuezd2approxzd2);
							}
							return
								BGl_approxzd2setzd2topz12z12zzcfa_approxz00
								(BgL_arg1684z00_3812);
						}
					}
			}
		}

	}



/* &cfa!-struct-set!-app1519 */
	BgL_approxz00_bglt
		BGl_z62cfaz12zd2structzd2setz12zd2app1519zb0zzcfa_structz00(obj_t
		BgL_envz00_3775, obj_t BgL_nodez00_3776)
	{
		{	/* Cfa/struct.scm 109 */
			{	/* Cfa/struct.scm 113 */
				obj_t BgL_arg1629z00_3814;

				{	/* Cfa/struct.scm 113 */
					obj_t BgL_pairz00_3815;

					BgL_pairz00_3815 =
						(((BgL_appz00_bglt) COBJECT(
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) BgL_nodez00_3776))))->BgL_argsz00);
					BgL_arg1629z00_3814 = CAR(CDR(BgL_pairz00_3815));
				}
				BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1629z00_3814));
			}
			{	/* Cfa/struct.scm 114 */
				BgL_approxz00_bglt BgL_structzd2approxzd2_3816;
				BgL_approxz00_bglt BgL_valzd2approxzd2_3817;

				{	/* Cfa/struct.scm 114 */
					obj_t BgL_arg1658z00_3818;

					{	/* Cfa/struct.scm 114 */
						obj_t BgL_pairz00_3819;

						BgL_pairz00_3819 =
							(((BgL_appz00_bglt) COBJECT(
									((BgL_appz00_bglt)
										((BgL_appz00_bglt) BgL_nodez00_3776))))->BgL_argsz00);
						BgL_arg1658z00_3818 = CAR(BgL_pairz00_3819);
					}
					BgL_structzd2approxzd2_3816 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1658z00_3818));
				}
				{	/* Cfa/struct.scm 115 */
					obj_t BgL_arg1669z00_3820;

					{	/* Cfa/struct.scm 115 */
						obj_t BgL_pairz00_3821;

						BgL_pairz00_3821 =
							(((BgL_appz00_bglt) COBJECT(
									((BgL_appz00_bglt)
										((BgL_appz00_bglt) BgL_nodez00_3776))))->BgL_argsz00);
						BgL_arg1669z00_3820 = CAR(CDR(CDR(BgL_pairz00_3821)));
					}
					BgL_valzd2approxzd2_3817 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1669z00_3820));
				}
				if (
					(((BgL_approxz00_bglt) COBJECT(BgL_structzd2approxzd2_3816))->
						BgL_topzf3zf3))
					{	/* Cfa/struct.scm 118 */
						((obj_t)
							BGl_loosez12z12zzcfa_loosez00(BgL_valzd2approxzd2_3817,
								CNST_TABLE_REF(0L)));
					}
				else
					{	/* Cfa/struct.scm 123 */
						obj_t BgL_zc3z04anonymousza31640ze3z87_3822;

						BgL_zc3z04anonymousza31640ze3z87_3822 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31640ze3ze5zzcfa_structz00, (int) (1L),
							(int) (1L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31640ze3z87_3822, (int) (0L),
							((obj_t) BgL_valzd2approxzd2_3817));
						BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00
							(BgL_zc3z04anonymousza31640ze3z87_3822,
							BgL_structzd2approxzd2_3816);
			}}
			{
				BgL_structzd2setz12zd2appz12_bglt BgL_auxz00_4025;

				{
					obj_t BgL_auxz00_4026;

					{	/* Cfa/struct.scm 127 */
						BgL_objectz00_bglt BgL_tmpz00_4027;

						BgL_tmpz00_4027 =
							((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3776));
						BgL_auxz00_4026 = BGL_OBJECT_WIDENING(BgL_tmpz00_4027);
					}
					BgL_auxz00_4025 =
						((BgL_structzd2setz12zd2appz12_bglt) BgL_auxz00_4026);
				}
				return
					(((BgL_structzd2setz12zd2appz12_bglt) COBJECT(BgL_auxz00_4025))->
					BgL_approxz00);
			}
		}

	}



/* &<@anonymous:1640> */
	obj_t BGl_z62zc3z04anonymousza31640ze3ze5zzcfa_structz00(obj_t
		BgL_envz00_3777, obj_t BgL_appz00_3779)
	{
		{	/* Cfa/struct.scm 122 */
			{	/* Cfa/struct.scm 123 */
				BgL_approxz00_bglt BgL_valzd2approxzd2_3778;

				BgL_valzd2approxzd2_3778 =
					((BgL_approxz00_bglt) PROCEDURE_REF(BgL_envz00_3777, (int) (0L)));
				{	/* Cfa/struct.scm 123 */
					bool_t BgL_test1990z00_4036;

					{	/* Cfa/struct.scm 123 */
						obj_t BgL_classz00_3823;

						BgL_classz00_3823 = BGl_makezd2structzd2appz00zzcfa_info2z00;
						if (BGL_OBJECTP(BgL_appz00_3779))
							{	/* Cfa/struct.scm 123 */
								BgL_objectz00_bglt BgL_arg1801z00_3824;

								BgL_arg1801z00_3824 = (BgL_objectz00_bglt) (BgL_appz00_3779);
								if (BGL_CONDEXPAND_ISA_ARCH64())
									{	/* Cfa/struct.scm 123 */
										long BgL_idxz00_3825;

										BgL_idxz00_3825 =
											BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3824);
										BgL_test1990z00_4036 =
											(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
												(BgL_idxz00_3825 + 4L)) == BgL_classz00_3823);
									}
								else
									{	/* Cfa/struct.scm 123 */
										bool_t BgL_res1956z00_3828;

										{	/* Cfa/struct.scm 123 */
											obj_t BgL_oclassz00_3829;

											{	/* Cfa/struct.scm 123 */
												long BgL_arg1808z00_3830;

												{	/* Cfa/struct.scm 123 */
													long BgL_arg1809z00_3831;

													BgL_arg1809z00_3831 =
														BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3824);
													BgL_arg1808z00_3830 =
														(BgL_arg1809z00_3831 - OBJECT_TYPE);
												}
												BgL_oclassz00_3829 =
													VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
													BgL_arg1808z00_3830);
											}
											{	/* Cfa/struct.scm 123 */
												bool_t BgL__ortest_1115z00_3832;

												BgL__ortest_1115z00_3832 =
													(BgL_classz00_3823 == BgL_oclassz00_3829);
												if (BgL__ortest_1115z00_3832)
													{	/* Cfa/struct.scm 123 */
														BgL_res1956z00_3828 = BgL__ortest_1115z00_3832;
													}
												else
													{	/* Cfa/struct.scm 123 */
														long BgL_odepthz00_3833;

														BgL_odepthz00_3833 =
															BGL_CLASS_DEPTH(BgL_oclassz00_3829);
														if ((4L < BgL_odepthz00_3833))
															{	/* Cfa/struct.scm 123 */
																obj_t BgL_arg1797z00_3834;

																BgL_arg1797z00_3834 =
																	BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3829,
																	4L);
																BgL_res1956z00_3828 =
																	(BgL_arg1797z00_3834 == BgL_classz00_3823);
															}
														else
															{	/* Cfa/struct.scm 123 */
																BgL_res1956z00_3828 = ((bool_t) 0);
															}
													}
											}
										}
										BgL_test1990z00_4036 = BgL_res1956z00_3828;
									}
							}
						else
							{	/* Cfa/struct.scm 123 */
								BgL_test1990z00_4036 = ((bool_t) 0);
							}
					}
					if (BgL_test1990z00_4036)
						{	/* Cfa/struct.scm 125 */
							BgL_approxz00_bglt BgL_arg1649z00_3835;

							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_4056;

								{
									obj_t BgL_auxz00_4057;

									{	/* Cfa/struct.scm 125 */
										BgL_objectz00_bglt BgL_tmpz00_4058;

										BgL_tmpz00_4058 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_appz00_3779));
										BgL_auxz00_4057 = BGL_OBJECT_WIDENING(BgL_tmpz00_4058);
									}
									BgL_auxz00_4056 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4057);
								}
								BgL_arg1649z00_3835 =
									(((BgL_makezd2structzd2appz00_bglt)
										COBJECT(BgL_auxz00_4056))->BgL_valuezd2approxzd2);
							}
							return
								((obj_t)
								BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg1649z00_3835,
									BgL_valzd2approxzd2_3778));
						}
					else
						{	/* Cfa/struct.scm 123 */
							return BFALSE;
						}
				}
			}
		}

	}



/* &cfa!-struct-ref-app1517 */
	BgL_approxz00_bglt
		BGl_z62cfaz12zd2structzd2refzd2app1517za2zzcfa_structz00(obj_t
		BgL_envz00_3780, obj_t BgL_nodez00_3781)
	{
		{	/* Cfa/struct.scm 87 */
			{	/* Cfa/struct.scm 91 */
				obj_t BgL_arg1597z00_3837;

				{	/* Cfa/struct.scm 91 */
					obj_t BgL_pairz00_3838;

					BgL_pairz00_3838 =
						(((BgL_appz00_bglt) COBJECT(
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) BgL_nodez00_3781))))->BgL_argsz00);
					BgL_arg1597z00_3837 = CAR(CDR(BgL_pairz00_3838));
				}
				BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1597z00_3837));
			}
			{	/* Cfa/struct.scm 92 */
				BgL_approxz00_bglt BgL_structzd2approxzd2_3839;

				{	/* Cfa/struct.scm 92 */
					obj_t BgL_arg1621z00_3840;

					{	/* Cfa/struct.scm 92 */
						obj_t BgL_pairz00_3841;

						BgL_pairz00_3841 =
							(((BgL_appz00_bglt) COBJECT(
									((BgL_appz00_bglt)
										((BgL_appz00_bglt) BgL_nodez00_3781))))->BgL_argsz00);
						BgL_arg1621z00_3840 = CAR(BgL_pairz00_3841);
					}
					BgL_structzd2approxzd2_3839 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1621z00_3840));
				}
				if (
					(((BgL_approxz00_bglt) COBJECT(BgL_structzd2approxzd2_3839))->
						BgL_topzf3zf3))
					{	/* Cfa/struct.scm 96 */
						BgL_approxz00_bglt BgL_arg1606z00_3842;

						{
							BgL_structzd2refzd2appz00_bglt BgL_auxz00_4081;

							{
								obj_t BgL_auxz00_4082;

								{	/* Cfa/struct.scm 96 */
									BgL_objectz00_bglt BgL_tmpz00_4083;

									BgL_tmpz00_4083 =
										((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3781));
									BgL_auxz00_4082 = BGL_OBJECT_WIDENING(BgL_tmpz00_4083);
								}
								BgL_auxz00_4081 =
									((BgL_structzd2refzd2appz00_bglt) BgL_auxz00_4082);
							}
							BgL_arg1606z00_3842 =
								(((BgL_structzd2refzd2appz00_bglt) COBJECT(BgL_auxz00_4081))->
								BgL_approxz00);
						}
						BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_arg1606z00_3842);
					}
				else
					{	/* Cfa/struct.scm 95 */
						BFALSE;
					}
				{	/* Cfa/struct.scm 99 */
					obj_t BgL_zc3z04anonymousza31609ze3z87_3843;

					BgL_zc3z04anonymousza31609ze3z87_3843 =
						MAKE_FX_PROCEDURE
						(BGl_z62zc3z04anonymousza31609ze3ze5zzcfa_structz00, (int) (1L),
						(int) (1L));
					PROCEDURE_SET(BgL_zc3z04anonymousza31609ze3z87_3843, (int) (0L),
						((obj_t) ((BgL_appz00_bglt) BgL_nodez00_3781)));
					BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00
						(BgL_zc3z04anonymousza31609ze3z87_3843,
						BgL_structzd2approxzd2_3839);
			}}
			{
				BgL_structzd2refzd2appz00_bglt BgL_auxz00_4098;

				{
					obj_t BgL_auxz00_4099;

					{	/* Cfa/struct.scm 104 */
						BgL_objectz00_bglt BgL_tmpz00_4100;

						BgL_tmpz00_4100 =
							((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3781));
						BgL_auxz00_4099 = BGL_OBJECT_WIDENING(BgL_tmpz00_4100);
					}
					BgL_auxz00_4098 = ((BgL_structzd2refzd2appz00_bglt) BgL_auxz00_4099);
				}
				return
					(((BgL_structzd2refzd2appz00_bglt) COBJECT(BgL_auxz00_4098))->
					BgL_approxz00);
			}
		}

	}



/* &<@anonymous:1609> */
	obj_t BGl_z62zc3z04anonymousza31609ze3ze5zzcfa_structz00(obj_t
		BgL_envz00_3782, obj_t BgL_appz00_3784)
	{
		{	/* Cfa/struct.scm 98 */
			{	/* Cfa/struct.scm 99 */
				BgL_appz00_bglt BgL_i1181z00_3783;

				BgL_i1181z00_3783 =
					((BgL_appz00_bglt) PROCEDURE_REF(BgL_envz00_3782, (int) (0L)));
				{	/* Cfa/struct.scm 99 */
					bool_t BgL_test1996z00_4109;

					{	/* Cfa/struct.scm 99 */
						obj_t BgL_classz00_3844;

						BgL_classz00_3844 = BGl_makezd2structzd2appz00zzcfa_info2z00;
						if (BGL_OBJECTP(BgL_appz00_3784))
							{	/* Cfa/struct.scm 99 */
								BgL_objectz00_bglt BgL_arg1801z00_3845;

								BgL_arg1801z00_3845 = (BgL_objectz00_bglt) (BgL_appz00_3784);
								if (BGL_CONDEXPAND_ISA_ARCH64())
									{	/* Cfa/struct.scm 99 */
										long BgL_idxz00_3846;

										BgL_idxz00_3846 =
											BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_3845);
										BgL_test1996z00_4109 =
											(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
												(BgL_idxz00_3846 + 4L)) == BgL_classz00_3844);
									}
								else
									{	/* Cfa/struct.scm 99 */
										bool_t BgL_res1955z00_3849;

										{	/* Cfa/struct.scm 99 */
											obj_t BgL_oclassz00_3850;

											{	/* Cfa/struct.scm 99 */
												long BgL_arg1808z00_3851;

												{	/* Cfa/struct.scm 99 */
													long BgL_arg1809z00_3852;

													BgL_arg1809z00_3852 =
														BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_3845);
													BgL_arg1808z00_3851 =
														(BgL_arg1809z00_3852 - OBJECT_TYPE);
												}
												BgL_oclassz00_3850 =
													VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
													BgL_arg1808z00_3851);
											}
											{	/* Cfa/struct.scm 99 */
												bool_t BgL__ortest_1115z00_3853;

												BgL__ortest_1115z00_3853 =
													(BgL_classz00_3844 == BgL_oclassz00_3850);
												if (BgL__ortest_1115z00_3853)
													{	/* Cfa/struct.scm 99 */
														BgL_res1955z00_3849 = BgL__ortest_1115z00_3853;
													}
												else
													{	/* Cfa/struct.scm 99 */
														long BgL_odepthz00_3854;

														BgL_odepthz00_3854 =
															BGL_CLASS_DEPTH(BgL_oclassz00_3850);
														if ((4L < BgL_odepthz00_3854))
															{	/* Cfa/struct.scm 99 */
																obj_t BgL_arg1797z00_3855;

																BgL_arg1797z00_3855 =
																	BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_3850,
																	4L);
																BgL_res1955z00_3849 =
																	(BgL_arg1797z00_3855 == BgL_classz00_3844);
															}
														else
															{	/* Cfa/struct.scm 99 */
																BgL_res1955z00_3849 = ((bool_t) 0);
															}
													}
											}
										}
										BgL_test1996z00_4109 = BgL_res1955z00_3849;
									}
							}
						else
							{	/* Cfa/struct.scm 99 */
								BgL_test1996z00_4109 = ((bool_t) 0);
							}
					}
					if (BgL_test1996z00_4109)
						{	/* Cfa/struct.scm 99 */
							{	/* Cfa/struct.scm 101 */
								BgL_approxz00_bglt BgL_arg1613z00_3856;
								BgL_approxz00_bglt BgL_arg1614z00_3857;

								{
									BgL_structzd2refzd2appz00_bglt BgL_auxz00_4129;

									{
										obj_t BgL_auxz00_4130;

										{	/* Cfa/struct.scm 101 */
											BgL_objectz00_bglt BgL_tmpz00_4131;

											BgL_tmpz00_4131 =
												((BgL_objectz00_bglt) BgL_i1181z00_3783);
											BgL_auxz00_4130 = BGL_OBJECT_WIDENING(BgL_tmpz00_4131);
										}
										BgL_auxz00_4129 =
											((BgL_structzd2refzd2appz00_bglt) BgL_auxz00_4130);
									}
									BgL_arg1613z00_3856 =
										(((BgL_structzd2refzd2appz00_bglt)
											COBJECT(BgL_auxz00_4129))->BgL_approxz00);
								}
								{
									BgL_makezd2structzd2appz00_bglt BgL_auxz00_4136;

									{
										obj_t BgL_auxz00_4137;

										{	/* Cfa/struct.scm 101 */
											BgL_objectz00_bglt BgL_tmpz00_4138;

											BgL_tmpz00_4138 =
												((BgL_objectz00_bglt)
												((BgL_appz00_bglt) BgL_appz00_3784));
											BgL_auxz00_4137 = BGL_OBJECT_WIDENING(BgL_tmpz00_4138);
										}
										BgL_auxz00_4136 =
											((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4137);
									}
									BgL_arg1614z00_3857 =
										(((BgL_makezd2structzd2appz00_bglt)
											COBJECT(BgL_auxz00_4136))->BgL_valuezd2approxzd2);
								}
								BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg1613z00_3856,
									BgL_arg1614z00_3857);
							}
							{	/* Cfa/struct.scm 102 */
								BgL_approxz00_bglt BgL_arg1615z00_3858;
								BgL_typez00_bglt BgL_arg1616z00_3859;

								{
									BgL_makezd2structzd2appz00_bglt BgL_auxz00_4145;

									{
										obj_t BgL_auxz00_4146;

										{	/* Cfa/struct.scm 102 */
											BgL_objectz00_bglt BgL_tmpz00_4147;

											BgL_tmpz00_4147 =
												((BgL_objectz00_bglt)
												((BgL_appz00_bglt) BgL_appz00_3784));
											BgL_auxz00_4146 = BGL_OBJECT_WIDENING(BgL_tmpz00_4147);
										}
										BgL_auxz00_4145 =
											((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4146);
									}
									BgL_arg1615z00_3858 =
										(((BgL_makezd2structzd2appz00_bglt)
											COBJECT(BgL_auxz00_4145))->BgL_valuezd2approxzd2);
								}
								{	/* Cfa/struct.scm 102 */
									BgL_approxz00_bglt BgL_arg1620z00_3860;

									{
										BgL_structzd2refzd2appz00_bglt BgL_auxz00_4153;

										{
											obj_t BgL_auxz00_4154;

											{	/* Cfa/struct.scm 102 */
												BgL_objectz00_bglt BgL_tmpz00_4155;

												BgL_tmpz00_4155 =
													((BgL_objectz00_bglt) BgL_i1181z00_3783);
												BgL_auxz00_4154 = BGL_OBJECT_WIDENING(BgL_tmpz00_4155);
											}
											BgL_auxz00_4153 =
												((BgL_structzd2refzd2appz00_bglt) BgL_auxz00_4154);
										}
										BgL_arg1620z00_3860 =
											(((BgL_structzd2refzd2appz00_bglt)
												COBJECT(BgL_auxz00_4153))->BgL_approxz00);
									}
									BgL_arg1616z00_3859 =
										(((BgL_approxz00_bglt) COBJECT(BgL_arg1620z00_3860))->
										BgL_typez00);
								}
								return
									BGl_approxzd2setzd2typez12z12zzcfa_approxz00
									(BgL_arg1615z00_3858, BgL_arg1616z00_3859);
							}
						}
					else
						{	/* Cfa/struct.scm 99 */
							return BFALSE;
						}
				}
			}
		}

	}



/* &cfa!-make-struct-app1515 */
	BgL_approxz00_bglt
		BGl_z62cfaz12zd2makezd2structzd2app1515za2zzcfa_structz00(obj_t
		BgL_envz00_3785, obj_t BgL_nodez00_3786)
	{
		{	/* Cfa/struct.scm 71 */
			{	/* Cfa/struct.scm 74 */
				obj_t BgL_arg1581z00_3862;

				{	/* Cfa/struct.scm 74 */
					obj_t BgL_pairz00_3863;

					BgL_pairz00_3863 =
						(((BgL_appz00_bglt) COBJECT(
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) BgL_nodez00_3786))))->BgL_argsz00);
					BgL_arg1581z00_3862 = CAR(BgL_pairz00_3863);
				}
				BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1581z00_3862));
			}
			{	/* Cfa/struct.scm 75 */
				BgL_approxz00_bglt BgL_initzd2valuezd2approxz00_3864;

				{	/* Cfa/struct.scm 75 */
					obj_t BgL_arg1592z00_3865;

					{	/* Cfa/struct.scm 75 */
						obj_t BgL_pairz00_3866;

						BgL_pairz00_3866 =
							(((BgL_appz00_bglt) COBJECT(
									((BgL_appz00_bglt)
										((BgL_appz00_bglt) BgL_nodez00_3786))))->BgL_argsz00);
						BgL_arg1592z00_3865 = CAR(CDR(BgL_pairz00_3866));
					}
					BgL_initzd2valuezd2approxz00_3864 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1592z00_3865));
				}
				{	/* Cfa/struct.scm 76 */
					BgL_approxz00_bglt BgL_arg1590z00_3867;

					{
						BgL_makezd2structzd2appz00_bglt BgL_auxz00_4175;

						{
							obj_t BgL_auxz00_4176;

							{	/* Cfa/struct.scm 76 */
								BgL_objectz00_bglt BgL_tmpz00_4177;

								BgL_tmpz00_4177 =
									((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3786));
								BgL_auxz00_4176 = BGL_OBJECT_WIDENING(BgL_tmpz00_4177);
							}
							BgL_auxz00_4175 =
								((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4176);
						}
						BgL_arg1590z00_3867 =
							(((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_4175))->
							BgL_valuezd2approxzd2);
					}
					BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg1590z00_3867,
						BgL_initzd2valuezd2approxz00_3864);
				}
				{
					BgL_makezd2structzd2appz00_bglt BgL_auxz00_4184;

					{
						obj_t BgL_auxz00_4185;

						{	/* Cfa/struct.scm 77 */
							BgL_objectz00_bglt BgL_tmpz00_4186;

							BgL_tmpz00_4186 =
								((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3786));
							BgL_auxz00_4185 = BGL_OBJECT_WIDENING(BgL_tmpz00_4186);
						}
						BgL_auxz00_4184 =
							((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4185);
					}
					return
						(((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_4184))->
						BgL_approxz00);
				}
			}
		}

	}



/* &node-setup!-pre-stru1513 */
	obj_t BGl_z62nodezd2setupz12zd2prezd2stru1513za2zzcfa_structz00(obj_t
		BgL_envz00_3787, obj_t BgL_nodez00_3788)
	{
		{	/* Cfa/struct.scm 62 */
			{	/* Cfa/struct.scm 64 */
				obj_t BgL_arg1565z00_3869;

				BgL_arg1565z00_3869 =
					(((BgL_appz00_bglt) COBJECT(
							((BgL_appz00_bglt)
								((BgL_appz00_bglt) BgL_nodez00_3788))))->BgL_argsz00);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1565z00_3869);
			}
			{	/* Cfa/struct.scm 65 */
				BgL_appz00_bglt BgL_nodez00_3870;

				{	/* Cfa/struct.scm 65 */
					long BgL_arg1576z00_3871;

					{	/* Cfa/struct.scm 65 */
						obj_t BgL_arg1578z00_3872;

						{	/* Cfa/struct.scm 65 */
							obj_t BgL_arg1579z00_3873;

							{	/* Cfa/struct.scm 65 */
								long BgL_arg1808z00_3874;

								{	/* Cfa/struct.scm 65 */
									long BgL_arg1809z00_3875;

									BgL_arg1809z00_3875 =
										BGL_OBJECT_CLASS_NUM(
										((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_nodez00_3788)));
									BgL_arg1808z00_3874 = (BgL_arg1809z00_3875 - OBJECT_TYPE);
								}
								BgL_arg1579z00_3873 =
									VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
									BgL_arg1808z00_3874);
							}
							BgL_arg1578z00_3872 =
								BGl_classzd2superzd2zz__objectz00(BgL_arg1579z00_3873);
						}
						{	/* Cfa/struct.scm 65 */
							obj_t BgL_tmpz00_4202;

							BgL_tmpz00_4202 = ((obj_t) BgL_arg1578z00_3872);
							BgL_arg1576z00_3871 = BGL_CLASS_NUM(BgL_tmpz00_4202);
					}}
					BGL_OBJECT_CLASS_NUM_SET(
						((BgL_objectz00_bglt)
							((BgL_appz00_bglt) BgL_nodez00_3788)), BgL_arg1576z00_3871);
				}
				{	/* Cfa/struct.scm 65 */
					BgL_objectz00_bglt BgL_tmpz00_4208;

					BgL_tmpz00_4208 =
						((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3788));
					BGL_OBJECT_WIDENING_SET(BgL_tmpz00_4208, BFALSE);
				}
				((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3788));
				BgL_nodez00_3870 = ((BgL_appz00_bglt) BgL_nodez00_3788);
				{	/* Cfa/struct.scm 66 */
					BgL_structzd2setz12zd2appz12_bglt BgL_wide1178z00_3876;

					BgL_wide1178z00_3876 =
						((BgL_structzd2setz12zd2appz12_bglt) BOBJECT(GC_MALLOC(sizeof(struct
									BgL_structzd2setz12zd2appz12_bgl))));
					{	/* Cfa/struct.scm 66 */
						obj_t BgL_auxz00_4220;
						BgL_objectz00_bglt BgL_tmpz00_4216;

						BgL_auxz00_4220 = ((obj_t) BgL_wide1178z00_3876);
						BgL_tmpz00_4216 =
							((BgL_objectz00_bglt)
							((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3870)));
						BGL_OBJECT_WIDENING_SET(BgL_tmpz00_4216, BgL_auxz00_4220);
					}
					((BgL_objectz00_bglt)
						((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3870)));
					{	/* Cfa/struct.scm 66 */
						long BgL_arg1575z00_3877;

						BgL_arg1575z00_3877 =
							BGL_CLASS_NUM(BGl_structzd2setz12zd2appz12zzcfa_info2z00);
						BGL_OBJECT_CLASS_NUM_SET(
							((BgL_objectz00_bglt)
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) BgL_nodez00_3870))), BgL_arg1575z00_3877);
					}
					((BgL_appz00_bglt)
						((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3870)));
				}
				{
					BgL_structzd2setz12zd2appz12_bglt BgL_auxz00_4234;

					{
						obj_t BgL_auxz00_4235;

						{	/* Cfa/struct.scm 66 */
							BgL_objectz00_bglt BgL_tmpz00_4236;

							BgL_tmpz00_4236 =
								((BgL_objectz00_bglt)
								((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3870)));
							BgL_auxz00_4235 = BGL_OBJECT_WIDENING(BgL_tmpz00_4236);
						}
						BgL_auxz00_4234 =
							((BgL_structzd2setz12zd2appz12_bglt) BgL_auxz00_4235);
					}
					((((BgL_structzd2setz12zd2appz12_bglt) COBJECT(BgL_auxz00_4234))->
							BgL_approxz00) =
						((BgL_approxz00_bglt)
							BGl_makezd2typezd2approxz00zzcfa_approxz00(((BgL_typez00_bglt)
									BGl_za2unspecza2z00zztype_cachez00))), BUNSPEC);
				}
				return
					((obj_t) ((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3870)));
			}
		}

	}



/* &node-setup!-pre-stru1511 */
	obj_t BGl_z62nodezd2setupz12zd2prezd2stru1511za2zzcfa_structz00(obj_t
		BgL_envz00_3789, obj_t BgL_nodez00_3790)
	{
		{	/* Cfa/struct.scm 53 */
			{	/* Cfa/struct.scm 55 */
				obj_t BgL_arg1554z00_3879;

				BgL_arg1554z00_3879 =
					(((BgL_appz00_bglt) COBJECT(
							((BgL_appz00_bglt)
								((BgL_appz00_bglt) BgL_nodez00_3790))))->BgL_argsz00);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1554z00_3879);
			}
			{	/* Cfa/struct.scm 56 */
				BgL_appz00_bglt BgL_nodez00_3880;

				{	/* Cfa/struct.scm 56 */
					long BgL_arg1560z00_3881;

					{	/* Cfa/struct.scm 56 */
						obj_t BgL_arg1563z00_3882;

						{	/* Cfa/struct.scm 56 */
							obj_t BgL_arg1564z00_3883;

							{	/* Cfa/struct.scm 56 */
								long BgL_arg1808z00_3884;

								{	/* Cfa/struct.scm 56 */
									long BgL_arg1809z00_3885;

									BgL_arg1809z00_3885 =
										BGL_OBJECT_CLASS_NUM(
										((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_nodez00_3790)));
									BgL_arg1808z00_3884 = (BgL_arg1809z00_3885 - OBJECT_TYPE);
								}
								BgL_arg1564z00_3883 =
									VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
									BgL_arg1808z00_3884);
							}
							BgL_arg1563z00_3882 =
								BGl_classzd2superzd2zz__objectz00(BgL_arg1564z00_3883);
						}
						{	/* Cfa/struct.scm 56 */
							obj_t BgL_tmpz00_4258;

							BgL_tmpz00_4258 = ((obj_t) BgL_arg1563z00_3882);
							BgL_arg1560z00_3881 = BGL_CLASS_NUM(BgL_tmpz00_4258);
					}}
					BGL_OBJECT_CLASS_NUM_SET(
						((BgL_objectz00_bglt)
							((BgL_appz00_bglt) BgL_nodez00_3790)), BgL_arg1560z00_3881);
				}
				{	/* Cfa/struct.scm 56 */
					BgL_objectz00_bglt BgL_tmpz00_4264;

					BgL_tmpz00_4264 =
						((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3790));
					BGL_OBJECT_WIDENING_SET(BgL_tmpz00_4264, BFALSE);
				}
				((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3790));
				BgL_nodez00_3880 = ((BgL_appz00_bglt) BgL_nodez00_3790);
				{	/* Cfa/struct.scm 57 */
					BgL_structzd2refzd2appz00_bglt BgL_wide1172z00_3886;

					BgL_wide1172z00_3886 =
						((BgL_structzd2refzd2appz00_bglt) BOBJECT(GC_MALLOC(sizeof(struct
									BgL_structzd2refzd2appz00_bgl))));
					{	/* Cfa/struct.scm 57 */
						obj_t BgL_auxz00_4276;
						BgL_objectz00_bglt BgL_tmpz00_4272;

						BgL_auxz00_4276 = ((obj_t) BgL_wide1172z00_3886);
						BgL_tmpz00_4272 =
							((BgL_objectz00_bglt)
							((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3880)));
						BGL_OBJECT_WIDENING_SET(BgL_tmpz00_4272, BgL_auxz00_4276);
					}
					((BgL_objectz00_bglt)
						((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3880)));
					{	/* Cfa/struct.scm 57 */
						long BgL_arg1555z00_3887;

						BgL_arg1555z00_3887 =
							BGL_CLASS_NUM(BGl_structzd2refzd2appz00zzcfa_info2z00);
						BGL_OBJECT_CLASS_NUM_SET(
							((BgL_objectz00_bglt)
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) BgL_nodez00_3880))), BgL_arg1555z00_3887);
					}
					((BgL_appz00_bglt)
						((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3880)));
				}
				{
					BgL_structzd2refzd2appz00_bglt BgL_auxz00_4290;

					{
						obj_t BgL_auxz00_4291;

						{	/* Cfa/struct.scm 57 */
							BgL_objectz00_bglt BgL_tmpz00_4292;

							BgL_tmpz00_4292 =
								((BgL_objectz00_bglt)
								((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3880)));
							BgL_auxz00_4291 = BGL_OBJECT_WIDENING(BgL_tmpz00_4292);
						}
						BgL_auxz00_4290 =
							((BgL_structzd2refzd2appz00_bglt) BgL_auxz00_4291);
					}
					((((BgL_structzd2refzd2appz00_bglt) COBJECT(BgL_auxz00_4290))->
							BgL_approxz00) =
						((BgL_approxz00_bglt)
							BGl_makezd2typezd2approxz00zzcfa_approxz00(((BgL_typez00_bglt)
									BGl_za2objza2z00zztype_cachez00))), BUNSPEC);
				}
				return
					((obj_t) ((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3880)));
			}
		}

	}



/* &node-setup!-pre-make1509 */
	obj_t BGl_z62nodezd2setupz12zd2prezd2make1509za2zzcfa_structz00(obj_t
		BgL_envz00_3791, obj_t BgL_nodez00_3792)
	{
		{	/* Cfa/struct.scm 36 */
			{	/* Cfa/struct.scm 38 */
				obj_t BgL_arg1534z00_3889;

				BgL_arg1534z00_3889 =
					(((BgL_appz00_bglt) COBJECT(
							((BgL_appz00_bglt)
								((BgL_appz00_bglt) BgL_nodez00_3792))))->BgL_argsz00);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1534z00_3889);
			}
			{	/* Cfa/struct.scm 39 */
				BgL_variablez00_bglt BgL_ownerz00_3890;

				{
					BgL_prezd2makezd2structzd2appzd2_bglt BgL_auxz00_4308;

					{
						obj_t BgL_auxz00_4309;

						{	/* Cfa/struct.scm 39 */
							BgL_objectz00_bglt BgL_tmpz00_4310;

							BgL_tmpz00_4310 =
								((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3792));
							BgL_auxz00_4309 = BGL_OBJECT_WIDENING(BgL_tmpz00_4310);
						}
						BgL_auxz00_4308 =
							((BgL_prezd2makezd2structzd2appzd2_bglt) BgL_auxz00_4309);
					}
					BgL_ownerz00_3890 =
						(((BgL_prezd2makezd2structzd2appzd2_bglt)
							COBJECT(BgL_auxz00_4308))->BgL_ownerz00);
				}
				{	/* Cfa/struct.scm 39 */
					BgL_appz00_bglt BgL_nodez00_3891;

					{	/* Cfa/struct.scm 40 */
						long BgL_arg1546z00_3892;

						{	/* Cfa/struct.scm 40 */
							obj_t BgL_arg1547z00_3893;

							{	/* Cfa/struct.scm 40 */
								obj_t BgL_arg1550z00_3894;

								{	/* Cfa/struct.scm 40 */
									long BgL_arg1808z00_3895;

									{	/* Cfa/struct.scm 40 */
										long BgL_arg1809z00_3896;

										BgL_arg1809z00_3896 =
											BGL_OBJECT_CLASS_NUM(
											((BgL_objectz00_bglt)
												((BgL_appz00_bglt) BgL_nodez00_3792)));
										BgL_arg1808z00_3895 = (BgL_arg1809z00_3896 - OBJECT_TYPE);
									}
									BgL_arg1550z00_3894 =
										VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
										BgL_arg1808z00_3895);
								}
								BgL_arg1547z00_3893 =
									BGl_classzd2superzd2zz__objectz00(BgL_arg1550z00_3894);
							}
							{	/* Cfa/struct.scm 40 */
								obj_t BgL_tmpz00_4322;

								BgL_tmpz00_4322 = ((obj_t) BgL_arg1547z00_3893);
								BgL_arg1546z00_3892 = BGL_CLASS_NUM(BgL_tmpz00_4322);
						}}
						BGL_OBJECT_CLASS_NUM_SET(
							((BgL_objectz00_bglt)
								((BgL_appz00_bglt) BgL_nodez00_3792)), BgL_arg1546z00_3892);
					}
					{	/* Cfa/struct.scm 40 */
						BgL_objectz00_bglt BgL_tmpz00_4328;

						BgL_tmpz00_4328 =
							((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3792));
						BGL_OBJECT_WIDENING_SET(BgL_tmpz00_4328, BFALSE);
					}
					((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3792));
					BgL_nodez00_3891 = ((BgL_appz00_bglt) BgL_nodez00_3792);
					{	/* Cfa/struct.scm 40 */

						{	/* Cfa/struct.scm 41 */
							BgL_appz00_bglt BgL_wnodez00_3897;

							{	/* Cfa/struct.scm 41 */
								BgL_makezd2structzd2appz00_bglt BgL_wide1166z00_3898;

								BgL_wide1166z00_3898 =
									((BgL_makezd2structzd2appz00_bglt)
									BOBJECT(GC_MALLOC(sizeof(struct
												BgL_makezd2structzd2appz00_bgl))));
								{	/* Cfa/struct.scm 41 */
									obj_t BgL_auxz00_4340;
									BgL_objectz00_bglt BgL_tmpz00_4336;

									BgL_auxz00_4340 = ((obj_t) BgL_wide1166z00_3898);
									BgL_tmpz00_4336 =
										((BgL_objectz00_bglt)
										((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
									BGL_OBJECT_WIDENING_SET(BgL_tmpz00_4336, BgL_auxz00_4340);
								}
								((BgL_objectz00_bglt)
									((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
								{	/* Cfa/struct.scm 41 */
									long BgL_arg1545z00_3899;

									BgL_arg1545z00_3899 =
										BGL_CLASS_NUM(BGl_makezd2structzd2appz00zzcfa_info2z00);
									BGL_OBJECT_CLASS_NUM_SET(
										((BgL_objectz00_bglt)
											((BgL_appz00_bglt)
												((BgL_appz00_bglt) BgL_nodez00_3891))),
										BgL_arg1545z00_3899);
								}
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
							}
							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_4354;

								{
									obj_t BgL_auxz00_4355;

									{	/* Cfa/struct.scm 43 */
										BgL_objectz00_bglt BgL_tmpz00_4356;

										BgL_tmpz00_4356 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
										BgL_auxz00_4355 = BGL_OBJECT_WIDENING(BgL_tmpz00_4356);
									}
									BgL_auxz00_4354 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4355);
								}
								((((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_4354))->
										BgL_approxz00) =
									((BgL_approxz00_bglt)
										BGl_makezd2emptyzd2approxz00zzcfa_approxz00()), BUNSPEC);
							}
							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_4364;

								{
									obj_t BgL_auxz00_4365;

									{	/* Cfa/struct.scm 44 */
										BgL_objectz00_bglt BgL_tmpz00_4366;

										BgL_tmpz00_4366 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
										BgL_auxz00_4365 = BGL_OBJECT_WIDENING(BgL_tmpz00_4366);
									}
									BgL_auxz00_4364 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4365);
								}
								((((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_4364))->
										BgL_valuezd2approxzd2) =
									((BgL_approxz00_bglt)
										BGl_makezd2emptyzd2approxz00zzcfa_approxz00()), BUNSPEC);
							}
							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_4374;

								{
									obj_t BgL_auxz00_4375;

									{	/* Cfa/struct.scm 40 */
										BgL_objectz00_bglt BgL_tmpz00_4376;

										BgL_tmpz00_4376 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
										BgL_auxz00_4375 = BGL_OBJECT_WIDENING(BgL_tmpz00_4376);
									}
									BgL_auxz00_4374 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4375);
								}
								((((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_4374))->
										BgL_lostzd2stampzd2) = ((long) -1L), BUNSPEC);
							}
							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_4383;

								{
									obj_t BgL_auxz00_4384;

									{	/* Cfa/struct.scm 42 */
										BgL_objectz00_bglt BgL_tmpz00_4385;

										BgL_tmpz00_4385 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
										BgL_auxz00_4384 = BGL_OBJECT_WIDENING(BgL_tmpz00_4385);
									}
									BgL_auxz00_4383 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4384);
								}
								((((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_4383))->
										BgL_ownerz00) =
									((BgL_variablez00_bglt) BgL_ownerz00_3890), BUNSPEC);
							}
							{
								BgL_makezd2structzd2appz00_bglt BgL_auxz00_4392;

								{
									obj_t BgL_auxz00_4393;

									{	/* Cfa/struct.scm 40 */
										BgL_objectz00_bglt BgL_tmpz00_4394;

										BgL_tmpz00_4394 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891)));
										BgL_auxz00_4393 = BGL_OBJECT_WIDENING(BgL_tmpz00_4394);
									}
									BgL_auxz00_4392 =
										((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4393);
								}
								((((BgL_makezd2structzd2appz00_bglt) COBJECT(BgL_auxz00_4392))->
										BgL_stackzd2stampzd2) = ((obj_t) BNIL), BUNSPEC);
							}
							BgL_wnodez00_3897 =
								((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_3891));
							{	/* Cfa/struct.scm 47 */
								BgL_approxz00_bglt BgL_arg1541z00_3900;

								BgL_arg1541z00_3900 =
									BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(
									((BgL_typez00_bglt) BGl_za2structza2z00zztype_cachez00),
									((BgL_nodez00_bglt) BgL_nodez00_3891));
								{
									BgL_makezd2structzd2appz00_bglt BgL_auxz00_4406;

									{
										obj_t BgL_auxz00_4407;

										{	/* Cfa/struct.scm 46 */
											BgL_objectz00_bglt BgL_tmpz00_4408;

											BgL_tmpz00_4408 =
												((BgL_objectz00_bglt) BgL_wnodez00_3897);
											BgL_auxz00_4407 = BGL_OBJECT_WIDENING(BgL_tmpz00_4408);
										}
										BgL_auxz00_4406 =
											((BgL_makezd2structzd2appz00_bglt) BgL_auxz00_4407);
									}
									return
										((((BgL_makezd2structzd2appz00_bglt)
												COBJECT(BgL_auxz00_4406))->BgL_approxz00) =
										((BgL_approxz00_bglt) BgL_arg1541z00_3900), BUNSPEC);
								}
							}
						}
					}
				}
			}
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zzcfa_structz00(void)
	{
		{	/* Cfa/struct.scm 17 */
			BGl_modulezd2initializa7ationz75zztools_tracez00(54713316L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zztools_errorz00(300504031L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zztype_cachez00(346491734L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzast_varz00(90839984L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzast_nodez00(469732712L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzcfa_infoz00(3788352L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzcfa_info2z00(0L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzcfa_loosez00(471177480L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzcfa_iteratez00(131412063L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzcfa_cfaz00(400853817L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			BGl_modulezd2initializa7ationz75zzcfa_setupz00(168272122L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
			return
				BGl_modulezd2initializa7ationz75zzcfa_approxz00(54924680L,
				BSTRING_TO_STRING(BGl_string1971z00zzcfa_structz00));
		}

	}

#ifdef __cplusplus
}
#endif
