/*===========================================================================*/
/*   (Cfa/vector.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/vector.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_VECTOR_TYPE_DEFINITIONS
#define BGL_CFA_VECTOR_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_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_vallocz00_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;
		struct BgL_typez00_bgl *BgL_ftypez00;
		struct BgL_typez00_bgl *BgL_otypez00;
	}                *BgL_vallocz00_bglt;

	typedef struct BgL_vrefz00_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;
		struct BgL_typez00_bgl *BgL_ftypez00;
		struct BgL_typez00_bgl *BgL_otypez00;
		struct BgL_typez00_bgl *BgL_vtypez00;
		bool_t BgL_unsafez00;
	}              *BgL_vrefz00_bglt;

	typedef struct BgL_vsetz12z12_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;
		struct BgL_typez00_bgl *BgL_ftypez00;
		struct BgL_typez00_bgl *BgL_otypez00;
		struct BgL_typez00_bgl *BgL_vtypez00;
		bool_t BgL_unsafez00;
	}                 *BgL_vsetz12z12_bglt;

	typedef struct BgL_vlengthz00_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;
		struct BgL_typez00_bgl *BgL_vtypez00;
		obj_t BgL_ftypez00;
	}                 *BgL_vlengthz00_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_prezd2makezd2vectorzd2appzd2_bgl
	{
		struct BgL_variablez00_bgl *BgL_ownerz00;
	}                                   *BgL_prezd2makezd2vectorzd2appzd2_bglt;

	typedef struct BgL_makezd2vectorzd2appz00_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;
		bool_t BgL_seenzf3zf3;
		bool_t BgL_tvectorzf3zf3;
	}                             *BgL_makezd2vectorzd2appz00_bglt;

	typedef struct BgL_vrefzf2cinfozf2_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
		bool_t BgL_tvectorzf3zf3;
	}                      *BgL_vrefzf2cinfozf2_bglt;

	typedef struct BgL_vsetz12zf2cinfoze0_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
		bool_t BgL_tvectorzf3zf3;
	}                         *BgL_vsetz12zf2cinfoze0_bglt;

	typedef struct BgL_vlengthzf2cinfozf2_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
		bool_t BgL_tvectorzf3zf3;
	}                         *BgL_vlengthzf2cinfozf2_bglt;

	typedef struct BgL_prezd2valloczf2cinfoz20_bgl
	{
		struct BgL_variablez00_bgl *BgL_ownerz00;
	}                              *BgL_prezd2valloczf2cinfoz20_bglt;

	typedef struct BgL_valloczf2cinfozf2_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
	}                        *BgL_valloczf2cinfozf2_bglt;

	typedef struct BgL_valloczf2cinfozb2optimz40_bgl
	{
		struct BgL_approxz00_bgl *BgL_approxz00;
		struct BgL_approxz00_bgl *BgL_valuezd2approxzd2;
		long BgL_lostzd2stampzd2;
		struct BgL_variablez00_bgl *BgL_ownerz00;
		bool_t BgL_stackablezf3zf3;
		obj_t BgL_stackzd2stampzd2;
		bool_t BgL_seenzf3zf3;
	}                                *BgL_valloczf2cinfozb2optimz40_bglt;


#endif													// BGL_CFA_VECTOR_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2vlengthzf2Cinfo1611z50zzcfa_vectorz00(obj_t, obj_t);
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2vrefzf2Cinfo1613z50zzcfa_vectorz00(obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zzcfa_vectorz00(void);
	extern obj_t BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00(obj_t,
		BgL_approxz00_bglt);
	extern obj_t BGl_prezd2valloczf2Cinfoz20zzcfa_info3z00;
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2valloczf2Cinfozb2op1607ze2zzcfa_vectorz00(obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zzcfa_vectorz00(void);
	static obj_t BGl_z62nodezd2setupz12zd2vsetz121603z62zzcfa_vectorz00(obj_t,
		obj_t);
	extern obj_t BGl_prezd2makezd2vectorzd2appzd2zzcfa_info2z00;
	BGL_EXPORTED_DECL bool_t BGl_vectorzd2optimzf3z21zzcfa_vectorz00(void);
	extern obj_t BGl_za2_za2z00zztype_cachez00;
	extern obj_t BGl_za2objza2z00zztype_cachez00;
	extern obj_t BGl_vsetz12zf2Cinfoze0zzcfa_info3z00;
	static obj_t BGl_z62loosezd2allocz12zd2makezd2ve1617za2zzcfa_vectorz00(obj_t,
		obj_t);
	extern BgL_approxz00_bglt
		BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_approxz00_bglt,
		BgL_approxz00_bglt);
	extern obj_t BGl_vlengthzf2Cinfozf2zzcfa_info3z00;
	static obj_t BGl_gczd2rootszd2initz00zzcfa_vectorz00(void);
	extern obj_t BGl_vallocz00zzast_nodez00;
	extern BgL_approxz00_bglt BGl_makezd2emptyzd2approxz00zzcfa_approxz00(void);
	static obj_t BGl_z62nodezd2setupz12zd2vlength1599z70zzcfa_vectorz00(obj_t,
		obj_t);
	static obj_t BGl_z62nodezd2setupz12zd2valloc1597z70zzcfa_vectorz00(obj_t,
		obj_t);
	BGL_IMPORT obj_t BGl_genericzd2addzd2methodz12z12zz__objectz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_za2cfazd2stampza2zd2zzcfa_iteratez00;
	static obj_t BGl_z62zc3z04anonymousza31851ze3ze5zzcfa_vectorz00(obj_t, obj_t);
	extern obj_t BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_approxz00_bglt);
	extern obj_t BGl_valloczf2Cinfozf2zzcfa_info3z00;
	extern obj_t BGl_za2optimza2z00zzengine_paramz00;
	static obj_t BGl_z62vectorzd2optimzf3z43zzcfa_vectorz00(obj_t);
	extern obj_t BGl_nodezd2setupza2z12z62zzcfa_setupz00(obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zzcfa_vectorz00 = BUNSPEC;
	extern obj_t BGl_za2vectorza2z00zztype_cachez00;
	extern obj_t BGl_vlengthz00zzast_nodez00;
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	static obj_t BGl_toplevelzd2initzd2zzcfa_vectorz00(void);
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2makezd2vectorzd2app1605za2zzcfa_vectorz00(obj_t, obj_t);
	static obj_t BGl_genericzd2initzd2zzcfa_vectorz00(void);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	extern BgL_approxz00_bglt BGl_loosez12z12zzcfa_loosez00(BgL_approxz00_bglt,
		obj_t);
	extern obj_t BGl_makezd2vectorzd2appz00zzcfa_info2z00;
	static obj_t BGl_z62nodezd2setupz12zd2vref1601z70zzcfa_vectorz00(obj_t,
		obj_t);
	extern obj_t BGl_vrefzf2Cinfozf2zzcfa_info3z00;
	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);
	extern obj_t BGl_nodezd2setupz12zc0zzcfa_setupz00(BgL_nodez00_bglt);
	extern BgL_approxz00_bglt
		BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(BgL_typez00_bglt,
		BgL_nodez00_bglt);
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2vsetz12zf2Cinfo1615z42zzcfa_vectorz00(obj_t, obj_t);
	static BgL_approxz00_bglt
		BGl_z62cfaz12zd2valloczf2Cinfo1609z50zzcfa_vectorz00(obj_t, obj_t);
	extern obj_t BGl_addzd2makezd2vectorz12z12zzcfa_tvectorz00(BgL_nodez00_bglt);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcfa_vectorz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_tvectorz00(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_info3z00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_info2z00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzcfa_infoz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(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 *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__tvectorz00(long, char *);
	extern obj_t BGl_vrefz00zzast_nodez00;
	static obj_t BGl_cnstzd2initzd2zzcfa_vectorz00(void);
	static obj_t BGl_libraryzd2moduleszd2initz00zzcfa_vectorz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zzcfa_vectorz00(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);
	static obj_t BGl_z62loosezd2allocz12zd2valloczf21619z82zzcfa_vectorz00(obj_t,
		obj_t);
	BGL_IMPORT obj_t BGl_classzd2superzd2zz__objectz00(obj_t);
	static obj_t BGl_z62nodezd2setupz12zd2prezd2make1593za2zzcfa_vectorz00(obj_t,
		obj_t);
	static obj_t BGl_z62nodezd2setupz12zd2prezd2vall1595za2zzcfa_vectorz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31827ze3ze5zzcfa_vectorz00(obj_t, obj_t);
	extern obj_t BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_approxz00_bglt,
		BgL_typez00_bglt);
	extern obj_t BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00;
	extern obj_t BGl_vsetz12z12zzast_nodez00;
	static obj_t __cnst[2];


	   
		 
		DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2097z00zzcfa_vectorz00,
		BgL_bgl_za762nodeza7d2setupza72117za7,
		BGl_z62nodezd2setupz12zd2prezd2make1593za2zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2099z00zzcfa_vectorz00,
		BgL_bgl_za762nodeza7d2setupza72118za7,
		BGl_z62nodezd2setupz12zd2prezd2vall1595za2zzcfa_vectorz00, 0L, BUNSPEC, 1);
	extern obj_t BGl_cfaz12zd2envzc0zzcfa_cfaz00;
	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_vectorzd2optimzf3zd2envzf3zzcfa_vectorz00,
		BgL_bgl_za762vectorza7d2opti2119z00,
		BGl_z62vectorzd2optimzf3z43zzcfa_vectorz00, 0L, BUNSPEC, 0);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2100z00zzcfa_vectorz00,
		BgL_bgl_za762nodeza7d2setupza72120za7,
		BGl_z62nodezd2setupz12zd2valloc1597z70zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2101z00zzcfa_vectorz00,
		BgL_bgl_za762nodeza7d2setupza72121za7,
		BGl_z62nodezd2setupz12zd2vlength1599z70zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2102z00zzcfa_vectorz00,
		BgL_bgl_za762nodeza7d2setupza72122za7,
		BGl_z62nodezd2setupz12zd2vref1601z70zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2103z00zzcfa_vectorz00,
		BgL_bgl_za762nodeza7d2setupza72123za7,
		BGl_z62nodezd2setupz12zd2vsetz121603z62zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2104z00zzcfa_vectorz00,
		BgL_bgl_za762cfaza712za7d2make2124za7,
		BGl_z62cfaz12zd2makezd2vectorzd2app1605za2zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2106z00zzcfa_vectorz00,
		BgL_bgl_za762cfaza712za7d2vall2125za7,
		BGl_z62cfaz12zd2valloczf2Cinfozb2op1607ze2zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2107z00zzcfa_vectorz00,
		BgL_bgl_za762cfaza712za7d2vall2126za7,
		BGl_z62cfaz12zd2valloczf2Cinfo1609z50zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2108z00zzcfa_vectorz00,
		BgL_bgl_za762cfaza712za7d2vlen2127za7,
		BGl_z62cfaz12zd2vlengthzf2Cinfo1611z50zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2109z00zzcfa_vectorz00,
		BgL_bgl_za762cfaza712za7d2vref2128za7,
		BGl_z62cfaz12zd2vrefzf2Cinfo1613z50zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2110z00zzcfa_vectorz00,
		BgL_bgl_za762cfaza712za7d2vset2129za7,
		BGl_z62cfaz12zd2vsetz12zf2Cinfo1615z42zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2111z00zzcfa_vectorz00,
		BgL_bgl_za762looseza7d2alloc2130z00,
		BGl_z62loosezd2allocz12zd2makezd2ve1617za2zzcfa_vectorz00, 0L, BUNSPEC, 1);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2113z00zzcfa_vectorz00,
		BgL_bgl_za762looseza7d2alloc2131z00,
		BGl_z62loosezd2allocz12zd2valloczf21619z82zzcfa_vectorz00, 0L, BUNSPEC, 1);
	extern obj_t BGl_nodezd2setupz12zd2envz12zzcfa_setupz00;
	   
		 
		DEFINE_STRING(BGl_string2098z00zzcfa_vectorz00,
		BgL_bgl_string2098za700za7za7c2132za7, "node-setup!", 11);
	extern obj_t BGl_loosezd2allocz12zd2envz12zzcfa_loosez00;
	   
		 
		DEFINE_STRING(BGl_string2105z00zzcfa_vectorz00,
		BgL_bgl_string2105za700za7za7c2133za7, "cfa!::approx", 12);
	      DEFINE_STRING(BGl_string2112z00zzcfa_vectorz00,
		BgL_bgl_string2112za700za7za7c2134za7, "loose-alloc!", 12);
	      DEFINE_STRING(BGl_string2114z00zzcfa_vectorz00,
		BgL_bgl_string2114za700za7za7c2135za7, "cfa_vector", 10);
	      DEFINE_STRING(BGl_string2115z00zzcfa_vectorz00,
		BgL_bgl_string2115za700za7za7c2136za7, "all nothing ", 12);

/* 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_vectorz00));
#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_vectorz00(long
		BgL_checksumz00_4827, char *BgL_fromz00_4828)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzcfa_vectorz00))
				{
					BGl_requirezd2initializa7ationz75zzcfa_vectorz00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzcfa_vectorz00();
					BGl_libraryzd2moduleszd2initz00zzcfa_vectorz00();
					BGl_cnstzd2initzd2zzcfa_vectorz00();
					BGl_importedzd2moduleszd2initz00zzcfa_vectorz00();
					BGl_methodzd2initzd2zzcfa_vectorz00();
					return BGl_toplevelzd2initzd2zzcfa_vectorz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



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

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzcfa_vectorz00(void)
	{
		{	/* Cfa/vector.scm 17 */
			{	/* Cfa/vector.scm 17 */
				obj_t BgL_cportz00_4644;

				{	/* Cfa/vector.scm 17 */
					obj_t BgL_stringz00_4651;

					BgL_stringz00_4651 = BGl_string2115z00zzcfa_vectorz00;
					{	/* Cfa/vector.scm 17 */
						obj_t BgL_startz00_4652;

						BgL_startz00_4652 = BINT(0L);
						{	/* Cfa/vector.scm 17 */
							obj_t BgL_endz00_4653;

							BgL_endz00_4653 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_4651)));
							{	/* Cfa/vector.scm 17 */

								BgL_cportz00_4644 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_4651, BgL_startz00_4652, BgL_endz00_4653);
				}}}}
				{
					long BgL_iz00_4645;

					BgL_iz00_4645 = 1L;
				BgL_loopz00_4646:
					if ((BgL_iz00_4645 == -1L))
						{	/* Cfa/vector.scm 17 */
							return BUNSPEC;
						}
					else
						{	/* Cfa/vector.scm 17 */
							{	/* Cfa/vector.scm 17 */
								obj_t BgL_arg2116z00_4647;

								{	/* Cfa/vector.scm 17 */

									{	/* Cfa/vector.scm 17 */
										obj_t BgL_locationz00_4649;

										BgL_locationz00_4649 = BBOOL(((bool_t) 0));
										{	/* Cfa/vector.scm 17 */

											BgL_arg2116z00_4647 =
												BGl_readz00zz__readerz00(BgL_cportz00_4644,
												BgL_locationz00_4649);
										}
									}
								}
								{	/* Cfa/vector.scm 17 */
									int BgL_tmpz00_4856;

									BgL_tmpz00_4856 = (int) (BgL_iz00_4645);
									CNST_TABLE_SET(BgL_tmpz00_4856, BgL_arg2116z00_4647);
							}}
							{	/* Cfa/vector.scm 17 */
								int BgL_auxz00_4650;

								BgL_auxz00_4650 = (int) ((BgL_iz00_4645 - 1L));
								{
									long BgL_iz00_4861;

									BgL_iz00_4861 = (long) (BgL_auxz00_4650);
									BgL_iz00_4645 = BgL_iz00_4861;
									goto BgL_loopz00_4646;
								}
							}
						}
				}
			}
		}

	}



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

	}



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

	}



/* vector-optim? */
	BGL_EXPORTED_DEF bool_t BGl_vectorzd2optimzf3z21zzcfa_vectorz00(void)
	{
		{	/* Cfa/vector.scm 40 */
			return ((long) CINT(BGl_za2optimza2z00zzengine_paramz00) >= 2L);
		}

	}



/* &vector-optim? */
	obj_t BGl_z62vectorzd2optimzf3z43zzcfa_vectorz00(obj_t BgL_envz00_4587)
	{
		{	/* Cfa/vector.scm 40 */
			return BBOOL(BGl_vectorzd2optimzf3z21zzcfa_vectorz00());
		}

	}



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

	}



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

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzcfa_vectorz00(void)
	{
		{	/* Cfa/vector.scm 17 */
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00,
				BGl_prezd2makezd2vectorzd2appzd2zzcfa_info2z00,
				BGl_proc2097z00zzcfa_vectorz00, BGl_string2098z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00,
				BGl_prezd2valloczf2Cinfoz20zzcfa_info3z00,
				BGl_proc2099z00zzcfa_vectorz00, BGl_string2098z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_vallocz00zzast_nodez00,
				BGl_proc2100z00zzcfa_vectorz00, BGl_string2098z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00,
				BGl_vlengthz00zzast_nodez00, BGl_proc2101z00zzcfa_vectorz00,
				BGl_string2098z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00, BGl_vrefz00zzast_nodez00,
				BGl_proc2102z00zzcfa_vectorz00, BGl_string2098z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_nodezd2setupz12zd2envz12zzcfa_setupz00,
				BGl_vsetz12z12zzast_nodez00, BGl_proc2103z00zzcfa_vectorz00,
				BGl_string2098z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00,
				BGl_makezd2vectorzd2appz00zzcfa_info2z00,
				BGl_proc2104z00zzcfa_vectorz00, BGl_string2105z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00,
				BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00,
				BGl_proc2106z00zzcfa_vectorz00, BGl_string2105z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_valloczf2Cinfozf2zzcfa_info3z00,
				BGl_proc2107z00zzcfa_vectorz00, BGl_string2105z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_vlengthzf2Cinfozf2zzcfa_info3z00,
				BGl_proc2108z00zzcfa_vectorz00, BGl_string2105z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_vrefzf2Cinfozf2zzcfa_info3z00,
				BGl_proc2109z00zzcfa_vectorz00, BGl_string2105z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_cfaz12zd2envzc0zzcfa_cfaz00, BGl_vsetz12zf2Cinfoze0zzcfa_info3z00,
				BGl_proc2110z00zzcfa_vectorz00, BGl_string2105z00zzcfa_vectorz00);
			BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00,
				BGl_makezd2vectorzd2appz00zzcfa_info2z00,
				BGl_proc2111z00zzcfa_vectorz00, BGl_string2112z00zzcfa_vectorz00);
			return
				BGl_genericzd2addzd2methodz12z12zz__objectz00
				(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00,
				BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00,
				BGl_proc2113z00zzcfa_vectorz00, BGl_string2112z00zzcfa_vectorz00);
		}

	}



/* &loose-alloc!-valloc/1619 */
	obj_t BGl_z62loosezd2allocz12zd2valloczf21619z82zzcfa_vectorz00(obj_t
		BgL_envz00_4606, obj_t BgL_allocz00_4607)
	{
		{	/* Cfa/vector.scm 281 */
			{	/* Cfa/vector.scm 283 */
				bool_t BgL_test2139z00_4882;

				{	/* Cfa/vector.scm 283 */
					long BgL_arg1879z00_4656;

					{
						BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_4883;

						{
							obj_t BgL_auxz00_4884;

							{	/* Cfa/vector.scm 283 */
								BgL_objectz00_bglt BgL_tmpz00_4885;

								BgL_tmpz00_4885 =
									((BgL_objectz00_bglt)
									((BgL_vallocz00_bglt) BgL_allocz00_4607));
								BgL_auxz00_4884 = BGL_OBJECT_WIDENING(BgL_tmpz00_4885);
							}
							BgL_auxz00_4883 =
								((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_4884);
						}
						BgL_arg1879z00_4656 =
							(((BgL_valloczf2cinfozb2optimz40_bglt) COBJECT(BgL_auxz00_4883))->
							BgL_lostzd2stampzd2);
					}
					BgL_test2139z00_4882 =
						(BgL_arg1879z00_4656 ==
						(long) CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00));
				}
				if (BgL_test2139z00_4882)
					{	/* Cfa/vector.scm 283 */
						return BUNSPEC;
					}
				else
					{	/* Cfa/vector.scm 283 */
						{
							BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_4893;

							{
								obj_t BgL_auxz00_4894;

								{	/* Cfa/vector.scm 288 */
									BgL_objectz00_bglt BgL_tmpz00_4895;

									BgL_tmpz00_4895 =
										((BgL_objectz00_bglt)
										((BgL_vallocz00_bglt) BgL_allocz00_4607));
									BgL_auxz00_4894 = BGL_OBJECT_WIDENING(BgL_tmpz00_4895);
								}
								BgL_auxz00_4893 =
									((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_4894);
							}
							((((BgL_valloczf2cinfozb2optimz40_bglt)
										COBJECT(BgL_auxz00_4893))->BgL_lostzd2stampzd2) =
								((long) (long) CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00)),
								BUNSPEC);
						}
						{	/* Cfa/vector.scm 289 */
							BgL_approxz00_bglt BgL_arg1875z00_4657;

							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_4902;

								{
									obj_t BgL_auxz00_4903;

									{	/* Cfa/vector.scm 289 */
										BgL_objectz00_bglt BgL_tmpz00_4904;

										BgL_tmpz00_4904 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt) BgL_allocz00_4607));
										BgL_auxz00_4903 = BGL_OBJECT_WIDENING(BgL_tmpz00_4904);
									}
									BgL_auxz00_4902 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_4903);
								}
								BgL_arg1875z00_4657 =
									(((BgL_valloczf2cinfozb2optimz40_bglt)
										COBJECT(BgL_auxz00_4902))->BgL_valuezd2approxzd2);
							}
							BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00
								(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00,
								BgL_arg1875z00_4657);
						}
						{	/* Cfa/vector.scm 290 */
							BgL_approxz00_bglt BgL_arg1876z00_4658;

							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_4911;

								{
									obj_t BgL_auxz00_4912;

									{	/* Cfa/vector.scm 290 */
										BgL_objectz00_bglt BgL_tmpz00_4913;

										BgL_tmpz00_4913 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt) BgL_allocz00_4607));
										BgL_auxz00_4912 = BGL_OBJECT_WIDENING(BgL_tmpz00_4913);
									}
									BgL_auxz00_4911 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_4912);
								}
								BgL_arg1876z00_4658 =
									(((BgL_valloczf2cinfozb2optimz40_bglt)
										COBJECT(BgL_auxz00_4911))->BgL_valuezd2approxzd2);
							}
							BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_arg1876z00_4658,
								((BgL_typez00_bglt) BGl_za2objza2z00zztype_cachez00));
						}
						{	/* Cfa/vector.scm 291 */
							BgL_approxz00_bglt BgL_arg1877z00_4659;

							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_4921;

								{
									obj_t BgL_auxz00_4922;

									{	/* Cfa/vector.scm 291 */
										BgL_objectz00_bglt BgL_tmpz00_4923;

										BgL_tmpz00_4923 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt) BgL_allocz00_4607));
										BgL_auxz00_4922 = BGL_OBJECT_WIDENING(BgL_tmpz00_4923);
									}
									BgL_auxz00_4921 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_4922);
								}
								BgL_arg1877z00_4659 =
									(((BgL_valloczf2cinfozb2optimz40_bglt)
										COBJECT(BgL_auxz00_4921))->BgL_valuezd2approxzd2);
							}
							return
								BGl_approxzd2setzd2topz12z12zzcfa_approxz00
								(BgL_arg1877z00_4659);
						}
					}
			}
		}

	}



/* &loose-alloc!-make-ve1617 */
	obj_t BGl_z62loosezd2allocz12zd2makezd2ve1617za2zzcfa_vectorz00(obj_t
		BgL_envz00_4608, obj_t BgL_allocz00_4609)
	{
		{	/* Cfa/vector.scm 263 */
			{	/* Cfa/vector.scm 265 */
				bool_t BgL_test2140z00_4930;

				{	/* Cfa/vector.scm 265 */
					long BgL_arg1870z00_4661;

					{
						BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_4931;

						{
							obj_t BgL_auxz00_4932;

							{	/* Cfa/vector.scm 265 */
								BgL_objectz00_bglt BgL_tmpz00_4933;

								BgL_tmpz00_4933 =
									((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_allocz00_4609));
								BgL_auxz00_4932 = BGL_OBJECT_WIDENING(BgL_tmpz00_4933);
							}
							BgL_auxz00_4931 =
								((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_4932);
						}
						BgL_arg1870z00_4661 =
							(((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_4931))->
							BgL_lostzd2stampzd2);
					}
					BgL_test2140z00_4930 =
						(BgL_arg1870z00_4661 ==
						(long) CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00));
				}
				if (BgL_test2140z00_4930)
					{	/* Cfa/vector.scm 265 */
						return BUNSPEC;
					}
				else
					{	/* Cfa/vector.scm 265 */
						{
							BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_4941;

							{
								obj_t BgL_auxz00_4942;

								{	/* Cfa/vector.scm 269 */
									BgL_objectz00_bglt BgL_tmpz00_4943;

									BgL_tmpz00_4943 =
										((BgL_objectz00_bglt)
										((BgL_appz00_bglt) BgL_allocz00_4609));
									BgL_auxz00_4942 = BGL_OBJECT_WIDENING(BgL_tmpz00_4943);
								}
								BgL_auxz00_4941 =
									((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_4942);
							}
							((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_4941))->
									BgL_lostzd2stampzd2) =
								((long) (long) CINT(BGl_za2cfazd2stampza2zd2zzcfa_iteratez00)),
								BUNSPEC);
						}
						{	/* Cfa/vector.scm 270 */
							BgL_approxz00_bglt BgL_arg1866z00_4662;

							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_4950;

								{
									obj_t BgL_auxz00_4951;

									{	/* Cfa/vector.scm 270 */
										BgL_objectz00_bglt BgL_tmpz00_4952;

										BgL_tmpz00_4952 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_allocz00_4609));
										BgL_auxz00_4951 = BGL_OBJECT_WIDENING(BgL_tmpz00_4952);
									}
									BgL_auxz00_4950 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_4951);
								}
								BgL_arg1866z00_4662 =
									(((BgL_makezd2vectorzd2appz00_bglt)
										COBJECT(BgL_auxz00_4950))->BgL_valuezd2approxzd2);
							}
							BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00
								(BGl_loosezd2allocz12zd2envz12zzcfa_loosez00,
								BgL_arg1866z00_4662);
						}
						{	/* Cfa/vector.scm 271 */
							BgL_approxz00_bglt BgL_arg1867z00_4663;

							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_4959;

								{
									obj_t BgL_auxz00_4960;

									{	/* Cfa/vector.scm 271 */
										BgL_objectz00_bglt BgL_tmpz00_4961;

										BgL_tmpz00_4961 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_allocz00_4609));
										BgL_auxz00_4960 = BGL_OBJECT_WIDENING(BgL_tmpz00_4961);
									}
									BgL_auxz00_4959 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_4960);
								}
								BgL_arg1867z00_4663 =
									(((BgL_makezd2vectorzd2appz00_bglt)
										COBJECT(BgL_auxz00_4959))->BgL_valuezd2approxzd2);
							}
							BGl_approxzd2setzd2typez12z12zzcfa_approxz00(BgL_arg1867z00_4663,
								((BgL_typez00_bglt) BGl_za2objza2z00zztype_cachez00));
						}
						{	/* Cfa/vector.scm 272 */
							BgL_approxz00_bglt BgL_arg1868z00_4664;

							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_4969;

								{
									obj_t BgL_auxz00_4970;

									{	/* Cfa/vector.scm 272 */
										BgL_objectz00_bglt BgL_tmpz00_4971;

										BgL_tmpz00_4971 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_allocz00_4609));
										BgL_auxz00_4970 = BGL_OBJECT_WIDENING(BgL_tmpz00_4971);
									}
									BgL_auxz00_4969 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_4970);
								}
								BgL_arg1868z00_4664 =
									(((BgL_makezd2vectorzd2appz00_bglt)
										COBJECT(BgL_auxz00_4969))->BgL_valuezd2approxzd2);
							}
							return
								BGl_approxzd2setzd2topz12z12zzcfa_approxz00
								(BgL_arg1868z00_4664);
						}
					}
			}
		}

	}



/* &cfa!-vset!/Cinfo1615 */
	BgL_approxz00_bglt BGl_z62cfaz12zd2vsetz12zf2Cinfo1615z42zzcfa_vectorz00(obj_t
		BgL_envz00_4610, obj_t BgL_nodez00_4611)
	{
		{	/* Cfa/vector.scm 218 */
			{	/* Cfa/vector.scm 222 */
				obj_t BgL_arg1842z00_4666;

				{	/* Cfa/vector.scm 222 */
					obj_t BgL_pairz00_4667;

					BgL_pairz00_4667 =
						(((BgL_externz00_bglt) COBJECT(
								((BgL_externz00_bglt)
									((BgL_vsetz12z12_bglt) BgL_nodez00_4611))))->BgL_exprza2za2);
					BgL_arg1842z00_4666 = CAR(CDR(BgL_pairz00_4667));
				}
				BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1842z00_4666));
			}
			{	/* Cfa/vector.scm 223 */
				BgL_approxz00_bglt BgL_veczd2approxzd2_4668;
				BgL_approxz00_bglt BgL_valzd2approxzd2_4669;

				{	/* Cfa/vector.scm 223 */
					obj_t BgL_arg1856z00_4670;

					{	/* Cfa/vector.scm 223 */
						obj_t BgL_pairz00_4671;

						BgL_pairz00_4671 =
							(((BgL_externz00_bglt) COBJECT(
									((BgL_externz00_bglt)
										((BgL_vsetz12z12_bglt) BgL_nodez00_4611))))->
							BgL_exprza2za2);
						BgL_arg1856z00_4670 = CAR(BgL_pairz00_4671);
					}
					BgL_veczd2approxzd2_4668 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1856z00_4670));
				}
				{	/* Cfa/vector.scm 224 */
					obj_t BgL_arg1860z00_4672;

					{	/* Cfa/vector.scm 224 */
						obj_t BgL_pairz00_4673;

						BgL_pairz00_4673 =
							(((BgL_externz00_bglt) COBJECT(
									((BgL_externz00_bglt)
										((BgL_vsetz12z12_bglt) BgL_nodez00_4611))))->
							BgL_exprza2za2);
						BgL_arg1860z00_4672 = CAR(CDR(CDR(BgL_pairz00_4673)));
					}
					BgL_valzd2approxzd2_4669 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1860z00_4672));
				}
				{	/* Cfa/vector.scm 226 */
					bool_t BgL_test2141z00_4999;

					{
						BgL_vsetz12zf2cinfoze0_bglt BgL_auxz00_5000;

						{
							obj_t BgL_auxz00_5001;

							{	/* Cfa/vector.scm 226 */
								BgL_objectz00_bglt BgL_tmpz00_5002;

								BgL_tmpz00_5002 =
									((BgL_objectz00_bglt)
									((BgL_vsetz12z12_bglt) BgL_nodez00_4611));
								BgL_auxz00_5001 = BGL_OBJECT_WIDENING(BgL_tmpz00_5002);
							}
							BgL_auxz00_5000 = ((BgL_vsetz12zf2cinfoze0_bglt) BgL_auxz00_5001);
						}
						BgL_test2141z00_4999 =
							(((BgL_vsetz12zf2cinfoze0_bglt) COBJECT(BgL_auxz00_5000))->
							BgL_tvectorzf3zf3);
					}
					if (BgL_test2141z00_4999)
						{	/* Cfa/vector.scm 226 */
							CNST_TABLE_REF(0L);
						}
					else
						{	/* Cfa/vector.scm 226 */
							if (((long) CINT(BGl_za2optimza2z00zzengine_paramz00) >= 2L))
								{	/* Cfa/vector.scm 228 */
									{	/* Cfa/vector.scm 232 */
										bool_t BgL_test2143z00_5012;

										{	/* Cfa/vector.scm 232 */
											BgL_typez00_bglt BgL_arg1848z00_4674;

											BgL_arg1848z00_4674 =
												(((BgL_approxz00_bglt)
													COBJECT(BgL_veczd2approxzd2_4668))->BgL_typez00);
											BgL_test2143z00_5012 =
												(((obj_t) BgL_arg1848z00_4674) ==
												BGl_za2vectorza2z00zztype_cachez00);
										}
										if (BgL_test2143z00_5012)
											{	/* Cfa/vector.scm 232 */
												BFALSE;
											}
										else
											{	/* Cfa/vector.scm 232 */
												BGl_approxzd2setzd2typez12z12zzcfa_approxz00
													(BgL_valzd2approxzd2_4669,
													((BgL_typez00_bglt) BGl_za2objza2z00zztype_cachez00));
											}
									}
									if (
										(((BgL_approxz00_bglt) COBJECT(BgL_veczd2approxzd2_4668))->
											BgL_topzf3zf3))
										{	/* Cfa/vector.scm 235 */
											((obj_t)
												BGl_loosez12z12zzcfa_loosez00(BgL_valzd2approxzd2_4669,
													CNST_TABLE_REF(1L)));
										}
									else
										{	/* Cfa/vector.scm 242 */
											obj_t BgL_zc3z04anonymousza31851ze3z87_4675;

											BgL_zc3z04anonymousza31851ze3z87_4675 =
												MAKE_FX_PROCEDURE
												(BGl_z62zc3z04anonymousza31851ze3ze5zzcfa_vectorz00,
												(int) (1L), (int) (1L));
											PROCEDURE_SET(BgL_zc3z04anonymousza31851ze3z87_4675,
												(int) (0L), ((obj_t) BgL_valzd2approxzd2_4669));
											BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00
												(BgL_zc3z04anonymousza31851ze3z87_4675,
												BgL_veczd2approxzd2_4668);
								}}
							else
								{	/* Cfa/vector.scm 228 */
									BGl_loosez12z12zzcfa_loosez00(BgL_veczd2approxzd2_4668,
										CNST_TABLE_REF(1L));
									((obj_t)
										BGl_loosez12z12zzcfa_loosez00(BgL_valzd2approxzd2_4669,
											CNST_TABLE_REF(1L)));
								}
						}
				}
			}
			{
				BgL_vsetz12zf2cinfoze0_bglt BgL_auxz00_5035;

				{
					obj_t BgL_auxz00_5036;

					{	/* Cfa/vector.scm 254 */
						BgL_objectz00_bglt BgL_tmpz00_5037;

						BgL_tmpz00_5037 =
							((BgL_objectz00_bglt) ((BgL_vsetz12z12_bglt) BgL_nodez00_4611));
						BgL_auxz00_5036 = BGL_OBJECT_WIDENING(BgL_tmpz00_5037);
					}
					BgL_auxz00_5035 = ((BgL_vsetz12zf2cinfoze0_bglt) BgL_auxz00_5036);
				}
				return
					(((BgL_vsetz12zf2cinfoze0_bglt) COBJECT(BgL_auxz00_5035))->
					BgL_approxz00);
			}
		}

	}



/* &<@anonymous:1851> */
	obj_t BGl_z62zc3z04anonymousza31851ze3ze5zzcfa_vectorz00(obj_t
		BgL_envz00_4612, obj_t BgL_appz00_4614)
	{
		{	/* Cfa/vector.scm 240 */
			{	/* Cfa/vector.scm 242 */
				BgL_approxz00_bglt BgL_valzd2approxzd2_4613;

				BgL_valzd2approxzd2_4613 =
					((BgL_approxz00_bglt) PROCEDURE_REF(BgL_envz00_4612, (int) (0L)));
				{	/* Cfa/vector.scm 242 */
					bool_t BgL_test2145z00_5046;

					{	/* Cfa/vector.scm 242 */
						obj_t BgL_classz00_4676;

						BgL_classz00_4676 = BGl_makezd2vectorzd2appz00zzcfa_info2z00;
						if (BGL_OBJECTP(BgL_appz00_4614))
							{	/* Cfa/vector.scm 242 */
								BgL_objectz00_bglt BgL_arg1801z00_4677;

								BgL_arg1801z00_4677 = (BgL_objectz00_bglt) (BgL_appz00_4614);
								if (BGL_CONDEXPAND_ISA_ARCH64())
									{	/* Cfa/vector.scm 242 */
										long BgL_idxz00_4678;

										BgL_idxz00_4678 =
											BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_4677);
										BgL_test2145z00_5046 =
											(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
												(BgL_idxz00_4678 + 4L)) == BgL_classz00_4676);
									}
								else
									{	/* Cfa/vector.scm 242 */
										bool_t BgL_res2090z00_4681;

										{	/* Cfa/vector.scm 242 */
											obj_t BgL_oclassz00_4682;

											{	/* Cfa/vector.scm 242 */
												long BgL_arg1808z00_4683;

												{	/* Cfa/vector.scm 242 */
													long BgL_arg1809z00_4684;

													BgL_arg1809z00_4684 =
														BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_4677);
													BgL_arg1808z00_4683 =
														(BgL_arg1809z00_4684 - OBJECT_TYPE);
												}
												BgL_oclassz00_4682 =
													VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
													BgL_arg1808z00_4683);
											}
											{	/* Cfa/vector.scm 242 */
												bool_t BgL__ortest_1115z00_4685;

												BgL__ortest_1115z00_4685 =
													(BgL_classz00_4676 == BgL_oclassz00_4682);
												if (BgL__ortest_1115z00_4685)
													{	/* Cfa/vector.scm 242 */
														BgL_res2090z00_4681 = BgL__ortest_1115z00_4685;
													}
												else
													{	/* Cfa/vector.scm 242 */
														long BgL_odepthz00_4686;

														BgL_odepthz00_4686 =
															BGL_CLASS_DEPTH(BgL_oclassz00_4682);
														if ((4L < BgL_odepthz00_4686))
															{	/* Cfa/vector.scm 242 */
																obj_t BgL_arg1797z00_4687;

																BgL_arg1797z00_4687 =
																	BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4682,
																	4L);
																BgL_res2090z00_4681 =
																	(BgL_arg1797z00_4687 == BgL_classz00_4676);
															}
														else
															{	/* Cfa/vector.scm 242 */
																BgL_res2090z00_4681 = ((bool_t) 0);
															}
													}
											}
										}
										BgL_test2145z00_5046 = BgL_res2090z00_4681;
									}
							}
						else
							{	/* Cfa/vector.scm 242 */
								BgL_test2145z00_5046 = ((bool_t) 0);
							}
					}
					if (BgL_test2145z00_5046)
						{	/* Cfa/vector.scm 242 */
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5066;

								{
									obj_t BgL_auxz00_5067;

									{	/* Cfa/vector.scm 244 */
										BgL_objectz00_bglt BgL_tmpz00_5068;

										BgL_tmpz00_5068 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_appz00_4614));
										BgL_auxz00_5067 = BGL_OBJECT_WIDENING(BgL_tmpz00_5068);
									}
									BgL_auxz00_5066 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5067);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5066))->
										BgL_seenzf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
							}
							{	/* Cfa/vector.scm 245 */
								BgL_approxz00_bglt BgL_arg1853z00_4688;

								{
									BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5074;

									{
										obj_t BgL_auxz00_5075;

										{	/* Cfa/vector.scm 245 */
											BgL_objectz00_bglt BgL_tmpz00_5076;

											BgL_tmpz00_5076 =
												((BgL_objectz00_bglt)
												((BgL_appz00_bglt) BgL_appz00_4614));
											BgL_auxz00_5075 = BGL_OBJECT_WIDENING(BgL_tmpz00_5076);
										}
										BgL_auxz00_5074 =
											((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5075);
									}
									BgL_arg1853z00_4688 =
										(((BgL_makezd2vectorzd2appz00_bglt)
											COBJECT(BgL_auxz00_5074))->BgL_valuezd2approxzd2);
								}
								return
									((obj_t)
									BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg1853z00_4688,
										BgL_valzd2approxzd2_4613));
							}
						}
					else
						{	/* Cfa/vector.scm 246 */
							bool_t BgL_test2150z00_5084;

							{	/* Cfa/vector.scm 246 */
								obj_t BgL_classz00_4689;

								BgL_classz00_4689 = BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00;
								if (BGL_OBJECTP(BgL_appz00_4614))
									{	/* Cfa/vector.scm 246 */
										BgL_objectz00_bglt BgL_arg1803z00_4690;
										long BgL_arg1804z00_4691;

										BgL_arg1803z00_4690 =
											(BgL_objectz00_bglt) (BgL_appz00_4614);
										BgL_arg1804z00_4691 = BGL_CLASS_DEPTH(BgL_classz00_4689);
										if (BGL_CONDEXPAND_ISA_ARCH64())
											{	/* Cfa/vector.scm 246 */
												long BgL_idxz00_4692;

												BgL_idxz00_4692 =
													BGL_OBJECT_INHERITANCE_NUM(BgL_arg1803z00_4690);
												BgL_test2150z00_5084 =
													(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
														(BgL_idxz00_4692 + BgL_arg1804z00_4691)) ==
													BgL_classz00_4689);
											}
										else
											{	/* Cfa/vector.scm 246 */
												bool_t BgL_res2091z00_4695;

												{	/* Cfa/vector.scm 246 */
													obj_t BgL_oclassz00_4696;

													{	/* Cfa/vector.scm 246 */
														long BgL_arg1808z00_4697;

														{	/* Cfa/vector.scm 246 */
															long BgL_arg1809z00_4698;

															BgL_arg1809z00_4698 =
																BGL_OBJECT_CLASS_NUM(BgL_arg1803z00_4690);
															BgL_arg1808z00_4697 =
																(BgL_arg1809z00_4698 - OBJECT_TYPE);
														}
														BgL_oclassz00_4696 =
															VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
															BgL_arg1808z00_4697);
													}
													{	/* Cfa/vector.scm 246 */
														bool_t BgL__ortest_1115z00_4699;

														BgL__ortest_1115z00_4699 =
															(BgL_classz00_4689 == BgL_oclassz00_4696);
														if (BgL__ortest_1115z00_4699)
															{	/* Cfa/vector.scm 246 */
																BgL_res2091z00_4695 = BgL__ortest_1115z00_4699;
															}
														else
															{	/* Cfa/vector.scm 246 */
																long BgL_odepthz00_4700;

																BgL_odepthz00_4700 =
																	BGL_CLASS_DEPTH(BgL_oclassz00_4696);
																if ((BgL_arg1804z00_4691 < BgL_odepthz00_4700))
																	{	/* Cfa/vector.scm 246 */
																		obj_t BgL_arg1797z00_4701;

																		BgL_arg1797z00_4701 =
																			BGL_CLASS_ANCESTORS_REF
																			(BgL_oclassz00_4696, BgL_arg1804z00_4691);
																		BgL_res2091z00_4695 =
																			(BgL_arg1797z00_4701 ==
																			BgL_classz00_4689);
																	}
																else
																	{	/* Cfa/vector.scm 246 */
																		BgL_res2091z00_4695 = ((bool_t) 0);
																	}
															}
													}
												}
												BgL_test2150z00_5084 = BgL_res2091z00_4695;
											}
									}
								else
									{	/* Cfa/vector.scm 246 */
										BgL_test2150z00_5084 = ((bool_t) 0);
									}
							}
							if (BgL_test2150z00_5084)
								{	/* Cfa/vector.scm 246 */
									{
										BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5105;

										{
											obj_t BgL_auxz00_5106;

											{	/* Cfa/vector.scm 248 */
												BgL_objectz00_bglt BgL_tmpz00_5107;

												BgL_tmpz00_5107 =
													((BgL_objectz00_bglt)
													((BgL_vallocz00_bglt) BgL_appz00_4614));
												BgL_auxz00_5106 = BGL_OBJECT_WIDENING(BgL_tmpz00_5107);
											}
											BgL_auxz00_5105 =
												((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5106);
										}
										((((BgL_valloczf2cinfozb2optimz40_bglt)
													COBJECT(BgL_auxz00_5105))->BgL_seenzf3zf3) =
											((bool_t) ((bool_t) 1)), BUNSPEC);
									}
									{	/* Cfa/vector.scm 249 */
										BgL_approxz00_bglt BgL_arg1855z00_4702;

										{
											BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5113;

											{
												obj_t BgL_auxz00_5114;

												{	/* Cfa/vector.scm 249 */
													BgL_objectz00_bglt BgL_tmpz00_5115;

													BgL_tmpz00_5115 =
														((BgL_objectz00_bglt)
														((BgL_vallocz00_bglt) BgL_appz00_4614));
													BgL_auxz00_5114 =
														BGL_OBJECT_WIDENING(BgL_tmpz00_5115);
												}
												BgL_auxz00_5113 =
													((BgL_valloczf2cinfozb2optimz40_bglt)
													BgL_auxz00_5114);
											}
											BgL_arg1855z00_4702 =
												(((BgL_valloczf2cinfozb2optimz40_bglt)
													COBJECT(BgL_auxz00_5113))->BgL_valuezd2approxzd2);
										}
										return
											((obj_t)
											BGl_unionzd2approxz12zc0zzcfa_approxz00
											(BgL_arg1855z00_4702, BgL_valzd2approxzd2_4613));
									}
								}
							else
								{	/* Cfa/vector.scm 246 */
									return BFALSE;
								}
						}
				}
			}
		}

	}



/* &cfa!-vref/Cinfo1613 */
	BgL_approxz00_bglt BGl_z62cfaz12zd2vrefzf2Cinfo1613z50zzcfa_vectorz00(obj_t
		BgL_envz00_4615, obj_t BgL_nodez00_4616)
	{
		{	/* Cfa/vector.scm 176 */
			{	/* Cfa/vector.scm 180 */
				obj_t BgL_arg1794z00_4704;

				{	/* Cfa/vector.scm 180 */
					obj_t BgL_pairz00_4705;

					BgL_pairz00_4705 =
						(((BgL_externz00_bglt) COBJECT(
								((BgL_externz00_bglt)
									((BgL_vrefz00_bglt) BgL_nodez00_4616))))->BgL_exprza2za2);
					BgL_arg1794z00_4704 = CAR(CDR(BgL_pairz00_4705));
				}
				BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1794z00_4704));
			}
			{	/* Cfa/vector.scm 181 */
				BgL_approxz00_bglt BgL_veczd2approxzd2_4706;

				{	/* Cfa/vector.scm 181 */
					obj_t BgL_arg1840z00_4707;

					{	/* Cfa/vector.scm 181 */
						obj_t BgL_pairz00_4708;

						BgL_pairz00_4708 =
							(((BgL_externz00_bglt) COBJECT(
									((BgL_externz00_bglt)
										((BgL_vrefz00_bglt) BgL_nodez00_4616))))->BgL_exprza2za2);
						BgL_arg1840z00_4707 = CAR(BgL_pairz00_4708);
					}
					BgL_veczd2approxzd2_4706 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1840z00_4707));
				}
				{	/* Cfa/vector.scm 183 */
					bool_t BgL_test2155z00_5136;

					{
						BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5137;

						{
							obj_t BgL_auxz00_5138;

							{	/* Cfa/vector.scm 183 */
								BgL_objectz00_bglt BgL_tmpz00_5139;

								BgL_tmpz00_5139 =
									((BgL_objectz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4616));
								BgL_auxz00_5138 = BGL_OBJECT_WIDENING(BgL_tmpz00_5139);
							}
							BgL_auxz00_5137 = ((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5138);
						}
						BgL_test2155z00_5136 =
							(((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5137))->
							BgL_tvectorzf3zf3);
					}
					if (BgL_test2155z00_5136)
						{
							BgL_approxz00_bglt BgL_auxz00_5145;

							{
								BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5146;

								{
									obj_t BgL_auxz00_5147;

									{	/* Cfa/vector.scm 184 */
										BgL_objectz00_bglt BgL_tmpz00_5148;

										BgL_tmpz00_5148 =
											((BgL_objectz00_bglt)
											((BgL_vrefz00_bglt) BgL_nodez00_4616));
										BgL_auxz00_5147 = BGL_OBJECT_WIDENING(BgL_tmpz00_5148);
									}
									BgL_auxz00_5146 =
										((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5147);
								}
								BgL_auxz00_5145 =
									(((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5146))->
									BgL_approxz00);
							}
							((obj_t) BgL_auxz00_5145);
						}
					else
						{	/* Cfa/vector.scm 183 */
							if (((long) CINT(BGl_za2optimza2z00zzengine_paramz00) >= 2L))
								{	/* Cfa/vector.scm 185 */
									{	/* Cfa/vector.scm 190 */
										bool_t BgL_test2157z00_5158;

										{	/* Cfa/vector.scm 190 */
											bool_t BgL_test2158z00_5159;

											{	/* Cfa/vector.scm 190 */
												BgL_typez00_bglt BgL_arg1823z00_4709;

												BgL_arg1823z00_4709 =
													(((BgL_approxz00_bglt)
														COBJECT(BgL_veczd2approxzd2_4706))->BgL_typez00);
												BgL_test2158z00_5159 =
													(((obj_t) BgL_arg1823z00_4709) ==
													BGl_za2vectorza2z00zztype_cachez00);
											}
											if (BgL_test2158z00_5159)
												{	/* Cfa/vector.scm 190 */
													BgL_test2157z00_5158 =
														(((BgL_approxz00_bglt)
															COBJECT(BgL_veczd2approxzd2_4706))->
														BgL_topzf3zf3);
												}
											else
												{	/* Cfa/vector.scm 190 */
													BgL_test2157z00_5158 = ((bool_t) 1);
												}
										}
										if (BgL_test2157z00_5158)
											{	/* Cfa/vector.scm 192 */
												BgL_approxz00_bglt BgL_arg1822z00_4710;

												{
													BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5164;

													{
														obj_t BgL_auxz00_5165;

														{	/* Cfa/vector.scm 192 */
															BgL_objectz00_bglt BgL_tmpz00_5166;

															BgL_tmpz00_5166 =
																((BgL_objectz00_bglt)
																((BgL_vrefz00_bglt) BgL_nodez00_4616));
															BgL_auxz00_5165 =
																BGL_OBJECT_WIDENING(BgL_tmpz00_5166);
														}
														BgL_auxz00_5164 =
															((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5165);
													}
													BgL_arg1822z00_4710 =
														(((BgL_vrefzf2cinfozf2_bglt)
															COBJECT(BgL_auxz00_5164))->BgL_approxz00);
												}
												BGl_approxzd2setzd2typez12z12zzcfa_approxz00
													(BgL_arg1822z00_4710,
													((BgL_typez00_bglt) BGl_za2objza2z00zztype_cachez00));
											}
										else
											{	/* Cfa/vector.scm 190 */
												BFALSE;
											}
									}
									if (
										(((BgL_approxz00_bglt) COBJECT(BgL_veczd2approxzd2_4706))->
											BgL_topzf3zf3))
										{	/* Cfa/vector.scm 195 */
											BgL_approxz00_bglt BgL_arg1825z00_4711;

											{
												BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5176;

												{
													obj_t BgL_auxz00_5177;

													{	/* Cfa/vector.scm 195 */
														BgL_objectz00_bglt BgL_tmpz00_5178;

														BgL_tmpz00_5178 =
															((BgL_objectz00_bglt)
															((BgL_vrefz00_bglt) BgL_nodez00_4616));
														BgL_auxz00_5177 =
															BGL_OBJECT_WIDENING(BgL_tmpz00_5178);
													}
													BgL_auxz00_5176 =
														((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5177);
												}
												BgL_arg1825z00_4711 =
													(((BgL_vrefzf2cinfozf2_bglt)
														COBJECT(BgL_auxz00_5176))->BgL_approxz00);
											}
											BGl_approxzd2setzd2topz12z12zzcfa_approxz00
												(BgL_arg1825z00_4711);
										}
									else
										{	/* Cfa/vector.scm 194 */
											BFALSE;
										}
									{	/* Cfa/vector.scm 200 */
										obj_t BgL_zc3z04anonymousza31827ze3z87_4712;

										BgL_zc3z04anonymousza31827ze3z87_4712 =
											MAKE_FX_PROCEDURE
											(BGl_z62zc3z04anonymousza31827ze3ze5zzcfa_vectorz00,
											(int) (1L), (int) (1L));
										PROCEDURE_SET(BgL_zc3z04anonymousza31827ze3z87_4712,
											(int) (0L),
											((obj_t) ((BgL_vrefz00_bglt) BgL_nodez00_4616)));
										BGl_forzd2eachzd2approxzd2alloczd2zzcfa_approxz00
											(BgL_zc3z04anonymousza31827ze3z87_4712,
											BgL_veczd2approxzd2_4706);
								}}
							else
								{	/* Cfa/vector.scm 185 */
									((obj_t)
										BGl_loosez12z12zzcfa_loosez00(BgL_veczd2approxzd2_4706,
											CNST_TABLE_REF(1L)));
								}
						}
				}
				{
					BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5196;

					{
						obj_t BgL_auxz00_5197;

						{	/* Cfa/vector.scm 213 */
							BgL_objectz00_bglt BgL_tmpz00_5198;

							BgL_tmpz00_5198 =
								((BgL_objectz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4616));
							BgL_auxz00_5197 = BGL_OBJECT_WIDENING(BgL_tmpz00_5198);
						}
						BgL_auxz00_5196 = ((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5197);
					}
					return
						(((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5196))->
						BgL_approxz00);
				}
			}
		}

	}



/* &<@anonymous:1827> */
	obj_t BGl_z62zc3z04anonymousza31827ze3ze5zzcfa_vectorz00(obj_t
		BgL_envz00_4617, obj_t BgL_appz00_4619)
	{
		{	/* Cfa/vector.scm 198 */
			{	/* Cfa/vector.scm 200 */
				BgL_vrefz00_bglt BgL_i1209z00_4618;

				BgL_i1209z00_4618 =
					((BgL_vrefz00_bglt) PROCEDURE_REF(BgL_envz00_4617, (int) (0L)));
				{	/* Cfa/vector.scm 200 */
					bool_t BgL_test2160z00_5207;

					{	/* Cfa/vector.scm 200 */
						obj_t BgL_classz00_4713;

						BgL_classz00_4713 = BGl_makezd2vectorzd2appz00zzcfa_info2z00;
						if (BGL_OBJECTP(BgL_appz00_4619))
							{	/* Cfa/vector.scm 200 */
								BgL_objectz00_bglt BgL_arg1801z00_4714;

								BgL_arg1801z00_4714 = (BgL_objectz00_bglt) (BgL_appz00_4619);
								if (BGL_CONDEXPAND_ISA_ARCH64())
									{	/* Cfa/vector.scm 200 */
										long BgL_idxz00_4715;

										BgL_idxz00_4715 =
											BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_4714);
										BgL_test2160z00_5207 =
											(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
												(BgL_idxz00_4715 + 4L)) == BgL_classz00_4713);
									}
								else
									{	/* Cfa/vector.scm 200 */
										bool_t BgL_res2088z00_4718;

										{	/* Cfa/vector.scm 200 */
											obj_t BgL_oclassz00_4719;

											{	/* Cfa/vector.scm 200 */
												long BgL_arg1808z00_4720;

												{	/* Cfa/vector.scm 200 */
													long BgL_arg1809z00_4721;

													BgL_arg1809z00_4721 =
														BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_4714);
													BgL_arg1808z00_4720 =
														(BgL_arg1809z00_4721 - OBJECT_TYPE);
												}
												BgL_oclassz00_4719 =
													VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
													BgL_arg1808z00_4720);
											}
											{	/* Cfa/vector.scm 200 */
												bool_t BgL__ortest_1115z00_4722;

												BgL__ortest_1115z00_4722 =
													(BgL_classz00_4713 == BgL_oclassz00_4719);
												if (BgL__ortest_1115z00_4722)
													{	/* Cfa/vector.scm 200 */
														BgL_res2088z00_4718 = BgL__ortest_1115z00_4722;
													}
												else
													{	/* Cfa/vector.scm 200 */
														long BgL_odepthz00_4723;

														BgL_odepthz00_4723 =
															BGL_CLASS_DEPTH(BgL_oclassz00_4719);
														if ((4L < BgL_odepthz00_4723))
															{	/* Cfa/vector.scm 200 */
																obj_t BgL_arg1797z00_4724;

																BgL_arg1797z00_4724 =
																	BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_4719,
																	4L);
																BgL_res2088z00_4718 =
																	(BgL_arg1797z00_4724 == BgL_classz00_4713);
															}
														else
															{	/* Cfa/vector.scm 200 */
																BgL_res2088z00_4718 = ((bool_t) 0);
															}
													}
											}
										}
										BgL_test2160z00_5207 = BgL_res2088z00_4718;
									}
							}
						else
							{	/* Cfa/vector.scm 200 */
								BgL_test2160z00_5207 = ((bool_t) 0);
							}
					}
					if (BgL_test2160z00_5207)
						{	/* Cfa/vector.scm 200 */
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5227;

								{
									obj_t BgL_auxz00_5228;

									{	/* Cfa/vector.scm 202 */
										BgL_objectz00_bglt BgL_tmpz00_5229;

										BgL_tmpz00_5229 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) BgL_appz00_4619));
										BgL_auxz00_5228 = BGL_OBJECT_WIDENING(BgL_tmpz00_5229);
									}
									BgL_auxz00_5227 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5228);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5227))->
										BgL_seenzf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
							}
							{	/* Cfa/vector.scm 203 */
								BgL_approxz00_bglt BgL_arg1829z00_4725;
								BgL_approxz00_bglt BgL_arg1830z00_4726;

								{
									BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5235;

									{
										obj_t BgL_auxz00_5236;

										{	/* Cfa/vector.scm 203 */
											BgL_objectz00_bglt BgL_tmpz00_5237;

											BgL_tmpz00_5237 =
												((BgL_objectz00_bglt) BgL_i1209z00_4618);
											BgL_auxz00_5236 = BGL_OBJECT_WIDENING(BgL_tmpz00_5237);
										}
										BgL_auxz00_5235 =
											((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5236);
									}
									BgL_arg1829z00_4725 =
										(((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5235))->
										BgL_approxz00);
								}
								{
									BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5242;

									{
										obj_t BgL_auxz00_5243;

										{	/* Cfa/vector.scm 203 */
											BgL_objectz00_bglt BgL_tmpz00_5244;

											BgL_tmpz00_5244 =
												((BgL_objectz00_bglt)
												((BgL_appz00_bglt) BgL_appz00_4619));
											BgL_auxz00_5243 = BGL_OBJECT_WIDENING(BgL_tmpz00_5244);
										}
										BgL_auxz00_5242 =
											((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5243);
									}
									BgL_arg1830z00_4726 =
										(((BgL_makezd2vectorzd2appz00_bglt)
											COBJECT(BgL_auxz00_5242))->BgL_valuezd2approxzd2);
								}
								BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg1829z00_4725,
									BgL_arg1830z00_4726);
							}
							{	/* Cfa/vector.scm 204 */
								BgL_approxz00_bglt BgL_arg1831z00_4727;
								BgL_typez00_bglt BgL_arg1832z00_4728;

								{
									BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5251;

									{
										obj_t BgL_auxz00_5252;

										{	/* Cfa/vector.scm 204 */
											BgL_objectz00_bglt BgL_tmpz00_5253;

											BgL_tmpz00_5253 =
												((BgL_objectz00_bglt)
												((BgL_appz00_bglt) BgL_appz00_4619));
											BgL_auxz00_5252 = BGL_OBJECT_WIDENING(BgL_tmpz00_5253);
										}
										BgL_auxz00_5251 =
											((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5252);
									}
									BgL_arg1831z00_4727 =
										(((BgL_makezd2vectorzd2appz00_bglt)
											COBJECT(BgL_auxz00_5251))->BgL_valuezd2approxzd2);
								}
								{	/* Cfa/vector.scm 204 */
									BgL_approxz00_bglt BgL_arg1833z00_4729;

									{
										BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5259;

										{
											obj_t BgL_auxz00_5260;

											{	/* Cfa/vector.scm 204 */
												BgL_objectz00_bglt BgL_tmpz00_5261;

												BgL_tmpz00_5261 =
													((BgL_objectz00_bglt) BgL_i1209z00_4618);
												BgL_auxz00_5260 = BGL_OBJECT_WIDENING(BgL_tmpz00_5261);
											}
											BgL_auxz00_5259 =
												((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5260);
										}
										BgL_arg1833z00_4729 =
											(((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5259))->
											BgL_approxz00);
									}
									BgL_arg1832z00_4728 =
										(((BgL_approxz00_bglt) COBJECT(BgL_arg1833z00_4729))->
										BgL_typez00);
								}
								return
									BGl_approxzd2setzd2typez12z12zzcfa_approxz00
									(BgL_arg1831z00_4727, BgL_arg1832z00_4728);
							}
						}
					else
						{	/* Cfa/vector.scm 205 */
							bool_t BgL_test2165z00_5268;

							{	/* Cfa/vector.scm 205 */
								obj_t BgL_classz00_4730;

								BgL_classz00_4730 = BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00;
								if (BGL_OBJECTP(BgL_appz00_4619))
									{	/* Cfa/vector.scm 205 */
										BgL_objectz00_bglt BgL_arg1803z00_4731;
										long BgL_arg1804z00_4732;

										BgL_arg1803z00_4731 =
											(BgL_objectz00_bglt) (BgL_appz00_4619);
										BgL_arg1804z00_4732 = BGL_CLASS_DEPTH(BgL_classz00_4730);
										if (BGL_CONDEXPAND_ISA_ARCH64())
											{	/* Cfa/vector.scm 205 */
												long BgL_idxz00_4733;

												BgL_idxz00_4733 =
													BGL_OBJECT_INHERITANCE_NUM(BgL_arg1803z00_4731);
												BgL_test2165z00_5268 =
													(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
														(BgL_idxz00_4733 + BgL_arg1804z00_4732)) ==
													BgL_classz00_4730);
											}
										else
											{	/* Cfa/vector.scm 205 */
												bool_t BgL_res2089z00_4736;

												{	/* Cfa/vector.scm 205 */
													obj_t BgL_oclassz00_4737;

													{	/* Cfa/vector.scm 205 */
														long BgL_arg1808z00_4738;

														{	/* Cfa/vector.scm 205 */
															long BgL_arg1809z00_4739;

															BgL_arg1809z00_4739 =
																BGL_OBJECT_CLASS_NUM(BgL_arg1803z00_4731);
															BgL_arg1808z00_4738 =
																(BgL_arg1809z00_4739 - OBJECT_TYPE);
														}
														BgL_oclassz00_4737 =
															VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
															BgL_arg1808z00_4738);
													}
													{	/* Cfa/vector.scm 205 */
														bool_t BgL__ortest_1115z00_4740;

														BgL__ortest_1115z00_4740 =
															(BgL_classz00_4730 == BgL_oclassz00_4737);
														if (BgL__ortest_1115z00_4740)
															{	/* Cfa/vector.scm 205 */
																BgL_res2089z00_4736 = BgL__ortest_1115z00_4740;
															}
														else
															{	/* Cfa/vector.scm 205 */
																long BgL_odepthz00_4741;

																BgL_odepthz00_4741 =
																	BGL_CLASS_DEPTH(BgL_oclassz00_4737);
																if ((BgL_arg1804z00_4732 < BgL_odepthz00_4741))
																	{	/* Cfa/vector.scm 205 */
																		obj_t BgL_arg1797z00_4742;

																		BgL_arg1797z00_4742 =
																			BGL_CLASS_ANCESTORS_REF
																			(BgL_oclassz00_4737, BgL_arg1804z00_4732);
																		BgL_res2089z00_4736 =
																			(BgL_arg1797z00_4742 ==
																			BgL_classz00_4730);
																	}
																else
																	{	/* Cfa/vector.scm 205 */
																		BgL_res2089z00_4736 = ((bool_t) 0);
																	}
															}
													}
												}
												BgL_test2165z00_5268 = BgL_res2089z00_4736;
											}
									}
								else
									{	/* Cfa/vector.scm 205 */
										BgL_test2165z00_5268 = ((bool_t) 0);
									}
							}
							if (BgL_test2165z00_5268)
								{	/* Cfa/vector.scm 205 */
									{
										BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5289;

										{
											obj_t BgL_auxz00_5290;

											{	/* Cfa/vector.scm 207 */
												BgL_objectz00_bglt BgL_tmpz00_5291;

												BgL_tmpz00_5291 =
													((BgL_objectz00_bglt)
													((BgL_vallocz00_bglt) BgL_appz00_4619));
												BgL_auxz00_5290 = BGL_OBJECT_WIDENING(BgL_tmpz00_5291);
											}
											BgL_auxz00_5289 =
												((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5290);
										}
										((((BgL_valloczf2cinfozb2optimz40_bglt)
													COBJECT(BgL_auxz00_5289))->BgL_seenzf3zf3) =
											((bool_t) ((bool_t) 1)), BUNSPEC);
									}
									{	/* Cfa/vector.scm 208 */
										BgL_approxz00_bglt BgL_arg1835z00_4743;
										BgL_approxz00_bglt BgL_arg1836z00_4744;

										{
											BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5297;

											{
												obj_t BgL_auxz00_5298;

												{	/* Cfa/vector.scm 208 */
													BgL_objectz00_bglt BgL_tmpz00_5299;

													BgL_tmpz00_5299 =
														((BgL_objectz00_bglt) BgL_i1209z00_4618);
													BgL_auxz00_5298 =
														BGL_OBJECT_WIDENING(BgL_tmpz00_5299);
												}
												BgL_auxz00_5297 =
													((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5298);
											}
											BgL_arg1835z00_4743 =
												(((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5297))->
												BgL_approxz00);
										}
										{
											BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5304;

											{
												obj_t BgL_auxz00_5305;

												{	/* Cfa/vector.scm 208 */
													BgL_objectz00_bglt BgL_tmpz00_5306;

													BgL_tmpz00_5306 =
														((BgL_objectz00_bglt)
														((BgL_vallocz00_bglt) BgL_appz00_4619));
													BgL_auxz00_5305 =
														BGL_OBJECT_WIDENING(BgL_tmpz00_5306);
												}
												BgL_auxz00_5304 =
													((BgL_valloczf2cinfozb2optimz40_bglt)
													BgL_auxz00_5305);
											}
											BgL_arg1836z00_4744 =
												(((BgL_valloczf2cinfozb2optimz40_bglt)
													COBJECT(BgL_auxz00_5304))->BgL_valuezd2approxzd2);
										}
										BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg1835z00_4743,
											BgL_arg1836z00_4744);
									}
									{	/* Cfa/vector.scm 209 */
										BgL_approxz00_bglt BgL_arg1837z00_4745;
										BgL_typez00_bglt BgL_arg1838z00_4746;

										{
											BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5313;

											{
												obj_t BgL_auxz00_5314;

												{	/* Cfa/vector.scm 209 */
													BgL_objectz00_bglt BgL_tmpz00_5315;

													BgL_tmpz00_5315 =
														((BgL_objectz00_bglt)
														((BgL_vallocz00_bglt) BgL_appz00_4619));
													BgL_auxz00_5314 =
														BGL_OBJECT_WIDENING(BgL_tmpz00_5315);
												}
												BgL_auxz00_5313 =
													((BgL_valloczf2cinfozb2optimz40_bglt)
													BgL_auxz00_5314);
											}
											BgL_arg1837z00_4745 =
												(((BgL_valloczf2cinfozb2optimz40_bglt)
													COBJECT(BgL_auxz00_5313))->BgL_valuezd2approxzd2);
										}
										{	/* Cfa/vector.scm 209 */
											BgL_approxz00_bglt BgL_arg1839z00_4747;

											{
												BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5321;

												{
													obj_t BgL_auxz00_5322;

													{	/* Cfa/vector.scm 209 */
														BgL_objectz00_bglt BgL_tmpz00_5323;

														BgL_tmpz00_5323 =
															((BgL_objectz00_bglt) BgL_i1209z00_4618);
														BgL_auxz00_5322 =
															BGL_OBJECT_WIDENING(BgL_tmpz00_5323);
													}
													BgL_auxz00_5321 =
														((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5322);
												}
												BgL_arg1839z00_4747 =
													(((BgL_vrefzf2cinfozf2_bglt)
														COBJECT(BgL_auxz00_5321))->BgL_approxz00);
											}
											BgL_arg1838z00_4746 =
												(((BgL_approxz00_bglt) COBJECT(BgL_arg1839z00_4747))->
												BgL_typez00);
										}
										return
											BGl_approxzd2setzd2typez12z12zzcfa_approxz00
											(BgL_arg1837z00_4745, BgL_arg1838z00_4746);
									}
								}
							else
								{	/* Cfa/vector.scm 205 */
									return BFALSE;
								}
						}
				}
			}
		}

	}



/* &cfa!-vlength/Cinfo1611 */
	BgL_approxz00_bglt BGl_z62cfaz12zd2vlengthzf2Cinfo1611z50zzcfa_vectorz00(obj_t
		BgL_envz00_4620, obj_t BgL_nodez00_4621)
	{
		{	/* Cfa/vector.scm 165 */
			{	/* Cfa/vector.scm 168 */
				BgL_approxz00_bglt BgL_veczd2approxzd2_4749;

				{	/* Cfa/vector.scm 168 */
					obj_t BgL_arg1776z00_4750;

					{	/* Cfa/vector.scm 168 */
						obj_t BgL_pairz00_4751;

						BgL_pairz00_4751 =
							(((BgL_externz00_bglt) COBJECT(
									((BgL_externz00_bglt)
										((BgL_vlengthz00_bglt) BgL_nodez00_4621))))->
							BgL_exprza2za2);
						BgL_arg1776z00_4750 = CAR(BgL_pairz00_4751);
					}
					BgL_veczd2approxzd2_4749 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1776z00_4750));
				}
				if (((long) CINT(BGl_za2optimza2z00zzengine_paramz00) >= 2L))
					{	/* Cfa/vector.scm 169 */
						BFALSE;
					}
				else
					{	/* Cfa/vector.scm 169 */
						((obj_t)
							BGl_loosez12z12zzcfa_loosez00(BgL_veczd2approxzd2_4749,
								CNST_TABLE_REF(1L)));
					}
			}
			{
				BgL_vlengthzf2cinfozf2_bglt BgL_auxz00_5342;

				{
					obj_t BgL_auxz00_5343;

					{	/* Cfa/vector.scm 171 */
						BgL_objectz00_bglt BgL_tmpz00_5344;

						BgL_tmpz00_5344 =
							((BgL_objectz00_bglt) ((BgL_vlengthz00_bglt) BgL_nodez00_4621));
						BgL_auxz00_5343 = BGL_OBJECT_WIDENING(BgL_tmpz00_5344);
					}
					BgL_auxz00_5342 = ((BgL_vlengthzf2cinfozf2_bglt) BgL_auxz00_5343);
				}
				return
					(((BgL_vlengthzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5342))->
					BgL_approxz00);
			}
		}

	}



/* &cfa!-valloc/Cinfo1609 */
	BgL_approxz00_bglt BGl_z62cfaz12zd2valloczf2Cinfo1609z50zzcfa_vectorz00(obj_t
		BgL_envz00_4622, obj_t BgL_nodez00_4623)
	{
		{	/* Cfa/vector.scm 156 */
			{	/* Cfa/vector.scm 159 */
				obj_t BgL_g1591z00_4753;

				BgL_g1591z00_4753 =
					(((BgL_externz00_bglt) COBJECT(
							((BgL_externz00_bglt)
								((BgL_vallocz00_bglt) BgL_nodez00_4623))))->BgL_exprza2za2);
				{
					obj_t BgL_l1589z00_4755;

					BgL_l1589z00_4755 = BgL_g1591z00_4753;
				BgL_zc3z04anonymousza31769ze3z87_4754:
					if (PAIRP(BgL_l1589z00_4755))
						{	/* Cfa/vector.scm 159 */
							{	/* Cfa/vector.scm 159 */
								obj_t BgL_xz00_4756;

								BgL_xz00_4756 = CAR(BgL_l1589z00_4755);
								{	/* Cfa/vector.scm 159 */
									BgL_approxz00_bglt BgL_arg1771z00_4757;

									BgL_arg1771z00_4757 =
										BGl_cfaz12z12zzcfa_cfaz00(
										((BgL_nodez00_bglt) BgL_xz00_4756));
									BGl_loosez12z12zzcfa_loosez00(BgL_arg1771z00_4757,
										CNST_TABLE_REF(1L));
								}
							}
							{
								obj_t BgL_l1589z00_5360;

								BgL_l1589z00_5360 = CDR(BgL_l1589z00_4755);
								BgL_l1589z00_4755 = BgL_l1589z00_5360;
								goto BgL_zc3z04anonymousza31769ze3z87_4754;
							}
						}
					else
						{	/* Cfa/vector.scm 159 */
							((bool_t) 1);
						}
				}
			}
			{
				BgL_valloczf2cinfozf2_bglt BgL_auxz00_5362;

				{
					obj_t BgL_auxz00_5363;

					{	/* Cfa/vector.scm 160 */
						BgL_objectz00_bglt BgL_tmpz00_5364;

						BgL_tmpz00_5364 =
							((BgL_objectz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4623));
						BgL_auxz00_5363 = BGL_OBJECT_WIDENING(BgL_tmpz00_5364);
					}
					BgL_auxz00_5362 = ((BgL_valloczf2cinfozf2_bglt) BgL_auxz00_5363);
				}
				return
					(((BgL_valloczf2cinfozf2_bglt) COBJECT(BgL_auxz00_5362))->
					BgL_approxz00);
			}
		}

	}



/* &cfa!-valloc/Cinfo+op1607 */
	BgL_approxz00_bglt
		BGl_z62cfaz12zd2valloczf2Cinfozb2op1607ze2zzcfa_vectorz00(obj_t
		BgL_envz00_4624, obj_t BgL_nodez00_4625)
	{
		{	/* Cfa/vector.scm 147 */
			{	/* Cfa/vector.scm 150 */
				obj_t BgL_g1588z00_4759;

				BgL_g1588z00_4759 =
					(((BgL_externz00_bglt) COBJECT(
							((BgL_externz00_bglt)
								((BgL_vallocz00_bglt) BgL_nodez00_4625))))->BgL_exprza2za2);
				{
					obj_t BgL_l1586z00_4761;

					BgL_l1586z00_4761 = BgL_g1588z00_4759;
				BgL_zc3z04anonymousza31760ze3z87_4760:
					if (PAIRP(BgL_l1586z00_4761))
						{	/* Cfa/vector.scm 150 */
							{	/* Cfa/vector.scm 150 */
								obj_t BgL_arg1763z00_4762;

								BgL_arg1763z00_4762 = CAR(BgL_l1586z00_4761);
								BGl_cfaz12z12zzcfa_cfaz00(
									((BgL_nodez00_bglt) BgL_arg1763z00_4762));
							}
							{
								obj_t BgL_l1586z00_5378;

								BgL_l1586z00_5378 = CDR(BgL_l1586z00_4761);
								BgL_l1586z00_4761 = BgL_l1586z00_5378;
								goto BgL_zc3z04anonymousza31760ze3z87_4760;
							}
						}
					else
						{	/* Cfa/vector.scm 150 */
							((bool_t) 1);
						}
				}
			}
			{
				BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5380;

				{
					obj_t BgL_auxz00_5381;

					{	/* Cfa/vector.scm 151 */
						BgL_objectz00_bglt BgL_tmpz00_5382;

						BgL_tmpz00_5382 =
							((BgL_objectz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4625));
						BgL_auxz00_5381 = BGL_OBJECT_WIDENING(BgL_tmpz00_5382);
					}
					BgL_auxz00_5380 =
						((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5381);
				}
				return
					(((BgL_valloczf2cinfozb2optimz40_bglt) COBJECT(BgL_auxz00_5380))->
					BgL_approxz00);
			}
		}

	}



/* &cfa!-make-vector-app1605 */
	BgL_approxz00_bglt
		BGl_z62cfaz12zd2makezd2vectorzd2app1605za2zzcfa_vectorz00(obj_t
		BgL_envz00_4626, obj_t BgL_nodez00_4627)
	{
		{	/* Cfa/vector.scm 136 */
			{	/* Cfa/vector.scm 139 */
				obj_t BgL_arg1750z00_4764;

				{	/* Cfa/vector.scm 139 */
					obj_t BgL_pairz00_4765;

					BgL_pairz00_4765 =
						(((BgL_appz00_bglt) COBJECT(
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) BgL_nodez00_4627))))->BgL_argsz00);
					BgL_arg1750z00_4764 = CAR(BgL_pairz00_4765);
				}
				BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1750z00_4764));
			}
			{	/* Cfa/vector.scm 140 */
				BgL_approxz00_bglt BgL_initzd2valuezd2approxz00_4766;

				{	/* Cfa/vector.scm 140 */
					obj_t BgL_arg1753z00_4767;

					{	/* Cfa/vector.scm 140 */
						obj_t BgL_pairz00_4768;

						BgL_pairz00_4768 =
							(((BgL_appz00_bglt) COBJECT(
									((BgL_appz00_bglt)
										((BgL_appz00_bglt) BgL_nodez00_4627))))->BgL_argsz00);
						BgL_arg1753z00_4767 = CAR(CDR(BgL_pairz00_4768));
					}
					BgL_initzd2valuezd2approxz00_4766 =
						BGl_cfaz12z12zzcfa_cfaz00(((BgL_nodez00_bglt) BgL_arg1753z00_4767));
				}
				{	/* Cfa/vector.scm 141 */
					BgL_approxz00_bglt BgL_arg1752z00_4769;

					{
						BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5401;

						{
							obj_t BgL_auxz00_5402;

							{	/* Cfa/vector.scm 141 */
								BgL_objectz00_bglt BgL_tmpz00_5403;

								BgL_tmpz00_5403 =
									((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4627));
								BgL_auxz00_5402 = BGL_OBJECT_WIDENING(BgL_tmpz00_5403);
							}
							BgL_auxz00_5401 =
								((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5402);
						}
						BgL_arg1752z00_4769 =
							(((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5401))->
							BgL_valuezd2approxzd2);
					}
					BGl_unionzd2approxz12zc0zzcfa_approxz00(BgL_arg1752z00_4769,
						BgL_initzd2valuezd2approxz00_4766);
				}
				{
					BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5410;

					{
						obj_t BgL_auxz00_5411;

						{	/* Cfa/vector.scm 142 */
							BgL_objectz00_bglt BgL_tmpz00_5412;

							BgL_tmpz00_5412 =
								((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4627));
							BgL_auxz00_5411 = BGL_OBJECT_WIDENING(BgL_tmpz00_5412);
						}
						BgL_auxz00_5410 =
							((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5411);
					}
					return
						(((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5410))->
						BgL_approxz00);
				}
			}
		}

	}



/* &node-setup!-vset!1603 */
	obj_t BGl_z62nodezd2setupz12zd2vsetz121603z62zzcfa_vectorz00(obj_t
		BgL_envz00_4628, obj_t BgL_nodez00_4629)
	{
		{	/* Cfa/vector.scm 126 */
			{	/* Cfa/vector.scm 128 */
				obj_t BgL_arg1736z00_4771;

				BgL_arg1736z00_4771 =
					(((BgL_externz00_bglt) COBJECT(
							((BgL_externz00_bglt)
								((BgL_vsetz12z12_bglt) BgL_nodez00_4629))))->BgL_exprza2za2);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1736z00_4771);
			}
			{	/* Cfa/vector.scm 129 */
				BgL_vsetz12zf2cinfoze0_bglt BgL_wide1203z00_4772;

				BgL_wide1203z00_4772 =
					((BgL_vsetz12zf2cinfoze0_bglt) BOBJECT(GC_MALLOC(sizeof(struct
								BgL_vsetz12zf2cinfoze0_bgl))));
				{	/* Cfa/vector.scm 129 */
					obj_t BgL_auxz00_5427;
					BgL_objectz00_bglt BgL_tmpz00_5423;

					BgL_auxz00_5427 = ((obj_t) BgL_wide1203z00_4772);
					BgL_tmpz00_5423 =
						((BgL_objectz00_bglt)
						((BgL_vsetz12z12_bglt) ((BgL_vsetz12z12_bglt) BgL_nodez00_4629)));
					BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5423, BgL_auxz00_5427);
				}
				((BgL_objectz00_bglt)
					((BgL_vsetz12z12_bglt) ((BgL_vsetz12z12_bglt) BgL_nodez00_4629)));
				{	/* Cfa/vector.scm 129 */
					long BgL_arg1739z00_4773;

					BgL_arg1739z00_4773 =
						BGL_CLASS_NUM(BGl_vsetz12zf2Cinfoze0zzcfa_info3z00);
					BGL_OBJECT_CLASS_NUM_SET(
						((BgL_objectz00_bglt)
							((BgL_vsetz12z12_bglt)
								((BgL_vsetz12z12_bglt) BgL_nodez00_4629))),
						BgL_arg1739z00_4773);
				}
				((BgL_vsetz12z12_bglt)
					((BgL_vsetz12z12_bglt) ((BgL_vsetz12z12_bglt) BgL_nodez00_4629)));
			}
			{
				BgL_vsetz12zf2cinfoze0_bglt BgL_auxz00_5441;

				{
					obj_t BgL_auxz00_5442;

					{	/* Cfa/vector.scm 130 */
						BgL_objectz00_bglt BgL_tmpz00_5443;

						BgL_tmpz00_5443 =
							((BgL_objectz00_bglt)
							((BgL_vsetz12z12_bglt) ((BgL_vsetz12z12_bglt) BgL_nodez00_4629)));
						BgL_auxz00_5442 = BGL_OBJECT_WIDENING(BgL_tmpz00_5443);
					}
					BgL_auxz00_5441 = ((BgL_vsetz12zf2cinfoze0_bglt) BgL_auxz00_5442);
				}
				((((BgL_vsetz12zf2cinfoze0_bglt) COBJECT(BgL_auxz00_5441))->
						BgL_approxz00) =
					((BgL_approxz00_bglt)
						BGl_makezd2typezd2approxz00zzcfa_approxz00(((BgL_typez00_bglt)
								BGl_za2unspecza2z00zztype_cachez00))), BUNSPEC);
			}
			{
				bool_t BgL_auxz00_5460;
				BgL_vsetz12zf2cinfoze0_bglt BgL_auxz00_5452;

				{	/* Cfa/vector.scm 131 */
					bool_t BgL_test2173z00_5461;

					{	/* Cfa/vector.scm 131 */
						bool_t BgL_test2174z00_5462;

						{	/* Cfa/vector.scm 131 */
							BgL_typez00_bglt BgL_arg1749z00_4774;

							BgL_arg1749z00_4774 =
								(((BgL_vsetz12z12_bglt) COBJECT(
										((BgL_vsetz12z12_bglt) BgL_nodez00_4629)))->BgL_ftypez00);
							BgL_test2174z00_5462 =
								(
								((obj_t) BgL_arg1749z00_4774) == BGl_za2_za2z00zztype_cachez00);
						}
						if (BgL_test2174z00_5462)
							{	/* Cfa/vector.scm 131 */
								BgL_test2173z00_5461 = ((bool_t) 1);
							}
						else
							{	/* Cfa/vector.scm 131 */
								BgL_typez00_bglt BgL_arg1748z00_4775;

								BgL_arg1748z00_4775 =
									(((BgL_vsetz12z12_bglt) COBJECT(
											((BgL_vsetz12z12_bglt) BgL_nodez00_4629)))->BgL_ftypez00);
								BgL_test2173z00_5461 =
									(
									((obj_t) BgL_arg1748z00_4775) ==
									BGl_za2objza2z00zztype_cachez00);
							}
					}
					if (BgL_test2173z00_5461)
						{	/* Cfa/vector.scm 131 */
							BgL_auxz00_5460 = ((bool_t) 0);
						}
					else
						{	/* Cfa/vector.scm 131 */
							BgL_auxz00_5460 = ((bool_t) 1);
						}
				}
				{
					obj_t BgL_auxz00_5453;

					{	/* Cfa/vector.scm 131 */
						BgL_objectz00_bglt BgL_tmpz00_5454;

						BgL_tmpz00_5454 =
							((BgL_objectz00_bglt)
							((BgL_vsetz12z12_bglt) ((BgL_vsetz12z12_bglt) BgL_nodez00_4629)));
						BgL_auxz00_5453 = BGL_OBJECT_WIDENING(BgL_tmpz00_5454);
					}
					BgL_auxz00_5452 = ((BgL_vsetz12zf2cinfoze0_bglt) BgL_auxz00_5453);
				}
				((((BgL_vsetz12zf2cinfoze0_bglt) COBJECT(BgL_auxz00_5452))->
						BgL_tvectorzf3zf3) = ((bool_t) BgL_auxz00_5460), BUNSPEC);
			}
			return
				((obj_t)
				((BgL_vsetz12z12_bglt) ((BgL_vsetz12z12_bglt) BgL_nodez00_4629)));
		}

	}



/* &node-setup!-vref1601 */
	obj_t BGl_z62nodezd2setupz12zd2vref1601z70zzcfa_vectorz00(obj_t
		BgL_envz00_4630, obj_t BgL_nodez00_4631)
	{
		{	/* Cfa/vector.scm 106 */
			{	/* Cfa/vector.scm 108 */
				obj_t BgL_arg1714z00_4777;

				BgL_arg1714z00_4777 =
					(((BgL_externz00_bglt) COBJECT(
							((BgL_externz00_bglt)
								((BgL_vrefz00_bglt) BgL_nodez00_4631))))->BgL_exprza2za2);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1714z00_4777);
			}
			{	/* Cfa/vector.scm 109 */
				bool_t BgL_tvectorzf3zf3_4778;

				{	/* Cfa/vector.scm 109 */
					bool_t BgL_test2175z00_5479;

					{	/* Cfa/vector.scm 109 */
						bool_t BgL_test2176z00_5480;

						{	/* Cfa/vector.scm 109 */
							BgL_typez00_bglt BgL_arg1735z00_4779;

							BgL_arg1735z00_4779 =
								(((BgL_vrefz00_bglt) COBJECT(
										((BgL_vrefz00_bglt) BgL_nodez00_4631)))->BgL_ftypez00);
							BgL_test2176z00_5480 =
								(
								((obj_t) BgL_arg1735z00_4779) == BGl_za2_za2z00zztype_cachez00);
						}
						if (BgL_test2176z00_5480)
							{	/* Cfa/vector.scm 109 */
								BgL_test2175z00_5479 = ((bool_t) 1);
							}
						else
							{	/* Cfa/vector.scm 109 */
								BgL_typez00_bglt BgL_arg1734z00_4780;

								BgL_arg1734z00_4780 =
									(((BgL_vrefz00_bglt) COBJECT(
											((BgL_vrefz00_bglt) BgL_nodez00_4631)))->BgL_ftypez00);
								BgL_test2175z00_5479 =
									(
									((obj_t) BgL_arg1734z00_4780) ==
									BGl_za2objza2z00zztype_cachez00);
							}
					}
					if (BgL_test2175z00_5479)
						{	/* Cfa/vector.scm 109 */
							BgL_tvectorzf3zf3_4778 = ((bool_t) 0);
						}
					else
						{	/* Cfa/vector.scm 109 */
							BgL_tvectorzf3zf3_4778 = ((bool_t) 1);
						}
				}
				{	/* Cfa/vector.scm 109 */
					BgL_approxz00_bglt BgL_approxz00_4781;

					if (BgL_tvectorzf3zf3_4778)
						{	/* Cfa/vector.scm 111 */
							BgL_approxz00_4781 =
								BGl_makezd2typezd2approxz00zzcfa_approxz00(
								(((BgL_vrefz00_bglt) COBJECT(
											((BgL_vrefz00_bglt) BgL_nodez00_4631)))->BgL_ftypez00));
						}
					else
						{	/* Cfa/vector.scm 111 */
							if (((long) CINT(BGl_za2optimza2z00zzengine_paramz00) >= 2L))
								{	/* Cfa/vector.scm 113 */
									BgL_approxz00_4781 =
										BGl_makezd2emptyzd2approxz00zzcfa_approxz00();
								}
							else
								{	/* Cfa/vector.scm 116 */
									BgL_approxz00_bglt BgL_approxz00_4782;

									BgL_approxz00_4782 =
										BGl_makezd2typezd2approxz00zzcfa_approxz00(
										((BgL_typez00_bglt) BGl_za2objza2z00zztype_cachez00));
									BGl_approxzd2setzd2topz12z12zzcfa_approxz00
										(BgL_approxz00_4782);
									BgL_approxz00_4781 = BgL_approxz00_4782;
								}
						}
					{	/* Cfa/vector.scm 110 */

						{	/* Cfa/vector.scm 119 */
							BgL_vrefzf2cinfozf2_bglt BgL_wide1198z00_4783;

							BgL_wide1198z00_4783 =
								((BgL_vrefzf2cinfozf2_bglt) BOBJECT(GC_MALLOC(sizeof(struct
											BgL_vrefzf2cinfozf2_bgl))));
							{	/* Cfa/vector.scm 119 */
								obj_t BgL_auxz00_5505;
								BgL_objectz00_bglt BgL_tmpz00_5501;

								BgL_auxz00_5505 = ((obj_t) BgL_wide1198z00_4783);
								BgL_tmpz00_5501 =
									((BgL_objectz00_bglt)
									((BgL_vrefz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4631)));
								BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5501, BgL_auxz00_5505);
							}
							((BgL_objectz00_bglt)
								((BgL_vrefz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4631)));
							{	/* Cfa/vector.scm 119 */
								long BgL_arg1715z00_4784;

								BgL_arg1715z00_4784 =
									BGL_CLASS_NUM(BGl_vrefzf2Cinfozf2zzcfa_info3z00);
								BGL_OBJECT_CLASS_NUM_SET(
									((BgL_objectz00_bglt)
										((BgL_vrefz00_bglt)
											((BgL_vrefz00_bglt) BgL_nodez00_4631))),
									BgL_arg1715z00_4784);
							}
							((BgL_vrefz00_bglt)
								((BgL_vrefz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4631)));
						}
						{
							BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5519;

							{
								obj_t BgL_auxz00_5520;

								{	/* Cfa/vector.scm 120 */
									BgL_objectz00_bglt BgL_tmpz00_5521;

									BgL_tmpz00_5521 =
										((BgL_objectz00_bglt)
										((BgL_vrefz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4631)));
									BgL_auxz00_5520 = BGL_OBJECT_WIDENING(BgL_tmpz00_5521);
								}
								BgL_auxz00_5519 = ((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5520);
							}
							((((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5519))->
									BgL_approxz00) =
								((BgL_approxz00_bglt) BgL_approxz00_4781), BUNSPEC);
						}
						{
							BgL_vrefzf2cinfozf2_bglt BgL_auxz00_5528;

							{
								obj_t BgL_auxz00_5529;

								{	/* Cfa/vector.scm 121 */
									BgL_objectz00_bglt BgL_tmpz00_5530;

									BgL_tmpz00_5530 =
										((BgL_objectz00_bglt)
										((BgL_vrefz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4631)));
									BgL_auxz00_5529 = BGL_OBJECT_WIDENING(BgL_tmpz00_5530);
								}
								BgL_auxz00_5528 = ((BgL_vrefzf2cinfozf2_bglt) BgL_auxz00_5529);
							}
							((((BgL_vrefzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5528))->
									BgL_tvectorzf3zf3) =
								((bool_t) BgL_tvectorzf3zf3_4778), BUNSPEC);
						}
						return
							((obj_t)
							((BgL_vrefz00_bglt) ((BgL_vrefz00_bglt) BgL_nodez00_4631)));
					}
				}
			}
		}

	}



/* &node-setup!-vlength1599 */
	obj_t BGl_z62nodezd2setupz12zd2vlength1599z70zzcfa_vectorz00(obj_t
		BgL_envz00_4632, obj_t BgL_nodez00_4633)
	{
		{	/* Cfa/vector.scm 96 */
			{	/* Cfa/vector.scm 98 */
				obj_t BgL_arg1707z00_4786;

				{	/* Cfa/vector.scm 98 */
					obj_t BgL_pairz00_4787;

					BgL_pairz00_4787 =
						(((BgL_externz00_bglt) COBJECT(
								((BgL_externz00_bglt)
									((BgL_vlengthz00_bglt) BgL_nodez00_4633))))->BgL_exprza2za2);
					BgL_arg1707z00_4786 = CAR(BgL_pairz00_4787);
				}
				BGl_nodezd2setupz12zc0zzcfa_setupz00(
					((BgL_nodez00_bglt) BgL_arg1707z00_4786));
			}
			{	/* Cfa/vector.scm 99 */
				BgL_vlengthzf2cinfozf2_bglt BgL_wide1193z00_4788;

				BgL_wide1193z00_4788 =
					((BgL_vlengthzf2cinfozf2_bglt) BOBJECT(GC_MALLOC(sizeof(struct
								BgL_vlengthzf2cinfozf2_bgl))));
				{	/* Cfa/vector.scm 99 */
					obj_t BgL_auxz00_5551;
					BgL_objectz00_bglt BgL_tmpz00_5547;

					BgL_auxz00_5551 = ((obj_t) BgL_wide1193z00_4788);
					BgL_tmpz00_5547 =
						((BgL_objectz00_bglt)
						((BgL_vlengthz00_bglt) ((BgL_vlengthz00_bglt) BgL_nodez00_4633)));
					BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5547, BgL_auxz00_5551);
				}
				((BgL_objectz00_bglt)
					((BgL_vlengthz00_bglt) ((BgL_vlengthz00_bglt) BgL_nodez00_4633)));
				{	/* Cfa/vector.scm 99 */
					long BgL_arg1709z00_4789;

					BgL_arg1709z00_4789 =
						BGL_CLASS_NUM(BGl_vlengthzf2Cinfozf2zzcfa_info3z00);
					BGL_OBJECT_CLASS_NUM_SET(
						((BgL_objectz00_bglt)
							((BgL_vlengthz00_bglt)
								((BgL_vlengthz00_bglt) BgL_nodez00_4633))),
						BgL_arg1709z00_4789);
				}
				((BgL_vlengthz00_bglt)
					((BgL_vlengthz00_bglt) ((BgL_vlengthz00_bglt) BgL_nodez00_4633)));
			}
			{
				BgL_approxz00_bglt BgL_auxz00_5573;
				BgL_vlengthzf2cinfozf2_bglt BgL_auxz00_5565;

				{	/* Cfa/vector.scm 100 */
					BgL_typez00_bglt BgL_arg1710z00_4790;

					BgL_arg1710z00_4790 =
						(((BgL_nodez00_bglt) COBJECT(
								((BgL_nodez00_bglt)
									((BgL_vlengthz00_bglt) BgL_nodez00_4633))))->BgL_typez00);
					BgL_auxz00_5573 =
						BGl_makezd2typezd2approxz00zzcfa_approxz00(BgL_arg1710z00_4790);
				}
				{
					obj_t BgL_auxz00_5566;

					{	/* Cfa/vector.scm 100 */
						BgL_objectz00_bglt BgL_tmpz00_5567;

						BgL_tmpz00_5567 =
							((BgL_objectz00_bglt)
							((BgL_vlengthz00_bglt) ((BgL_vlengthz00_bglt) BgL_nodez00_4633)));
						BgL_auxz00_5566 = BGL_OBJECT_WIDENING(BgL_tmpz00_5567);
					}
					BgL_auxz00_5565 = ((BgL_vlengthzf2cinfozf2_bglt) BgL_auxz00_5566);
				}
				((((BgL_vlengthzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5565))->
						BgL_approxz00) = ((BgL_approxz00_bglt) BgL_auxz00_5573), BUNSPEC);
			}
			{
				BgL_vlengthzf2cinfozf2_bglt BgL_auxz00_5579;

				{
					obj_t BgL_auxz00_5580;

					{	/* Cfa/vector.scm 101 */
						BgL_objectz00_bglt BgL_tmpz00_5581;

						BgL_tmpz00_5581 =
							((BgL_objectz00_bglt)
							((BgL_vlengthz00_bglt) ((BgL_vlengthz00_bglt) BgL_nodez00_4633)));
						BgL_auxz00_5580 = BGL_OBJECT_WIDENING(BgL_tmpz00_5581);
					}
					BgL_auxz00_5579 = ((BgL_vlengthzf2cinfozf2_bglt) BgL_auxz00_5580);
				}
				((((BgL_vlengthzf2cinfozf2_bglt) COBJECT(BgL_auxz00_5579))->
						BgL_tvectorzf3zf3) = ((bool_t) ((bool_t) 0)), BUNSPEC);
			}
			return
				((obj_t)
				((BgL_vlengthz00_bglt) ((BgL_vlengthz00_bglt) BgL_nodez00_4633)));
		}

	}



/* &node-setup!-valloc1597 */
	obj_t BGl_z62nodezd2setupz12zd2valloc1597z70zzcfa_vectorz00(obj_t
		BgL_envz00_4634, obj_t BgL_nodez00_4635)
	{
		{	/* Cfa/vector.scm 83 */
			{	/* Cfa/vector.scm 85 */
				obj_t BgL_arg1696z00_4792;

				BgL_arg1696z00_4792 =
					(((BgL_externz00_bglt) COBJECT(
							((BgL_externz00_bglt)
								((BgL_vallocz00_bglt) BgL_nodez00_4635))))->BgL_exprza2za2);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1696z00_4792);
			}
			{	/* Cfa/vector.scm 87 */
				BgL_approxz00_bglt BgL_approxz00_4793;

				{	/* Cfa/vector.scm 87 */
					BgL_typez00_bglt BgL_arg1706z00_4794;

					BgL_arg1706z00_4794 =
						(((BgL_nodez00_bglt) COBJECT(
								((BgL_nodez00_bglt)
									((BgL_vallocz00_bglt) BgL_nodez00_4635))))->BgL_typez00);
					BgL_approxz00_4793 =
						BGl_makezd2typezd2approxz00zzcfa_approxz00(BgL_arg1706z00_4794);
				}
				{	/* Cfa/vector.scm 87 */
					BgL_vallocz00_bglt BgL_wnodez00_4795;

					{	/* Cfa/vector.scm 88 */
						BgL_valloczf2cinfozf2_bglt BgL_wide1188z00_4796;

						BgL_wide1188z00_4796 =
							((BgL_valloczf2cinfozf2_bglt) BOBJECT(GC_MALLOC(sizeof(struct
										BgL_valloczf2cinfozf2_bgl))));
						{	/* Cfa/vector.scm 88 */
							obj_t BgL_auxz00_5604;
							BgL_objectz00_bglt BgL_tmpz00_5600;

							BgL_auxz00_5604 = ((obj_t) BgL_wide1188z00_4796);
							BgL_tmpz00_5600 =
								((BgL_objectz00_bglt)
								((BgL_vallocz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4635)));
							BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5600, BgL_auxz00_5604);
						}
						((BgL_objectz00_bglt)
							((BgL_vallocz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4635)));
						{	/* Cfa/vector.scm 88 */
							long BgL_arg1698z00_4797;

							BgL_arg1698z00_4797 =
								BGL_CLASS_NUM(BGl_valloczf2Cinfozf2zzcfa_info3z00);
							BGL_OBJECT_CLASS_NUM_SET(
								((BgL_objectz00_bglt)
									((BgL_vallocz00_bglt)
										((BgL_vallocz00_bglt) BgL_nodez00_4635))),
								BgL_arg1698z00_4797);
						}
						((BgL_vallocz00_bglt)
							((BgL_vallocz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4635)));
					}
					{
						BgL_valloczf2cinfozf2_bglt BgL_auxz00_5618;

						{
							obj_t BgL_auxz00_5619;

							{	/* Cfa/vector.scm 89 */
								BgL_objectz00_bglt BgL_tmpz00_5620;

								BgL_tmpz00_5620 =
									((BgL_objectz00_bglt)
									((BgL_vallocz00_bglt)
										((BgL_vallocz00_bglt) BgL_nodez00_4635)));
								BgL_auxz00_5619 = BGL_OBJECT_WIDENING(BgL_tmpz00_5620);
							}
							BgL_auxz00_5618 = ((BgL_valloczf2cinfozf2_bglt) BgL_auxz00_5619);
						}
						((((BgL_valloczf2cinfozf2_bglt) COBJECT(BgL_auxz00_5618))->
								BgL_approxz00) =
							((BgL_approxz00_bglt) BgL_approxz00_4793), BUNSPEC);
					}
					BgL_wnodez00_4795 =
						((BgL_vallocz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4635));
					{	/* Cfa/vector.scm 88 */

						BGl_approxzd2setzd2topz12z12zzcfa_approxz00(BgL_approxz00_4793);
						return ((obj_t) BgL_wnodez00_4795);
					}
				}
			}
		}

	}



/* &node-setup!-pre-vall1595 */
	obj_t BGl_z62nodezd2setupz12zd2prezd2vall1595za2zzcfa_vectorz00(obj_t
		BgL_envz00_4636, obj_t BgL_nodez00_4637)
	{
		{	/* Cfa/vector.scm 63 */
			BGl_addzd2makezd2vectorz12z12zzcfa_tvectorz00(
				((BgL_nodez00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4637)));
			{	/* Cfa/vector.scm 66 */
				obj_t BgL_arg1669z00_4799;

				BgL_arg1669z00_4799 =
					(((BgL_externz00_bglt) COBJECT(
							((BgL_externz00_bglt)
								((BgL_vallocz00_bglt) BgL_nodez00_4637))))->BgL_exprza2za2);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1669z00_4799);
			}
			{	/* Cfa/vector.scm 67 */
				BgL_variablez00_bglt BgL_ownerz00_4800;

				{
					BgL_prezd2valloczf2cinfoz20_bglt BgL_auxz00_5638;

					{
						obj_t BgL_auxz00_5639;

						{	/* Cfa/vector.scm 67 */
							BgL_objectz00_bglt BgL_tmpz00_5640;

							BgL_tmpz00_5640 =
								((BgL_objectz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4637));
							BgL_auxz00_5639 = BGL_OBJECT_WIDENING(BgL_tmpz00_5640);
						}
						BgL_auxz00_5638 =
							((BgL_prezd2valloczf2cinfoz20_bglt) BgL_auxz00_5639);
					}
					BgL_ownerz00_4800 =
						(((BgL_prezd2valloczf2cinfoz20_bglt) COBJECT(BgL_auxz00_5638))->
						BgL_ownerz00);
				}
				{	/* Cfa/vector.scm 67 */
					BgL_vallocz00_bglt BgL_nodez00_4801;

					{	/* Cfa/vector.scm 68 */
						long BgL_arg1690z00_4802;

						{	/* Cfa/vector.scm 68 */
							obj_t BgL_arg1693z00_4803;

							{	/* Cfa/vector.scm 68 */
								obj_t BgL_arg1695z00_4804;

								{	/* Cfa/vector.scm 68 */
									long BgL_arg1808z00_4805;

									{	/* Cfa/vector.scm 68 */
										long BgL_arg1809z00_4806;

										BgL_arg1809z00_4806 =
											BGL_OBJECT_CLASS_NUM(
											((BgL_objectz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4637)));
										BgL_arg1808z00_4805 = (BgL_arg1809z00_4806 - OBJECT_TYPE);
									}
									BgL_arg1695z00_4804 =
										VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
										BgL_arg1808z00_4805);
								}
								BgL_arg1693z00_4803 =
									BGl_classzd2superzd2zz__objectz00(BgL_arg1695z00_4804);
							}
							{	/* Cfa/vector.scm 68 */
								obj_t BgL_tmpz00_5652;

								BgL_tmpz00_5652 = ((obj_t) BgL_arg1693z00_4803);
								BgL_arg1690z00_4802 = BGL_CLASS_NUM(BgL_tmpz00_5652);
						}}
						BGL_OBJECT_CLASS_NUM_SET(
							((BgL_objectz00_bglt)
								((BgL_vallocz00_bglt) BgL_nodez00_4637)), BgL_arg1690z00_4802);
					}
					{	/* Cfa/vector.scm 68 */
						BgL_objectz00_bglt BgL_tmpz00_5658;

						BgL_tmpz00_5658 =
							((BgL_objectz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4637));
						BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5658, BFALSE);
					}
					((BgL_objectz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4637));
					BgL_nodez00_4801 = ((BgL_vallocz00_bglt) BgL_nodez00_4637);
					{	/* Cfa/vector.scm 68 */

						{	/* Cfa/vector.scm 69 */
							BgL_vallocz00_bglt BgL_wnodez00_4807;

							{	/* Cfa/vector.scm 69 */
								BgL_valloczf2cinfozb2optimz40_bglt BgL_wide1182z00_4808;

								BgL_wide1182z00_4808 =
									((BgL_valloczf2cinfozb2optimz40_bglt)
									BOBJECT(GC_MALLOC(sizeof(struct
												BgL_valloczf2cinfozb2optimz40_bgl))));
								{	/* Cfa/vector.scm 69 */
									obj_t BgL_auxz00_5670;
									BgL_objectz00_bglt BgL_tmpz00_5666;

									BgL_auxz00_5670 = ((obj_t) BgL_wide1182z00_4808);
									BgL_tmpz00_5666 =
										((BgL_objectz00_bglt)
										((BgL_vallocz00_bglt)
											((BgL_vallocz00_bglt) BgL_nodez00_4801)));
									BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5666, BgL_auxz00_5670);
								}
								((BgL_objectz00_bglt)
									((BgL_vallocz00_bglt)
										((BgL_vallocz00_bglt) BgL_nodez00_4801)));
								{	/* Cfa/vector.scm 69 */
									long BgL_arg1678z00_4809;

									BgL_arg1678z00_4809 =
										BGL_CLASS_NUM(BGl_valloczf2Cinfozb2optimz40zzcfa_info3z00);
									BGL_OBJECT_CLASS_NUM_SET(
										((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801))),
										BgL_arg1678z00_4809);
								}
								((BgL_vallocz00_bglt)
									((BgL_vallocz00_bglt)
										((BgL_vallocz00_bglt) BgL_nodez00_4801)));
							}
							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5684;

								{
									obj_t BgL_auxz00_5685;

									{	/* Cfa/vector.scm 71 */
										BgL_objectz00_bglt BgL_tmpz00_5686;

										BgL_tmpz00_5686 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801)));
										BgL_auxz00_5685 = BGL_OBJECT_WIDENING(BgL_tmpz00_5686);
									}
									BgL_auxz00_5684 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5685);
								}
								((((BgL_valloczf2cinfozb2optimz40_bglt)
											COBJECT(BgL_auxz00_5684))->BgL_approxz00) =
									((BgL_approxz00_bglt)
										BGl_makezd2emptyzd2approxz00zzcfa_approxz00()), BUNSPEC);
							}
							{
								BgL_approxz00_bglt BgL_auxz00_5702;
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5694;

								{	/* Cfa/vector.scm 72 */
									bool_t BgL_test2179z00_5703;

									{	/* Cfa/vector.scm 72 */
										BgL_typez00_bglt BgL_arg1686z00_4810;

										BgL_arg1686z00_4810 =
											(((BgL_vallocz00_bglt) COBJECT(
													((BgL_vallocz00_bglt)
														((BgL_vallocz00_bglt) BgL_nodez00_4637))))->
											BgL_ftypez00);
										BgL_test2179z00_5703 =
											(((obj_t) BgL_arg1686z00_4810) ==
											BGl_za2_za2z00zztype_cachez00);
									}
									if (BgL_test2179z00_5703)
										{	/* Cfa/vector.scm 72 */
											BgL_auxz00_5702 =
												BGl_makezd2emptyzd2approxz00zzcfa_approxz00();
										}
									else
										{	/* Cfa/vector.scm 74 */
											BgL_typez00_bglt BgL_arg1684z00_4811;

											BgL_arg1684z00_4811 =
												(((BgL_vallocz00_bglt) COBJECT(
														((BgL_vallocz00_bglt)
															((BgL_vallocz00_bglt) BgL_nodez00_4637))))->
												BgL_ftypez00);
											BgL_auxz00_5702 =
												BGl_makezd2typezd2approxz00zzcfa_approxz00
												(BgL_arg1684z00_4811);
										}
								}
								{
									obj_t BgL_auxz00_5695;

									{	/* Cfa/vector.scm 72 */
										BgL_objectz00_bglt BgL_tmpz00_5696;

										BgL_tmpz00_5696 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801)));
										BgL_auxz00_5695 = BGL_OBJECT_WIDENING(BgL_tmpz00_5696);
									}
									BgL_auxz00_5694 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5695);
								}
								((((BgL_valloczf2cinfozb2optimz40_bglt)
											COBJECT(BgL_auxz00_5694))->BgL_valuezd2approxzd2) =
									((BgL_approxz00_bglt) BgL_auxz00_5702), BUNSPEC);
							}
							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5715;

								{
									obj_t BgL_auxz00_5716;

									{	/* Cfa/vector.scm 68 */
										BgL_objectz00_bglt BgL_tmpz00_5717;

										BgL_tmpz00_5717 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801)));
										BgL_auxz00_5716 = BGL_OBJECT_WIDENING(BgL_tmpz00_5717);
									}
									BgL_auxz00_5715 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5716);
								}
								((((BgL_valloczf2cinfozb2optimz40_bglt)
											COBJECT(BgL_auxz00_5715))->BgL_lostzd2stampzd2) =
									((long) -1L), BUNSPEC);
							}
							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5724;

								{
									obj_t BgL_auxz00_5725;

									{	/* Cfa/vector.scm 70 */
										BgL_objectz00_bglt BgL_tmpz00_5726;

										BgL_tmpz00_5726 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801)));
										BgL_auxz00_5725 = BGL_OBJECT_WIDENING(BgL_tmpz00_5726);
									}
									BgL_auxz00_5724 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5725);
								}
								((((BgL_valloczf2cinfozb2optimz40_bglt)
											COBJECT(BgL_auxz00_5724))->BgL_ownerz00) =
									((BgL_variablez00_bglt) BgL_ownerz00_4800), BUNSPEC);
							}
							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5733;

								{
									obj_t BgL_auxz00_5734;

									{	/* Cfa/vector.scm 68 */
										BgL_objectz00_bglt BgL_tmpz00_5735;

										BgL_tmpz00_5735 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801)));
										BgL_auxz00_5734 = BGL_OBJECT_WIDENING(BgL_tmpz00_5735);
									}
									BgL_auxz00_5733 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5734);
								}
								((((BgL_valloczf2cinfozb2optimz40_bglt)
											COBJECT(BgL_auxz00_5733))->BgL_stackablezf3zf3) =
									((bool_t) ((bool_t) 1)), BUNSPEC);
							}
							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5742;

								{
									obj_t BgL_auxz00_5743;

									{	/* Cfa/vector.scm 68 */
										BgL_objectz00_bglt BgL_tmpz00_5744;

										BgL_tmpz00_5744 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801)));
										BgL_auxz00_5743 = BGL_OBJECT_WIDENING(BgL_tmpz00_5744);
									}
									BgL_auxz00_5742 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5743);
								}
								((((BgL_valloczf2cinfozb2optimz40_bglt)
											COBJECT(BgL_auxz00_5742))->BgL_stackzd2stampzd2) =
									((obj_t) BNIL), BUNSPEC);
							}
							{
								BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5751;

								{
									obj_t BgL_auxz00_5752;

									{	/* Cfa/vector.scm 68 */
										BgL_objectz00_bglt BgL_tmpz00_5753;

										BgL_tmpz00_5753 =
											((BgL_objectz00_bglt)
											((BgL_vallocz00_bglt)
												((BgL_vallocz00_bglt) BgL_nodez00_4801)));
										BgL_auxz00_5752 = BGL_OBJECT_WIDENING(BgL_tmpz00_5753);
									}
									BgL_auxz00_5751 =
										((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5752);
								}
								((((BgL_valloczf2cinfozb2optimz40_bglt)
											COBJECT(BgL_auxz00_5751))->BgL_seenzf3zf3) =
									((bool_t) ((bool_t) 0)), BUNSPEC);
							}
							BgL_wnodez00_4807 =
								((BgL_vallocz00_bglt) ((BgL_vallocz00_bglt) BgL_nodez00_4801));
							{	/* Cfa/vector.scm 78 */
								BgL_approxz00_bglt BgL_arg1673z00_4812;

								{	/* Cfa/vector.scm 78 */
									BgL_typez00_bglt BgL_arg1675z00_4813;

									BgL_arg1675z00_4813 =
										(((BgL_nodez00_bglt) COBJECT(
												((BgL_nodez00_bglt)
													((BgL_vallocz00_bglt) BgL_nodez00_4637))))->
										BgL_typez00);
									BgL_arg1673z00_4812 =
										BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00
										(BgL_arg1675z00_4813,
										((BgL_nodez00_bglt) BgL_nodez00_4801));
								}
								{
									BgL_valloczf2cinfozb2optimz40_bglt BgL_auxz00_5767;

									{
										obj_t BgL_auxz00_5768;

										{	/* Cfa/vector.scm 76 */
											BgL_objectz00_bglt BgL_tmpz00_5769;

											BgL_tmpz00_5769 =
												((BgL_objectz00_bglt) BgL_wnodez00_4807);
											BgL_auxz00_5768 = BGL_OBJECT_WIDENING(BgL_tmpz00_5769);
										}
										BgL_auxz00_5767 =
											((BgL_valloczf2cinfozb2optimz40_bglt) BgL_auxz00_5768);
									}
									return
										((((BgL_valloczf2cinfozb2optimz40_bglt)
												COBJECT(BgL_auxz00_5767))->BgL_approxz00) =
										((BgL_approxz00_bglt) BgL_arg1673z00_4812), BUNSPEC);
								}
							}
						}
					}
				}
			}
		}

	}



/* &node-setup!-pre-make1593 */
	obj_t BGl_z62nodezd2setupz12zd2prezd2make1593za2zzcfa_vectorz00(obj_t
		BgL_envz00_4638, obj_t BgL_nodez00_4639)
	{
		{	/* Cfa/vector.scm 46 */
			BGl_addzd2makezd2vectorz12z12zzcfa_tvectorz00(
				((BgL_nodez00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4639)));
			{	/* Cfa/vector.scm 49 */
				obj_t BgL_arg1629z00_4815;

				BgL_arg1629z00_4815 =
					(((BgL_appz00_bglt) COBJECT(
							((BgL_appz00_bglt)
								((BgL_appz00_bglt) BgL_nodez00_4639))))->BgL_argsz00);
				BGl_nodezd2setupza2z12z62zzcfa_setupz00(BgL_arg1629z00_4815);
			}
			{	/* Cfa/vector.scm 50 */
				BgL_variablez00_bglt BgL_ownerz00_4816;

				{
					BgL_prezd2makezd2vectorzd2appzd2_bglt BgL_auxz00_5781;

					{
						obj_t BgL_auxz00_5782;

						{	/* Cfa/vector.scm 50 */
							BgL_objectz00_bglt BgL_tmpz00_5783;

							BgL_tmpz00_5783 =
								((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4639));
							BgL_auxz00_5782 = BGL_OBJECT_WIDENING(BgL_tmpz00_5783);
						}
						BgL_auxz00_5781 =
							((BgL_prezd2makezd2vectorzd2appzd2_bglt) BgL_auxz00_5782);
					}
					BgL_ownerz00_4816 =
						(((BgL_prezd2makezd2vectorzd2appzd2_bglt)
							COBJECT(BgL_auxz00_5781))->BgL_ownerz00);
				}
				{	/* Cfa/vector.scm 50 */
					BgL_appz00_bglt BgL_nodez00_4817;

					{	/* Cfa/vector.scm 51 */
						long BgL_arg1649z00_4818;

						{	/* Cfa/vector.scm 51 */
							obj_t BgL_arg1658z00_4819;

							{	/* Cfa/vector.scm 51 */
								obj_t BgL_arg1661z00_4820;

								{	/* Cfa/vector.scm 51 */
									long BgL_arg1808z00_4821;

									{	/* Cfa/vector.scm 51 */
										long BgL_arg1809z00_4822;

										BgL_arg1809z00_4822 =
											BGL_OBJECT_CLASS_NUM(
											((BgL_objectz00_bglt)
												((BgL_appz00_bglt) BgL_nodez00_4639)));
										BgL_arg1808z00_4821 = (BgL_arg1809z00_4822 - OBJECT_TYPE);
									}
									BgL_arg1661z00_4820 =
										VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
										BgL_arg1808z00_4821);
								}
								BgL_arg1658z00_4819 =
									BGl_classzd2superzd2zz__objectz00(BgL_arg1661z00_4820);
							}
							{	/* Cfa/vector.scm 51 */
								obj_t BgL_tmpz00_5795;

								BgL_tmpz00_5795 = ((obj_t) BgL_arg1658z00_4819);
								BgL_arg1649z00_4818 = BGL_CLASS_NUM(BgL_tmpz00_5795);
						}}
						BGL_OBJECT_CLASS_NUM_SET(
							((BgL_objectz00_bglt)
								((BgL_appz00_bglt) BgL_nodez00_4639)), BgL_arg1649z00_4818);
					}
					{	/* Cfa/vector.scm 51 */
						BgL_objectz00_bglt BgL_tmpz00_5801;

						BgL_tmpz00_5801 =
							((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4639));
						BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5801, BFALSE);
					}
					((BgL_objectz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4639));
					BgL_nodez00_4817 = ((BgL_appz00_bglt) BgL_nodez00_4639);
					{	/* Cfa/vector.scm 51 */

						{	/* Cfa/vector.scm 52 */
							BgL_appz00_bglt BgL_wnodez00_4823;

							{	/* Cfa/vector.scm 52 */
								BgL_makezd2vectorzd2appz00_bglt BgL_wide1176z00_4824;

								BgL_wide1176z00_4824 =
									((BgL_makezd2vectorzd2appz00_bglt)
									BOBJECT(GC_MALLOC(sizeof(struct
												BgL_makezd2vectorzd2appz00_bgl))));
								{	/* Cfa/vector.scm 52 */
									obj_t BgL_auxz00_5813;
									BgL_objectz00_bglt BgL_tmpz00_5809;

									BgL_auxz00_5813 = ((obj_t) BgL_wide1176z00_4824);
									BgL_tmpz00_5809 =
										((BgL_objectz00_bglt)
										((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
									BGL_OBJECT_WIDENING_SET(BgL_tmpz00_5809, BgL_auxz00_5813);
								}
								((BgL_objectz00_bglt)
									((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
								{	/* Cfa/vector.scm 52 */
									long BgL_arg1639z00_4825;

									BgL_arg1639z00_4825 =
										BGL_CLASS_NUM(BGl_makezd2vectorzd2appz00zzcfa_info2z00);
									BGL_OBJECT_CLASS_NUM_SET(
										((BgL_objectz00_bglt)
											((BgL_appz00_bglt)
												((BgL_appz00_bglt) BgL_nodez00_4817))),
										BgL_arg1639z00_4825);
								}
								((BgL_appz00_bglt)
									((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
							}
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5827;

								{
									obj_t BgL_auxz00_5828;

									{	/* Cfa/vector.scm 54 */
										BgL_objectz00_bglt BgL_tmpz00_5829;

										BgL_tmpz00_5829 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
										BgL_auxz00_5828 = BGL_OBJECT_WIDENING(BgL_tmpz00_5829);
									}
									BgL_auxz00_5827 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5828);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5827))->
										BgL_approxz00) =
									((BgL_approxz00_bglt)
										BGl_makezd2emptyzd2approxz00zzcfa_approxz00()), BUNSPEC);
							}
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5837;

								{
									obj_t BgL_auxz00_5838;

									{	/* Cfa/vector.scm 55 */
										BgL_objectz00_bglt BgL_tmpz00_5839;

										BgL_tmpz00_5839 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
										BgL_auxz00_5838 = BGL_OBJECT_WIDENING(BgL_tmpz00_5839);
									}
									BgL_auxz00_5837 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5838);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5837))->
										BgL_valuezd2approxzd2) =
									((BgL_approxz00_bglt)
										BGl_makezd2emptyzd2approxz00zzcfa_approxz00()), BUNSPEC);
							}
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5847;

								{
									obj_t BgL_auxz00_5848;

									{	/* Cfa/vector.scm 51 */
										BgL_objectz00_bglt BgL_tmpz00_5849;

										BgL_tmpz00_5849 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
										BgL_auxz00_5848 = BGL_OBJECT_WIDENING(BgL_tmpz00_5849);
									}
									BgL_auxz00_5847 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5848);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5847))->
										BgL_lostzd2stampzd2) = ((long) -1L), BUNSPEC);
							}
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5856;

								{
									obj_t BgL_auxz00_5857;

									{	/* Cfa/vector.scm 53 */
										BgL_objectz00_bglt BgL_tmpz00_5858;

										BgL_tmpz00_5858 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
										BgL_auxz00_5857 = BGL_OBJECT_WIDENING(BgL_tmpz00_5858);
									}
									BgL_auxz00_5856 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5857);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5856))->
										BgL_ownerz00) =
									((BgL_variablez00_bglt) BgL_ownerz00_4816), BUNSPEC);
							}
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5865;

								{
									obj_t BgL_auxz00_5866;

									{	/* Cfa/vector.scm 51 */
										BgL_objectz00_bglt BgL_tmpz00_5867;

										BgL_tmpz00_5867 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
										BgL_auxz00_5866 = BGL_OBJECT_WIDENING(BgL_tmpz00_5867);
									}
									BgL_auxz00_5865 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5866);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5865))->
										BgL_stackzd2stampzd2) = ((obj_t) BNIL), BUNSPEC);
							}
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5874;

								{
									obj_t BgL_auxz00_5875;

									{	/* Cfa/vector.scm 51 */
										BgL_objectz00_bglt BgL_tmpz00_5876;

										BgL_tmpz00_5876 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
										BgL_auxz00_5875 = BGL_OBJECT_WIDENING(BgL_tmpz00_5876);
									}
									BgL_auxz00_5874 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5875);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5874))->
										BgL_seenzf3zf3) = ((bool_t) ((bool_t) 0)), BUNSPEC);
							}
							{
								BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5883;

								{
									obj_t BgL_auxz00_5884;

									{	/* Cfa/vector.scm 51 */
										BgL_objectz00_bglt BgL_tmpz00_5885;

										BgL_tmpz00_5885 =
											((BgL_objectz00_bglt)
											((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817)));
										BgL_auxz00_5884 = BGL_OBJECT_WIDENING(BgL_tmpz00_5885);
									}
									BgL_auxz00_5883 =
										((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5884);
								}
								((((BgL_makezd2vectorzd2appz00_bglt) COBJECT(BgL_auxz00_5883))->
										BgL_tvectorzf3zf3) = ((bool_t) ((bool_t) 1)), BUNSPEC);
							}
							BgL_wnodez00_4823 =
								((BgL_appz00_bglt) ((BgL_appz00_bglt) BgL_nodez00_4817));
							{	/* Cfa/vector.scm 58 */
								BgL_approxz00_bglt BgL_arg1630z00_4826;

								BgL_arg1630z00_4826 =
									BGl_makezd2typezd2alloczd2approxzd2zzcfa_approxz00(
									((BgL_typez00_bglt) BGl_za2vectorza2z00zztype_cachez00),
									((BgL_nodez00_bglt) BgL_nodez00_4817));
								{
									BgL_makezd2vectorzd2appz00_bglt BgL_auxz00_5897;

									{
										obj_t BgL_auxz00_5898;

										{	/* Cfa/vector.scm 57 */
											BgL_objectz00_bglt BgL_tmpz00_5899;

											BgL_tmpz00_5899 =
												((BgL_objectz00_bglt) BgL_wnodez00_4823);
											BgL_auxz00_5898 = BGL_OBJECT_WIDENING(BgL_tmpz00_5899);
										}
										BgL_auxz00_5897 =
											((BgL_makezd2vectorzd2appz00_bglt) BgL_auxz00_5898);
									}
									return
										((((BgL_makezd2vectorzd2appz00_bglt)
												COBJECT(BgL_auxz00_5897))->BgL_approxz00) =
										((BgL_approxz00_bglt) BgL_arg1630z00_4826), BUNSPEC);
								}
							}
						}
					}
				}
			}
		}

	}



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

	}

#ifdef __cplusplus
}
#endif
