/*===========================================================================*/
/*   (Unsafe/ssr.scm)                                                        */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Unsafe/ssr.scm -indent -o objs/obj_u/Unsafe/ssr.c) */
/* 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___SSR_TYPE_DEFINITIONS
#define BGL___SSR_TYPE_DEFINITIONS
#endif													// BGL___SSR_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static bool_t BGl_cleanzd2edgezf3z21zz__ssrz00(obj_t, obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__ssrz00 = BUNSPEC;
	static obj_t BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00(obj_t,
		obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl__ssrzd2makezd2graphz00zz__ssrz00(obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__ssrz00(void);
	extern obj_t unwind_stack_until(obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_list2100z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_setzd2ze3listz31zz__ssrz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ssrzd2removezd2edgez12z12zz__ssrz00(obj_t, long,
		long, obj_t);
	static obj_t BGl_genericzd2initzd2zz__ssrz00(void);
	static obj_t BGl_list2110z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_makezd2setzd2zz__ssrz00(void);
	static obj_t BGl_objectzd2initzd2zz__ssrz00(void);
	static obj_t BGl_childrenzd2forzd2eachz00zz__ssrz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_2zb2zb2zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_2zd2zd2zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern bool_t BGl_hashtablezd2removez12zc0zz__hashz00(obj_t, obj_t);
	extern obj_t BGl_createzd2hashtablezd2zz__hashz00(obj_t, obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t);
	extern bool_t BGl_2zc3zc3zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern bool_t BGl_2zd3zd3zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern bool_t BGl_2ze3ze3zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	extern obj_t BGl_hashtablezd2mapzd2zz__hashz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ssrzd2makezd2graphz00zz__ssrz00(obj_t);
	extern obj_t bgl_bignum_add(obj_t, obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_friendszd2forzd2eachz00zz__ssrz00(obj_t, obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zz__ssrz00(void);
	static obj_t BGl_list2081z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31372ze31991ze5zz__ssrz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31372ze31992ze5zz__ssrz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62cmpz62zz__ssrz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31372ze31993ze5zz__ssrz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31372ze31994ze5zz__ssrz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31372ze31995ze5zz__ssrz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_list2093z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_removezd2parentzd2edgez12z12zz__ssrz00(obj_t, long, obj_t);
	static obj_t BGl_keyword2101z00zz__ssrz00 = BUNSPEC;
	extern obj_t bgl_bignum_sub(obj_t, obj_t);
	extern obj_t bgl_long_to_bignum(long);
	static obj_t BGl_z62zc3z04anonymousza31521ze3ze5zz__ssrz00(obj_t, obj_t);
	static obj_t BGl_z62ssrzd2connectedzf3z43zz__ssrz00(obj_t, obj_t, obj_t);
	static bool_t BGl_removezd2childz12zc0zz__ssrz00(obj_t, obj_t, long);
	static obj_t BGl_z62catchz62zz__ssrz00(obj_t, obj_t, obj_t, obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static double BGl_infinityz00zz__ssrz00;
	extern obj_t bstring_to_keyword(obj_t);
	static obj_t BGl_friendzf3zf3zz__ssrz00(obj_t, long, long);
	static obj_t BGl_symbol2103z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_symbol2105z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_setzd2parentz12zc0zz__ssrz00(obj_t, obj_t, obj_t);
	static obj_t BGl__ssrzd2redirectz12zc0zz__ssrz00(obj_t, obj_t);
	static obj_t BGl_symbol2111z00zz__ssrz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__ssrz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgcz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static bool_t BGl_z62loosezf3z91zz__ssrz00(obj_t, obj_t);
	extern obj_t BGl_sortz00zz__r4_vectors_6_8z00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31372ze3ze5zz__ssrz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_keyword2082z00zz__ssrz00 = BUNSPEC;
	extern long BGl_hashtablezd2siza7ez75zz__hashz00(obj_t);
	static obj_t BGl_keyword2094z00zz__ssrz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_ssrzd2connectedzf3z21zz__ssrz00(obj_t, long);
	static obj_t BGl_cnstzd2initzd2zz__ssrz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__ssrz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__ssrz00(void);
	static obj_t BGl__ssrzd2addzd2edgez12z12zz__ssrz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31375ze3ze5zz__ssrz00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_hashtablezd2forzd2eachz00zz__hashz00(obj_t, obj_t);
	static obj_t BGl_symbol2075z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31538ze3ze5zz__ssrz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ssrzd2redirectz12zc0zz__ssrz00(obj_t, long, long,
		obj_t, obj_t);
	static bool_t BGl_updatezd2rankz12zc0zz__ssrz00(obj_t, obj_t);
	static obj_t BGl_symbol2084z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_addzd2friendz12zc0zz__ssrz00(obj_t, obj_t, long);
	static obj_t BGl_z62zc3z04anonymousza31466ze3ze5zz__ssrz00(obj_t, obj_t);
	static obj_t BGl_symbol2096z00zz__ssrz00 = BUNSPEC;
	static obj_t BGl_queuezd2getz12zc0zz__ssrz00(obj_t);
	extern obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ssrzd2addzd2edgez12z12zz__ssrz00(obj_t, long,
		long, obj_t);
	static obj_t BGl_getzd2parentzd2zz__ssrz00(obj_t, long);
	static obj_t BGl_zc3z04exitza31373ze3ze70z60zz__ssrz00(obj_t, obj_t);
	static bool_t BGl_removezd2friendz12zc0zz__ssrz00(obj_t, obj_t, obj_t);
	static obj_t BGl__ssrzd2removezd2edgez12z12zz__ssrz00(obj_t, obj_t);
	extern bool_t BGl_2ze3zd3z30zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_hoistze70ze7zz__ssrz00(obj_t, obj_t, obj_t, obj_t, obj_t);
	extern obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		BGL_DEFINE_REAL(BGl_real2077z00zz__ssrz00,
		BgL_bgl_real2077za700za7za7__s2116za7, 1.2);
#define BGl_real2089z00zz__ssrz00 bigloo_infinity
	   
		 
		BGL_DEFINE_STRING(BGl_string2076z00zz__ssrz00,
		BgL_bgl_string2076za700za7za7_2117za7, "none", 4);
	      BGL_DEFINE_STRING(BGl_string2078z00zz__ssrz00,
		BgL_bgl_string2078za700za7za7_2118za7, "/tmp/bigloo/runtime/Unsafe/ssr.scm",
		34);
	      BGL_DEFINE_STRING(BGl_string2079z00zz__ssrz00,
		BgL_bgl_string2079za700za7za7_2119za7, "_ssr-make-graph", 15);
	      BGL_DEFINE_STRING(BGl_string2080z00zz__ssrz00,
		BgL_bgl_string2080za700za7za7_2120za7, "vector", 6);
	      BGL_DEFINE_STRING(BGl_string2083z00zz__ssrz00,
		BgL_bgl_string2083za700za7za7_2121za7, "source", 6);
	      BGL_DEFINE_STRING(BGl_string2085z00zz__ssrz00,
		BgL_bgl_string2085za700za7za7_2122za7, "ssr-make-graph", 14);
	      BGL_DEFINE_STRING(BGl_string2086z00zz__ssrz00,
		BgL_bgl_string2086za700za7za7_2123za7, "Illegal keyword argument", 24);
	      BGL_DEFINE_STRING(BGl_string2087z00zz__ssrz00,
		BgL_bgl_string2087za700za7za7_2124za7,
		"wrong number of arguments: [0..1] expected, provided", 52);
	      BGL_DEFINE_STRING(BGl_string2088z00zz__ssrz00,
		BgL_bgl_string2088za700za7za7_2125za7, "bint", 4);
	      BGL_DEFINE_STRING(BGl_string2090z00zz__ssrz00,
		BgL_bgl_string2090za700za7za7_2126za7, "table-ref", 9);
	      BGL_DEFINE_STRING(BGl_string2091z00zz__ssrz00,
		BgL_bgl_string2091za700za7za7_2127za7, "key unbound", 11);
	      BGL_DEFINE_STRING(BGl_string2092z00zz__ssrz00,
		BgL_bgl_string2092za700za7za7_2128za7, "_ssr-add-edge!", 14);
	      BGL_DEFINE_STRING(BGl_string2095z00zz__ssrz00,
		BgL_bgl_string2095za700za7za7_2129za7, "onconnect", 9);
	      BGL_DEFINE_STRING(BGl_string2097z00zz__ssrz00,
		BgL_bgl_string2097za700za7za7_2130za7, "ssr-add-edge!", 13);
	      BGL_DEFINE_STRING(BGl_string2098z00zz__ssrz00,
		BgL_bgl_string2098za700za7za7_2131za7,
		"wrong number of arguments: [3..4] expected, provided", 52);
	      BGL_DEFINE_STRING(BGl_string2099z00zz__ssrz00,
		BgL_bgl_string2099za700za7za7_2132za7, "_ssr-remove-edge!", 17);
	extern obj_t BGl_conszd2envzd2zz__r4_pairs_and_lists_6_3z00;
	extern obj_t BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00;
	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ssrzd2connectedzf3zd2envzf3zz__ssrz00,
		BgL_bgl_za762ssrza7d2connect2133z00, BGl_z62ssrzd2connectedzf3z43zz__ssrz00,
		0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ssrzd2makezd2graphzd2envzd2zz__ssrz00,
		BgL_bgl__ssrza7d2makeza7d2gr2134z00, opt_generic_entry,
		BGl__ssrzd2makezd2graphz00zz__ssrz00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ssrzd2redirectz12zd2envz12zz__ssrz00,
		BgL_bgl__ssrza7d2redirectza72135z00, opt_generic_entry,
		BGl__ssrzd2redirectz12zc0zz__ssrz00, BFALSE, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ssrzd2removezd2edgez12zd2envzc0zz__ssrz00,
		BgL_bgl__ssrza7d2removeza7d22136z00, opt_generic_entry,
		BGl__ssrzd2removezd2edgez12z12zz__ssrz00, BFALSE, -1);
	      BGL_DEFINE_STRING(BGl_string2102z00zz__ssrz00,
		BgL_bgl_string2102za700za7za7_2137za7, "ondisconnect", 12);
	      BGL_DEFINE_STRING(BGl_string2104z00zz__ssrz00,
		BgL_bgl_string2104za700za7za7_2138za7, "ssr-remove-edge!", 16);
	      BGL_DEFINE_STRING(BGl_string2106z00zz__ssrz00,
		BgL_bgl_string2106za700za7za7_2139za7, "remove-parent-edge!", 19);
	      BGL_DEFINE_STRING(BGl_string2107z00zz__ssrz00,
		BgL_bgl_string2107za700za7za7_2140za7,
		"wrong number of arguments: [2..3] expected, provided", 52);
	      BGL_DEFINE_STRING(BGl_string2109z00zz__ssrz00,
		BgL_bgl_string2109za700za7za7_2141za7, "_ssr-redirect!", 14);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ssrzd2addzd2edgez12zd2envzc0zz__ssrz00,
		BgL_bgl__ssrza7d2addza7d2edg2142z00, opt_generic_entry,
		BGl__ssrzd2addzd2edgez12z12zz__ssrz00, BFALSE, -1);
	      BGL_DEFINE_STRING(BGl_string2112z00zz__ssrz00,
		BgL_bgl_string2112za700za7za7_2143za7, "ssr-redirect!", 13);
	      BGL_DEFINE_STRING(BGl_string2113z00zz__ssrz00,
		BgL_bgl_string2113za700za7za7_2144za7,
		"wrong number of arguments: [3..5] expected, provided", 52);
	      BGL_DEFINE_STRING(BGl_string2114z00zz__ssrz00,
		BgL_bgl_string2114za700za7za7_2145za7, "&ssr-connected?", 15);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2108z00zz__ssrz00,
		BgL_bgl_za762cmpza762za7za7__ssr2146z00, BGl_z62cmpz62zz__ssrz00, 0L,
		BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string2115z00zz__ssrz00,
		BgL_bgl_string2115za700za7za7_2147za7, "__ssr", 5);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_STRING(BGl_string2115z00zz__ssrz00,
			BgL_bgl_string2115za700za7za7_2147za7);
		BGL_BIND_PROCEDURE(BGl_proc2108z00zz__ssrz00,
			BgL_bgl_za762cmpza762za7za7__ssr2146z00);
		BGL_BIND_STRING(BGl_string2114z00zz__ssrz00,
			BgL_bgl_string2114za700za7za7_2145za7);
		BGL_BIND_STRING(BGl_string2113z00zz__ssrz00,
			BgL_bgl_string2113za700za7za7_2144za7);
		BGL_BIND_STRING(BGl_string2112z00zz__ssrz00,
			BgL_bgl_string2112za700za7za7_2143za7);
		BGL_BIND_PROCEDURE(BGl_ssrzd2addzd2edgez12zd2envzc0zz__ssrz00,
			BgL_bgl__ssrza7d2addza7d2edg2142z00);
		BGL_BIND_STRING(BGl_string2109z00zz__ssrz00,
			BgL_bgl_string2109za700za7za7_2141za7);
		BGL_BIND_STRING(BGl_string2107z00zz__ssrz00,
			BgL_bgl_string2107za700za7za7_2140za7);
		BGL_BIND_STRING(BGl_string2106z00zz__ssrz00,
			BgL_bgl_string2106za700za7za7_2139za7);
		BGL_BIND_STRING(BGl_string2104z00zz__ssrz00,
			BgL_bgl_string2104za700za7za7_2138za7);
		BGL_BIND_STRING(BGl_string2102z00zz__ssrz00,
			BgL_bgl_string2102za700za7za7_2137za7);
		BGL_BIND_PROCEDURE(BGl_ssrzd2removezd2edgez12zd2envzc0zz__ssrz00,
			BgL_bgl__ssrza7d2removeza7d22136z00);
		BGL_BIND_PROCEDURE(BGl_ssrzd2redirectz12zd2envz12zz__ssrz00,
			BgL_bgl__ssrza7d2redirectza72135z00);
		BGL_BIND_PROCEDURE(BGl_ssrzd2makezd2graphzd2envzd2zz__ssrz00,
			BgL_bgl__ssrza7d2makeza7d2gr2134z00);
		BGL_BIND_PROCEDURE(BGl_ssrzd2connectedzf3zd2envzf3zz__ssrz00,
			BgL_bgl_za762ssrza7d2connect2133z00);
		BGL_BIND_STRING(BGl_string2099z00zz__ssrz00,
			BgL_bgl_string2099za700za7za7_2132za7);
		BGL_BIND_STRING(BGl_string2098z00zz__ssrz00,
			BgL_bgl_string2098za700za7za7_2131za7);
		BGL_BIND_STRING(BGl_string2097z00zz__ssrz00,
			BgL_bgl_string2097za700za7za7_2130za7);
		BGL_BIND_STRING(BGl_string2095z00zz__ssrz00,
			BgL_bgl_string2095za700za7za7_2129za7);
		BGL_BIND_STRING(BGl_string2092z00zz__ssrz00,
			BgL_bgl_string2092za700za7za7_2128za7);
		BGL_BIND_STRING(BGl_string2091z00zz__ssrz00,
			BgL_bgl_string2091za700za7za7_2127za7);
		BGL_BIND_STRING(BGl_string2090z00zz__ssrz00,
			BgL_bgl_string2090za700za7za7_2126za7);
		BGL_BIND_STRING(BGl_string2088z00zz__ssrz00,
			BgL_bgl_string2088za700za7za7_2125za7);
		BGL_BIND_STRING(BGl_string2087z00zz__ssrz00,
			BgL_bgl_string2087za700za7za7_2124za7);
		BGL_BIND_STRING(BGl_string2086z00zz__ssrz00,
			BgL_bgl_string2086za700za7za7_2123za7);
		BGL_BIND_STRING(BGl_string2085z00zz__ssrz00,
			BgL_bgl_string2085za700za7za7_2122za7);
		BGL_BIND_STRING(BGl_string2083z00zz__ssrz00,
			BgL_bgl_string2083za700za7za7_2121za7);
		BGL_BIND_STRING(BGl_string2080z00zz__ssrz00,
			BgL_bgl_string2080za700za7za7_2120za7);
		BGL_BIND_STRING(BGl_string2079z00zz__ssrz00,
			BgL_bgl_string2079za700za7za7_2119za7);
		BGL_BIND_STRING(BGl_string2078z00zz__ssrz00,
			BgL_bgl_string2078za700za7za7_2118za7);
		BGL_BIND_STRING(BGl_string2076z00zz__ssrz00,
			BgL_bgl_string2076za700za7za7_2117za7);
		BGL_BIND_REAL(BGl_real2077z00zz__ssrz00,
			BgL_bgl_real2077za700za7za7__s2116za7);
	}

/* 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_requirezd2initializa7ationz75zz__ssrz00));
		ADD_ROOT((void *) (&BGl_list2100z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_list2110z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_list2081z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_list2093z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_keyword2101z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_symbol2103z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_symbol2105z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_symbol2111z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_keyword2082z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_keyword2094z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_symbol2075z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_symbol2084z00zz__ssrz00));
		ADD_ROOT((void *) (&BGl_symbol2096z00zz__ssrz00));
#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_modulezd2initializa7ationz75zz__ssrz00(long
		BgL_checksumz00_3638, char *BgL_fromz00_3639)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__ssrz00))
				{
					BGl_requirezd2initializa7ationz75zz__ssrz00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__ssrz00();
					BGl_cnstzd2initzd2zz__ssrz00();
					BGl_importedzd2moduleszd2initz00zz__ssrz00();
					return BGl_toplevelzd2initzd2zz__ssrz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 28 */
			BGl_symbol2075z00zz__ssrz00 =
				bstring_to_symbol(BGl_string2076z00zz__ssrz00);
			BGl_keyword2082z00zz__ssrz00 =
				bstring_to_keyword(BGl_string2083z00zz__ssrz00);
			BGl_list2081z00zz__ssrz00 =
				MAKE_YOUNG_PAIR(BGl_keyword2082z00zz__ssrz00, BNIL);
			BGl_symbol2084z00zz__ssrz00 =
				bstring_to_symbol(BGl_string2085z00zz__ssrz00);
			BGl_keyword2094z00zz__ssrz00 =
				bstring_to_keyword(BGl_string2095z00zz__ssrz00);
			BGl_list2093z00zz__ssrz00 =
				MAKE_YOUNG_PAIR(BGl_keyword2094z00zz__ssrz00, BNIL);
			BGl_symbol2096z00zz__ssrz00 =
				bstring_to_symbol(BGl_string2097z00zz__ssrz00);
			BGl_keyword2101z00zz__ssrz00 =
				bstring_to_keyword(BGl_string2102z00zz__ssrz00);
			BGl_list2100z00zz__ssrz00 =
				MAKE_YOUNG_PAIR(BGl_keyword2101z00zz__ssrz00, BNIL);
			BGl_symbol2103z00zz__ssrz00 =
				bstring_to_symbol(BGl_string2104z00zz__ssrz00);
			BGl_symbol2105z00zz__ssrz00 =
				bstring_to_symbol(BGl_string2106z00zz__ssrz00);
			BGl_list2110z00zz__ssrz00 =
				MAKE_YOUNG_PAIR(BGl_keyword2094z00zz__ssrz00,
				MAKE_YOUNG_PAIR(BGl_keyword2101z00zz__ssrz00, BNIL));
			return (BGl_symbol2111z00zz__ssrz00 =
				bstring_to_symbol(BGl_string2112z00zz__ssrz00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 28 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 28 */
			return (BGl_infinityz00zz__ssrz00 = BGL_INFINITY, BUNSPEC);
		}

	}



/* queue-get! */
	obj_t BGl_queuezd2getz12zc0zz__ssrz00(obj_t BgL_queuez00_4)
	{
		{	/* Unsafe/ssr.scm 144 */
			{	/* Unsafe/ssr.scm 145 */
				obj_t BgL_xz00_1349;

				BgL_xz00_1349 = CAR(CAR(BgL_queuez00_4));
				{	/* Unsafe/ssr.scm 146 */
					obj_t BgL_tmpz00_3665;

					BgL_tmpz00_3665 = CDR(CAR(BgL_queuez00_4));
					SET_CAR(BgL_queuez00_4, BgL_tmpz00_3665);
				}
				if (NULLP(CAR(BgL_queuez00_4)))
					{	/* Unsafe/ssr.scm 147 */
						SET_CDR(BgL_queuez00_4, BNIL);
					}
				else
					{	/* Unsafe/ssr.scm 147 */
						BFALSE;
					}
				return BgL_xz00_1349;
			}
		}

	}



/* make-set */
	obj_t BGl_makezd2setzd2zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 158 */
			return
				BGl_createzd2hashtablezd2zz__hashz00(BGL_REAL_CNST
				(BGl_real2077z00zz__ssrz00),
				BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00, BFALSE, BINT(10L),
				BINT(16384L), BFALSE, BINT(128L), BGl_symbol2075z00zz__ssrz00);
		}

	}



/* <@exit:1373>~0 */
	obj_t BGl_zc3z04exitza31373ze3ze70z60zz__ssrz00(obj_t BgL_setz00_3525,
		obj_t BgL_fz00_3524)
	{
		{	/* Unsafe/ssr.scm 165 */
			jmp_buf_t jmpbuf;
			void *BgL_an_exit1083z00_1373;

			if (SET_EXIT(BgL_an_exit1083z00_1373))
				{
					return BGL_EXIT_VALUE();
				}
			else
				{
#if (SIGSETJMP_SAVESIGS == 0)
				 // MS: CARE 5 jan 2021: see runtime/Clib/csystem.c
				 // bgl_restore_signal_handlers();
#endif

					BgL_an_exit1083z00_1373 = (void *) jmpbuf;
					{	/* Unsafe/ssr.scm 165 */
						obj_t BgL_env1087z00_1374;

						BgL_env1087z00_1374 = BGL_CURRENT_DYNAMIC_ENV();
						PUSH_ENV_EXIT(BgL_env1087z00_1374, BgL_an_exit1083z00_1373, 1L);
						{	/* Unsafe/ssr.scm 165 */
							obj_t BgL_an_exitd1084z00_1375;

							BgL_an_exitd1084z00_1375 =
								BGL_ENV_EXITD_TOP_AS_OBJ(BgL_env1087z00_1374);
							{	/* Unsafe/ssr.scm 165 */
								obj_t BgL_res1086z00_1378;

								{	/* Unsafe/ssr.scm 165 */
									obj_t BgL_zc3z04anonymousza31375ze3z87_3448;

									BgL_zc3z04anonymousza31375ze3z87_3448 =
										MAKE_FX_PROCEDURE
										(BGl_z62zc3z04anonymousza31375ze3ze5zz__ssrz00, (int) (2L),
										(int) (2L));
									PROCEDURE_SET(BgL_zc3z04anonymousza31375ze3z87_3448,
										(int) (0L), BgL_fz00_3524);
									PROCEDURE_SET(BgL_zc3z04anonymousza31375ze3z87_3448,
										(int) (1L), BgL_an_exitd1084z00_1375);
									BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_setz00_3525,
										BgL_zc3z04anonymousza31375ze3z87_3448);
								}
								BgL_res1086z00_1378 = BFALSE;
								POP_ENV_EXIT(BgL_env1087z00_1374);
								return BgL_res1086z00_1378;
							}
						}
					}
				}
		}

	}



/* &<@anonymous:1375> */
	obj_t BGl_z62zc3z04anonymousza31375ze3ze5zz__ssrz00(obj_t BgL_envz00_3449,
		obj_t BgL_k1078z00_3452, obj_t BgL_v1079z00_3453)
	{
		{	/* Unsafe/ssr.scm 165 */
			{	/* Unsafe/ssr.scm 165 */
				obj_t BgL_fz00_3450;
				obj_t BgL_an_exitd1084z00_3451;

				BgL_fz00_3450 = ((obj_t) PROCEDURE_REF(BgL_envz00_3449, (int) (0L)));
				BgL_an_exitd1084z00_3451 = PROCEDURE_REF(BgL_envz00_3449, (int) (1L));
				{	/* Unsafe/ssr.scm 165 */
					obj_t BgL_t1081z00_3614;

					{	/* Unsafe/ssr.scm 165 */
						obj_t BgL__andtest_1082z00_3615;

						BgL__andtest_1082z00_3615 =
							BGl_z62zc3z04anonymousza31538ze3ze5zz__ssrz00(BgL_fz00_3450,
							BgL_k1078z00_3452);
						if (CBOOL(BgL__andtest_1082z00_3615))
							{	/* Unsafe/ssr.scm 165 */
								BgL_t1081z00_3614 = BgL_k1078z00_3452;
							}
						else
							{	/* Unsafe/ssr.scm 165 */
								BgL_t1081z00_3614 = BFALSE;
							}
					}
					if (CBOOL(BgL_t1081z00_3614))
						{	/* Unsafe/ssr.scm 165 */
							return
								unwind_stack_until(BgL_an_exitd1084z00_3451, BFALSE,
								BgL_t1081z00_3614, BFALSE, BFALSE);
						}
					else
						{	/* Unsafe/ssr.scm 165 */
							return BFALSE;
						}
				}
			}
		}

	}



/* set->list */
	obj_t BGl_setzd2ze3listz31zz__ssrz00(obj_t BgL_setz00_20)
	{
		{	/* Unsafe/ssr.scm 166 */
			{	/* Unsafe/ssr.scm 166 */
				obj_t BgL_l1184z00_1388;

				BgL_l1184z00_1388 =
					BGl_hashtablezd2mapzd2zz__hashz00(BgL_setz00_20,
					BGl_conszd2envzd2zz__r4_pairs_and_lists_6_3z00);
				if (NULLP(BgL_l1184z00_1388))
					{	/* Unsafe/ssr.scm 166 */
						return BNIL;
					}
				else
					{	/* Unsafe/ssr.scm 166 */
						obj_t BgL_head1186z00_1390;

						{	/* Unsafe/ssr.scm 166 */
							obj_t BgL_arg1382z00_1402;

							{	/* Unsafe/ssr.scm 166 */
								obj_t BgL_pairz00_2410;

								BgL_pairz00_2410 = CAR(((obj_t) BgL_l1184z00_1388));
								BgL_arg1382z00_1402 = CAR(BgL_pairz00_2410);
							}
							BgL_head1186z00_1390 = MAKE_YOUNG_PAIR(BgL_arg1382z00_1402, BNIL);
						}
						{	/* Unsafe/ssr.scm 166 */
							obj_t BgL_g1189z00_1391;

							BgL_g1189z00_1391 = CDR(((obj_t) BgL_l1184z00_1388));
							{
								obj_t BgL_l1184z00_2431;
								obj_t BgL_tail1187z00_2432;

								BgL_l1184z00_2431 = BgL_g1189z00_1391;
								BgL_tail1187z00_2432 = BgL_head1186z00_1390;
							BgL_zc3z04anonymousza31377ze3z87_2430:
								if (NULLP(BgL_l1184z00_2431))
									{	/* Unsafe/ssr.scm 166 */
										return BgL_head1186z00_1390;
									}
								else
									{	/* Unsafe/ssr.scm 166 */
										obj_t BgL_newtail1188z00_2439;

										{	/* Unsafe/ssr.scm 166 */
											obj_t BgL_arg1380z00_2440;

											{	/* Unsafe/ssr.scm 166 */
												obj_t BgL_pairz00_2444;

												BgL_pairz00_2444 = CAR(((obj_t) BgL_l1184z00_2431));
												BgL_arg1380z00_2440 = CAR(BgL_pairz00_2444);
											}
											BgL_newtail1188z00_2439 =
												MAKE_YOUNG_PAIR(BgL_arg1380z00_2440, BNIL);
										}
										SET_CDR(BgL_tail1187z00_2432, BgL_newtail1188z00_2439);
										{	/* Unsafe/ssr.scm 166 */
											obj_t BgL_arg1379z00_2442;

											BgL_arg1379z00_2442 = CDR(((obj_t) BgL_l1184z00_2431));
											{
												obj_t BgL_tail1187z00_3724;
												obj_t BgL_l1184z00_3723;

												BgL_l1184z00_3723 = BgL_arg1379z00_2442;
												BgL_tail1187z00_3724 = BgL_newtail1188z00_2439;
												BgL_tail1187z00_2432 = BgL_tail1187z00_3724;
												BgL_l1184z00_2431 = BgL_l1184z00_3723;
												goto BgL_zc3z04anonymousza31377ze3z87_2430;
											}
										}
									}
							}
						}
					}
			}
		}

	}



/* table-ref-or-set-default! */
	obj_t BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00(obj_t
		BgL_tablez00_21, obj_t BgL_xz00_22)
	{
		{	/* Unsafe/ssr.scm 168 */
			{	/* Unsafe/ssr.scm 169 */
				obj_t BgL_valuez00_2447;

				{	/* Unsafe/ssr.scm 169 */
					obj_t BgL__ortest_1090z00_2449;

					BgL__ortest_1090z00_2449 =
						BGl_hashtablezd2getzd2zz__hashz00(BgL_tablez00_21, BgL_xz00_22);
					if (CBOOL(BgL__ortest_1090z00_2449))
						{	/* Unsafe/ssr.scm 169 */
							BgL_valuez00_2447 = BgL__ortest_1090z00_2449;
						}
					else
						{	/* Unsafe/ssr.scm 169 */
							BgL_valuez00_2447 = BFALSE;
						}
				}
				if (CBOOL(BgL_valuez00_2447))
					{	/* Unsafe/ssr.scm 170 */
						return BgL_valuez00_2447;
					}
				else
					{	/* Unsafe/ssr.scm 171 */
						obj_t BgL_defaultz00_2451;

						BgL_defaultz00_2451 = BGl_makezd2setzd2zz__ssrz00();
						BGl_hashtablezd2putz12zc0zz__hashz00(BgL_tablez00_21, BgL_xz00_22,
							BgL_defaultz00_2451);
						return BgL_defaultz00_2451;
					}
			}
		}

	}



/* _ssr-make-graph */
	obj_t BGl__ssrzd2makezd2graphz00zz__ssrz00(obj_t BgL_env1245z00_25,
		obj_t BgL_opt1244z00_24)
	{
		{	/* Unsafe/ssr.scm 175 */
			{	/* Unsafe/ssr.scm 175 */
				long BgL_l1246z00_1409;

				{	/* Unsafe/ssr.scm 175 */
					obj_t BgL_vectorz00_2452;

					if (VECTORP(BgL_opt1244z00_24))
						{	/* Unsafe/ssr.scm 175 */
							BgL_vectorz00_2452 = BgL_opt1244z00_24;
						}
					else
						{
							obj_t BgL_auxz00_3734;

							BgL_auxz00_3734 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
								BINT(6402L), BGl_string2079z00zz__ssrz00,
								BGl_string2080z00zz__ssrz00, BgL_opt1244z00_24);
							FAILURE(BgL_auxz00_3734, BFALSE, BFALSE);
						}
					BgL_l1246z00_1409 = VECTOR_LENGTH(BgL_vectorz00_2452);
				}
				{	/* Unsafe/ssr.scm 175 */

					{	/* Unsafe/ssr.scm 175 */
						obj_t BgL_sourcez00_1413;

						BgL_sourcez00_1413 = BINT(0L);
						{	/* Unsafe/ssr.scm 175 */

							{
								long BgL_iz00_1414;

								BgL_iz00_1414 = 0L;
							BgL_check1248z00_1415:
								if ((BgL_iz00_1414 == BgL_l1246z00_1409))
									{	/* Unsafe/ssr.scm 175 */
										BNIL;
									}
								else
									{	/* Unsafe/ssr.scm 175 */
										bool_t BgL_test2158z00_3742;

										{	/* Unsafe/ssr.scm 175 */
											obj_t BgL_arg1389z00_1421;

											BgL_arg1389z00_1421 =
												VECTOR_REF(((obj_t) BgL_opt1244z00_24), BgL_iz00_1414);
											BgL_test2158z00_3742 =
												CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
												(BgL_arg1389z00_1421, BGl_list2081z00zz__ssrz00));
										}
										if (BgL_test2158z00_3742)
											{
												long BgL_iz00_3747;

												BgL_iz00_3747 = (BgL_iz00_1414 + 2L);
												BgL_iz00_1414 = BgL_iz00_3747;
												goto BgL_check1248z00_1415;
											}
										else
											{	/* Unsafe/ssr.scm 175 */
												obj_t BgL_arg1388z00_1420;

												BgL_arg1388z00_1420 =
													VECTOR_REF(
													((obj_t) BgL_opt1244z00_24), BgL_iz00_1414);
												BGl_errorz00zz__errorz00(BGl_symbol2084z00zz__ssrz00,
													BGl_string2086z00zz__ssrz00, BgL_arg1388z00_1420);
											}
									}
							}
							{	/* Unsafe/ssr.scm 175 */
								obj_t BgL_index1250z00_1422;

								{
									long BgL_iz00_2468;

									BgL_iz00_2468 = 0L;
								BgL_search1247z00_2467:
									if ((BgL_iz00_2468 == BgL_l1246z00_1409))
										{	/* Unsafe/ssr.scm 175 */
											BgL_index1250z00_1422 = BINT((-1L));
										}
									else
										{	/* Unsafe/ssr.scm 175 */
											if ((BgL_iz00_2468 == (BgL_l1246z00_1409 - 1L)))
												{	/* Unsafe/ssr.scm 175 */
													BgL_index1250z00_1422 =
														BGl_errorz00zz__errorz00
														(BGl_symbol2084z00zz__ssrz00,
														BGl_string2087z00zz__ssrz00,
														BINT(VECTOR_LENGTH(BgL_opt1244z00_24)));
												}
											else
												{	/* Unsafe/ssr.scm 175 */
													obj_t BgL_vz00_2478;

													BgL_vz00_2478 =
														VECTOR_REF(BgL_opt1244z00_24, BgL_iz00_2468);
													if ((BgL_vz00_2478 == BGl_keyword2082z00zz__ssrz00))
														{	/* Unsafe/ssr.scm 175 */
															BgL_index1250z00_1422 =
																BINT((BgL_iz00_2468 + 1L));
														}
													else
														{
															long BgL_iz00_3766;

															BgL_iz00_3766 = (BgL_iz00_2468 + 2L);
															BgL_iz00_2468 = BgL_iz00_3766;
															goto BgL_search1247z00_2467;
														}
												}
										}
								}
								{	/* Unsafe/ssr.scm 175 */
									bool_t BgL_test2162z00_3768;

									{	/* Unsafe/ssr.scm 175 */
										long BgL_n1z00_2482;

										{	/* Unsafe/ssr.scm 175 */
											obj_t BgL_tmpz00_3769;

											if (INTEGERP(BgL_index1250z00_1422))
												{	/* Unsafe/ssr.scm 175 */
													BgL_tmpz00_3769 = BgL_index1250z00_1422;
												}
											else
												{
													obj_t BgL_auxz00_3772;

													BgL_auxz00_3772 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(6402L),
														BGl_string2079z00zz__ssrz00,
														BGl_string2088z00zz__ssrz00, BgL_index1250z00_1422);
													FAILURE(BgL_auxz00_3772, BFALSE, BFALSE);
												}
											BgL_n1z00_2482 = (long) CINT(BgL_tmpz00_3769);
										}
										BgL_test2162z00_3768 = (BgL_n1z00_2482 >= 0L);
									}
									if (BgL_test2162z00_3768)
										{
											long BgL_auxz00_3785;
											obj_t BgL_auxz00_3778;

											{	/* Unsafe/ssr.scm 175 */
												obj_t BgL_tmpz00_3786;

												if (INTEGERP(BgL_index1250z00_1422))
													{	/* Unsafe/ssr.scm 175 */
														BgL_tmpz00_3786 = BgL_index1250z00_1422;
													}
												else
													{
														obj_t BgL_auxz00_3789;

														BgL_auxz00_3789 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(6402L),
															BGl_string2079z00zz__ssrz00,
															BGl_string2088z00zz__ssrz00,
															BgL_index1250z00_1422);
														FAILURE(BgL_auxz00_3789, BFALSE, BFALSE);
													}
												BgL_auxz00_3785 = (long) CINT(BgL_tmpz00_3786);
											}
											if (VECTORP(BgL_opt1244z00_24))
												{	/* Unsafe/ssr.scm 175 */
													BgL_auxz00_3778 = BgL_opt1244z00_24;
												}
											else
												{
													obj_t BgL_auxz00_3781;

													BgL_auxz00_3781 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(6402L),
														BGl_string2079z00zz__ssrz00,
														BGl_string2080z00zz__ssrz00, BgL_opt1244z00_24);
													FAILURE(BgL_auxz00_3781, BFALSE, BFALSE);
												}
											BgL_sourcez00_1413 =
												VECTOR_REF(BgL_auxz00_3778, BgL_auxz00_3785);
										}
									else
										{	/* Unsafe/ssr.scm 175 */
											BFALSE;
										}
								}
							}
							return BGl_ssrzd2makezd2graphz00zz__ssrz00(BgL_sourcez00_1413);
						}
					}
				}
			}
		}

	}



/* ssr-make-graph */
	BGL_EXPORTED_DEF obj_t BGl_ssrzd2makezd2graphz00zz__ssrz00(obj_t
		BgL_sourcez00_23)
	{
		{	/* Unsafe/ssr.scm 175 */
			{	/* Unsafe/ssr.scm 176 */
				obj_t BgL_v1194z00_1432;

				BgL_v1194z00_1432 = create_vector(6L);
				VECTOR_SET(BgL_v1194z00_1432, 0L, BgL_sourcez00_23);
				{	/* Unsafe/ssr.scm 178 */
					obj_t BgL_arg1398z00_1433;

					{	/* Unsafe/ssr.scm 178 */
						obj_t BgL_table1093z00_1434;

						BgL_table1093z00_1434 =
							BGl_createzd2hashtablezd2zz__hashz00(BGL_REAL_CNST
							(BGl_real2077z00zz__ssrz00),
							BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00, BFALSE, BINT(10L),
							BINT(16384L), BFALSE, BINT(128L), BGl_symbol2075z00zz__ssrz00);
						{	/* Unsafe/ssr.scm 178 */
							obj_t BgL_g1193z00_1435;

							{	/* Unsafe/ssr.scm 178 */
								obj_t BgL_arg1404z00_1445;

								BgL_arg1404z00_1445 =
									MAKE_YOUNG_PAIR(BgL_sourcez00_23, BINT(0L));
								{	/* Unsafe/ssr.scm 178 */
									obj_t BgL_list1405z00_1446;

									BgL_list1405z00_1446 =
										MAKE_YOUNG_PAIR(BgL_arg1404z00_1445, BNIL);
									BgL_g1193z00_1435 = BgL_list1405z00_1446;
								}
							}
							{
								obj_t BgL_l1191z00_1437;

								BgL_l1191z00_1437 = BgL_g1193z00_1435;
							BgL_zc3z04anonymousza31399ze3z87_1438:
								if (PAIRP(BgL_l1191z00_1437))
									{	/* Unsafe/ssr.scm 178 */
										{	/* Unsafe/ssr.scm 178 */
											obj_t BgL_pairz00_1440;

											BgL_pairz00_1440 = CAR(BgL_l1191z00_1437);
											{	/* Unsafe/ssr.scm 178 */
												obj_t BgL_arg1401z00_1441;
												obj_t BgL_arg1402z00_1442;

												BgL_arg1401z00_1441 = CAR(((obj_t) BgL_pairz00_1440));
												BgL_arg1402z00_1442 = CDR(((obj_t) BgL_pairz00_1440));
												BGl_hashtablezd2putz12zc0zz__hashz00
													(BgL_table1093z00_1434, BgL_arg1401z00_1441,
													BgL_arg1402z00_1442);
											}
										}
										{
											obj_t BgL_l1191z00_3813;

											BgL_l1191z00_3813 = CDR(BgL_l1191z00_1437);
											BgL_l1191z00_1437 = BgL_l1191z00_3813;
											goto BgL_zc3z04anonymousza31399ze3z87_1438;
										}
									}
								else
									{	/* Unsafe/ssr.scm 178 */
										((bool_t) 1);
									}
							}
						}
						BgL_arg1398z00_1433 = BgL_table1093z00_1434;
					}
					VECTOR_SET(BgL_v1194z00_1432, 1L, BgL_arg1398z00_1433);
				}
				VECTOR_SET(BgL_v1194z00_1432, 2L,
					BGl_createzd2hashtablezd2zz__hashz00(BGL_REAL_CNST
						(BGl_real2077z00zz__ssrz00),
						BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00, BFALSE, BINT(10L),
						BINT(16384L), BFALSE, BINT(128L), BGl_symbol2075z00zz__ssrz00));
				VECTOR_SET(BgL_v1194z00_1432, 3L,
					BGl_createzd2hashtablezd2zz__hashz00(BGL_REAL_CNST
						(BGl_real2077z00zz__ssrz00),
						BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00, BFALSE, BINT(10L),
						BINT(16384L), BFALSE, BINT(128L), BGl_symbol2075z00zz__ssrz00));
				VECTOR_SET(BgL_v1194z00_1432, 4L,
					BGl_createzd2hashtablezd2zz__hashz00(BGL_REAL_CNST
						(BGl_real2077z00zz__ssrz00),
						BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00, BFALSE, BINT(10L),
						BINT(16384L), BFALSE, BINT(128L), BGl_symbol2075z00zz__ssrz00));
				VECTOR_SET(BgL_v1194z00_1432, 5L,
					BGl_createzd2hashtablezd2zz__hashz00(BGL_REAL_CNST
						(BGl_real2077z00zz__ssrz00),
						BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00, BFALSE, BINT(10L),
						BINT(16384L), BFALSE, BINT(128L), BGl_symbol2075z00zz__ssrz00));
				return BgL_v1194z00_1432;
			}
		}

	}



/* update-rank! */
	bool_t BGl_updatezd2rankz12zc0zz__ssrz00(obj_t BgL_graphz00_37,
		obj_t BgL_xz00_38)
	{
		{	/* Unsafe/ssr.scm 217 */
			{	/* Unsafe/ssr.scm 218 */
				obj_t BgL_parentz00_1495;

				{	/* Unsafe/ssr.scm 235 */
					obj_t BgL__ortest_1101z00_2506;

					{	/* Unsafe/ssr.scm 235 */
						obj_t BgL_arg1422z00_2507;

						BgL_arg1422z00_2507 = VECTOR_REF(((obj_t) BgL_graphz00_37), 2L);
						BgL__ortest_1101z00_2506 =
							BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1422z00_2507,
							BgL_xz00_38);
					}
					if (CBOOL(BgL__ortest_1101z00_2506))
						{	/* Unsafe/ssr.scm 235 */
							BgL_parentz00_1495 = BgL__ortest_1101z00_2506;
						}
					else
						{	/* Unsafe/ssr.scm 235 */
							BgL_parentz00_1495 = BFALSE;
						}
				}
				{	/* Unsafe/ssr.scm 218 */
					obj_t BgL_parentzd2rankzd2_1496;

					if (CBOOL(BgL_parentz00_1495))
						{	/* Unsafe/ssr.scm 214 */
							obj_t BgL__ortest_1095z00_2510;

							{	/* Unsafe/ssr.scm 214 */
								obj_t BgL_arg1411z00_2511;

								BgL_arg1411z00_2511 = VECTOR_REF(((obj_t) BgL_graphz00_37), 1L);
								BgL__ortest_1095z00_2510 =
									BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1411z00_2511,
									BgL_parentz00_1495);
							}
							if (CBOOL(BgL__ortest_1095z00_2510))
								{	/* Unsafe/ssr.scm 214 */
									BgL_parentzd2rankzd2_1496 = BgL__ortest_1095z00_2510;
								}
							else
								{	/* Unsafe/ssr.scm 214 */
									BgL_parentzd2rankzd2_1496 =
										BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
								}
						}
					else
						{	/* Unsafe/ssr.scm 219 */
							BgL_parentzd2rankzd2_1496 =
								BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
						}
					{	/* Unsafe/ssr.scm 219 */
						obj_t BgL_oldzd2rankzd2_1497;

						{	/* Unsafe/ssr.scm 214 */
							obj_t BgL__ortest_1095z00_2514;

							{	/* Unsafe/ssr.scm 214 */
								obj_t BgL_arg1411z00_2515;

								BgL_arg1411z00_2515 = VECTOR_REF(((obj_t) BgL_graphz00_37), 1L);
								BgL__ortest_1095z00_2514 =
									BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1411z00_2515,
									BgL_xz00_38);
							}
							if (CBOOL(BgL__ortest_1095z00_2514))
								{	/* Unsafe/ssr.scm 214 */
									BgL_oldzd2rankzd2_1497 = BgL__ortest_1095z00_2514;
								}
							else
								{	/* Unsafe/ssr.scm 214 */
									BgL_oldzd2rankzd2_1497 =
										BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
								}
						}
						{	/* Unsafe/ssr.scm 220 */
							obj_t BgL_newzd2rankzd2_1498;

							if (INTEGERP(BgL_parentzd2rankzd2_1496))
								{	/* Unsafe/ssr.scm 221 */
									obj_t BgL_tmpz00_2519;

									BgL_tmpz00_2519 = BINT(0L);
									{	/* Unsafe/ssr.scm 221 */
										bool_t BgL_test2172z00_3856;

										{	/* Unsafe/ssr.scm 221 */
											obj_t BgL_tmpz00_3857;

											BgL_tmpz00_3857 = BINT(1L);
											BgL_test2172z00_3856 =
												BGL_ADDFX_OV(BgL_parentzd2rankzd2_1496, BgL_tmpz00_3857,
												BgL_tmpz00_2519);
										}
										if (BgL_test2172z00_3856)
											{	/* Unsafe/ssr.scm 221 */
												BgL_newzd2rankzd2_1498 =
													bgl_bignum_add(bgl_long_to_bignum(
														(long) CINT(BgL_parentzd2rankzd2_1496)),
													bgl_long_to_bignum(1L));
											}
										else
											{	/* Unsafe/ssr.scm 221 */
												BgL_newzd2rankzd2_1498 = BgL_tmpz00_2519;
											}
									}
								}
							else
								{	/* Unsafe/ssr.scm 221 */
									BgL_newzd2rankzd2_1498 =
										BGl_2zb2zb2zz__r4_numbers_6_5z00(BgL_parentzd2rankzd2_1496,
										BINT(1L));
								}
							{	/* Unsafe/ssr.scm 221 */

								{	/* Unsafe/ssr.scm 222 */
									bool_t BgL_test2173z00_3866;

									{	/* Unsafe/ssr.scm 222 */
										bool_t BgL_test2174z00_3867;

										if (INTEGERP(BgL_newzd2rankzd2_1498))
											{	/* Unsafe/ssr.scm 222 */
												BgL_test2174z00_3867 = INTEGERP(BgL_oldzd2rankzd2_1497);
											}
										else
											{	/* Unsafe/ssr.scm 222 */
												BgL_test2174z00_3867 = ((bool_t) 0);
											}
										if (BgL_test2174z00_3867)
											{	/* Unsafe/ssr.scm 222 */
												BgL_test2173z00_3866 =
													(
													(long) CINT(BgL_newzd2rankzd2_1498) ==
													(long) CINT(BgL_oldzd2rankzd2_1497));
											}
										else
											{	/* Unsafe/ssr.scm 222 */
												BgL_test2173z00_3866 =
													BGl_2zd3zd3zz__r4_numbers_6_5z00
													(BgL_newzd2rankzd2_1498, BgL_oldzd2rankzd2_1497);
											}
									}
									if (BgL_test2173z00_3866)
										{	/* Unsafe/ssr.scm 222 */
											return ((bool_t) 0);
										}
									else
										{	/* Unsafe/ssr.scm 222 */
											{	/* Unsafe/ssr.scm 216 */
												obj_t BgL_arg1412z00_2529;

												BgL_arg1412z00_2529 =
													VECTOR_REF(((obj_t) BgL_graphz00_37), 1L);
												BGl_hashtablezd2putz12zc0zz__hashz00
													(BgL_arg1412z00_2529, BgL_xz00_38,
													BgL_newzd2rankzd2_1498);
											}
											return ((bool_t) 1);
										}
								}
							}
						}
					}
				}
			}
		}

	}



/* add-friend! */
	obj_t BGl_addzd2friendz12zc0zz__ssrz00(obj_t BgL_graphz00_39,
		obj_t BgL_nodez00_40, long BgL_friendz00_41)
	{
		{	/* Unsafe/ssr.scm 226 */
			{	/* Unsafe/ssr.scm 227 */
				obj_t BgL_arg1415z00_2531;

				{	/* Unsafe/ssr.scm 227 */
					obj_t BgL_arg1416z00_2532;

					BgL_arg1416z00_2532 = VECTOR_REF(BgL_graphz00_39, 4L);
					{	/* Unsafe/ssr.scm 169 */
						obj_t BgL_valuez00_2536;

						{	/* Unsafe/ssr.scm 169 */
							obj_t BgL__ortest_1090z00_2538;

							BgL__ortest_1090z00_2538 =
								BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1416z00_2532,
								BgL_nodez00_40);
							if (CBOOL(BgL__ortest_1090z00_2538))
								{	/* Unsafe/ssr.scm 169 */
									BgL_valuez00_2536 = BgL__ortest_1090z00_2538;
								}
							else
								{	/* Unsafe/ssr.scm 169 */
									BgL_valuez00_2536 = BFALSE;
								}
						}
						if (CBOOL(BgL_valuez00_2536))
							{	/* Unsafe/ssr.scm 170 */
								BgL_arg1415z00_2531 = BgL_valuez00_2536;
							}
						else
							{	/* Unsafe/ssr.scm 171 */
								obj_t BgL_defaultz00_2540;

								BgL_defaultz00_2540 = BGl_makezd2setzd2zz__ssrz00();
								BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1416z00_2532,
									BgL_nodez00_40, BgL_defaultz00_2540);
								BgL_arg1415z00_2531 = BgL_defaultz00_2540;
							}
					}
				}
				BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1415z00_2531,
					BINT(BgL_friendz00_41), BTRUE);
			}
			{	/* Unsafe/ssr.scm 228 */
				obj_t BgL_arg1417z00_2533;

				{	/* Unsafe/ssr.scm 228 */
					obj_t BgL_arg1419z00_2534;

					BgL_arg1419z00_2534 = VECTOR_REF(BgL_graphz00_39, 5L);
					{	/* Unsafe/ssr.scm 169 */
						obj_t BgL_valuez00_2542;

						{	/* Unsafe/ssr.scm 169 */
							obj_t BgL__ortest_1090z00_2544;

							BgL__ortest_1090z00_2544 =
								BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1419z00_2534,
								BINT(BgL_friendz00_41));
							if (CBOOL(BgL__ortest_1090z00_2544))
								{	/* Unsafe/ssr.scm 169 */
									BgL_valuez00_2542 = BgL__ortest_1090z00_2544;
								}
							else
								{	/* Unsafe/ssr.scm 169 */
									BgL_valuez00_2542 = BFALSE;
								}
						}
						if (CBOOL(BgL_valuez00_2542))
							{	/* Unsafe/ssr.scm 170 */
								BgL_arg1417z00_2533 = BgL_valuez00_2542;
							}
						else
							{	/* Unsafe/ssr.scm 171 */
								obj_t BgL_defaultz00_2546;

								BgL_defaultz00_2546 = BGl_makezd2setzd2zz__ssrz00();
								BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1419z00_2534,
									BINT(BgL_friendz00_41), BgL_defaultz00_2546);
								BgL_arg1417z00_2533 = BgL_defaultz00_2546;
							}
					}
				}
				return
					BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1417z00_2533,
					BgL_nodez00_40, BTRUE);
			}
		}

	}



/* remove-friend! */
	bool_t BGl_removezd2friendz12zc0zz__ssrz00(obj_t BgL_graphz00_42,
		obj_t BgL_nodez00_43, obj_t BgL_friendz00_44)
	{
		{	/* Unsafe/ssr.scm 229 */
			{	/* Unsafe/ssr.scm 230 */
				obj_t BgL_friendsz00_1506;
				obj_t BgL_friendliesz00_1507;

				{	/* Unsafe/ssr.scm 230 */
					obj_t BgL__ortest_1097z00_1509;

					{	/* Unsafe/ssr.scm 230 */
						obj_t BgL_arg1420z00_1510;

						BgL_arg1420z00_1510 = VECTOR_REF(((obj_t) BgL_graphz00_42), 4L);
						BgL__ortest_1097z00_1509 =
							BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1420z00_1510,
							BgL_nodez00_43);
					}
					if (CBOOL(BgL__ortest_1097z00_1509))
						{	/* Unsafe/ssr.scm 230 */
							BgL_friendsz00_1506 = BgL__ortest_1097z00_1509;
						}
					else
						{	/* Unsafe/ssr.scm 230 */
							BgL_friendsz00_1506 = BFALSE;
						}
				}
				{	/* Unsafe/ssr.scm 231 */
					obj_t BgL__ortest_1099z00_1512;

					{	/* Unsafe/ssr.scm 231 */
						obj_t BgL_arg1421z00_1513;

						BgL_arg1421z00_1513 = VECTOR_REF(((obj_t) BgL_graphz00_42), 5L);
						BgL__ortest_1099z00_1512 =
							BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1421z00_1513,
							BgL_friendz00_44);
					}
					if (CBOOL(BgL__ortest_1099z00_1512))
						{	/* Unsafe/ssr.scm 231 */
							BgL_friendliesz00_1507 = BgL__ortest_1099z00_1512;
						}
					else
						{	/* Unsafe/ssr.scm 231 */
							BgL_friendliesz00_1507 = BFALSE;
						}
				}
				if (CBOOL(BgL_friendsz00_1506))
					{	/* Unsafe/ssr.scm 232 */
						BGl_hashtablezd2removez12zc0zz__hashz00(BgL_friendsz00_1506,
							BgL_friendz00_44);
					}
				else
					{	/* Unsafe/ssr.scm 232 */
						((bool_t) 0);
					}
				if (CBOOL(BgL_friendliesz00_1507))
					{	/* Unsafe/ssr.scm 233 */
						return
							BGl_hashtablezd2removez12zc0zz__hashz00(BgL_friendliesz00_1507,
							BgL_nodez00_43);
					}
				else
					{	/* Unsafe/ssr.scm 233 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* get-parent */
	obj_t BGl_getzd2parentzd2zz__ssrz00(obj_t BgL_graphz00_45, long BgL_xz00_46)
	{
		{	/* Unsafe/ssr.scm 234 */
			{	/* Unsafe/ssr.scm 235 */
				obj_t BgL__ortest_1101z00_2550;

				BgL__ortest_1101z00_2550 =
					BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_45, 2L),
					BINT(BgL_xz00_46));
				if (CBOOL(BgL__ortest_1101z00_2550))
					{	/* Unsafe/ssr.scm 235 */
						return BgL__ortest_1101z00_2550;
					}
				else
					{	/* Unsafe/ssr.scm 235 */
						return BFALSE;
					}
			}
		}

	}



/* set-parent! */
	obj_t BGl_setzd2parentz12zc0zz__ssrz00(obj_t BgL_graphz00_47,
		obj_t BgL_childz00_48, obj_t BgL_parentz00_49)
	{
		{	/* Unsafe/ssr.scm 236 */
			{	/* Unsafe/ssr.scm 238 */
				obj_t BgL_oldzd2parentzd2_1517;

				{	/* Unsafe/ssr.scm 235 */
					obj_t BgL__ortest_1101z00_2554;

					{	/* Unsafe/ssr.scm 235 */
						obj_t BgL_arg1422z00_2555;

						BgL_arg1422z00_2555 = VECTOR_REF(((obj_t) BgL_graphz00_47), 2L);
						BgL__ortest_1101z00_2554 =
							BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1422z00_2555,
							BgL_childz00_48);
					}
					if (CBOOL(BgL__ortest_1101z00_2554))
						{	/* Unsafe/ssr.scm 235 */
							BgL_oldzd2parentzd2_1517 = BgL__ortest_1101z00_2554;
						}
					else
						{	/* Unsafe/ssr.scm 235 */
							BgL_oldzd2parentzd2_1517 = BFALSE;
						}
				}
				if (CBOOL(BgL_oldzd2parentzd2_1517))
					{	/* Unsafe/ssr.scm 239 */
						{	/* Unsafe/ssr.scm 227 */
							obj_t BgL_arg1415z00_2557;

							{	/* Unsafe/ssr.scm 227 */
								obj_t BgL_arg1416z00_2558;

								BgL_arg1416z00_2558 = VECTOR_REF(((obj_t) BgL_graphz00_47), 4L);
								BgL_arg1415z00_2557 =
									BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00
									(BgL_arg1416z00_2558, BgL_oldzd2parentzd2_1517);
							}
							BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1415z00_2557,
								BgL_childz00_48, BTRUE);
						}
						{	/* Unsafe/ssr.scm 228 */
							obj_t BgL_arg1417z00_2559;

							{	/* Unsafe/ssr.scm 228 */
								obj_t BgL_arg1419z00_2560;

								BgL_arg1419z00_2560 = VECTOR_REF(((obj_t) BgL_graphz00_47), 5L);
								BgL_arg1417z00_2559 =
									BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00
									(BgL_arg1419z00_2560, BgL_childz00_48);
							}
							BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1417z00_2559,
								BgL_oldzd2parentzd2_1517, BTRUE);
						}
						{	/* Unsafe/ssr.scm 254 */
							obj_t BgL_arg1427z00_2563;

							{	/* Unsafe/ssr.scm 254 */
								obj_t BgL__ortest_1103z00_2565;

								{	/* Unsafe/ssr.scm 254 */
									obj_t BgL_arg1428z00_2566;

									BgL_arg1428z00_2566 =
										VECTOR_REF(((obj_t) BgL_graphz00_47), 3L);
									BgL__ortest_1103z00_2565 =
										BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1428z00_2566,
										BgL_oldzd2parentzd2_1517);
								}
								if (CBOOL(BgL__ortest_1103z00_2565))
									{	/* Unsafe/ssr.scm 254 */
										BgL_arg1427z00_2563 = BgL__ortest_1103z00_2565;
									}
								else
									{	/* Unsafe/ssr.scm 254 */
										BgL_arg1427z00_2563 =
											BGl_errorz00zz__errorz00(BGl_string2090z00zz__ssrz00,
											BGl_string2091z00zz__ssrz00, BgL_oldzd2parentzd2_1517);
									}
							}
							BGl_hashtablezd2removez12zc0zz__hashz00(BgL_arg1427z00_2563,
								BgL_childz00_48);
						}
					}
				else
					{	/* Unsafe/ssr.scm 239 */
						((bool_t) 0);
					}
			}
			BGl_removezd2friendz12zc0zz__ssrz00(BgL_graphz00_47, BgL_parentz00_49,
				BgL_childz00_48);
			{	/* Unsafe/ssr.scm 245 */
				obj_t BgL_arg1423z00_1518;

				BgL_arg1423z00_1518 = VECTOR_REF(((obj_t) BgL_graphz00_47), 2L);
				BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1423z00_1518,
					BgL_childz00_48, BgL_parentz00_49);
			}
			{	/* Unsafe/ssr.scm 247 */
				obj_t BgL_arg1424z00_1519;

				{	/* Unsafe/ssr.scm 247 */
					obj_t BgL_arg1425z00_1520;

					BgL_arg1425z00_1520 = VECTOR_REF(((obj_t) BgL_graphz00_47), 3L);
					{	/* Unsafe/ssr.scm 169 */
						obj_t BgL_valuez00_2570;

						{	/* Unsafe/ssr.scm 169 */
							obj_t BgL__ortest_1090z00_2572;

							BgL__ortest_1090z00_2572 =
								BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1425z00_1520,
								BgL_parentz00_49);
							if (CBOOL(BgL__ortest_1090z00_2572))
								{	/* Unsafe/ssr.scm 169 */
									BgL_valuez00_2570 = BgL__ortest_1090z00_2572;
								}
							else
								{	/* Unsafe/ssr.scm 169 */
									BgL_valuez00_2570 = BFALSE;
								}
						}
						if (CBOOL(BgL_valuez00_2570))
							{	/* Unsafe/ssr.scm 170 */
								BgL_arg1424z00_1519 = BgL_valuez00_2570;
							}
						else
							{	/* Unsafe/ssr.scm 171 */
								obj_t BgL_defaultz00_2574;

								BgL_defaultz00_2574 = BGl_makezd2setzd2zz__ssrz00();
								BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1425z00_1520,
									BgL_parentz00_49, BgL_defaultz00_2574);
								BgL_arg1424z00_1519 = BgL_defaultz00_2574;
							}
					}
				}
				return
					BGl_hashtablezd2putz12zc0zz__hashz00(BgL_arg1424z00_1519,
					BgL_childz00_48, BTRUE);
			}
		}

	}



/* remove-child! */
	bool_t BGl_removezd2childz12zc0zz__ssrz00(obj_t BgL_graphz00_52,
		obj_t BgL_parentz00_53, long BgL_childz00_54)
	{
		{	/* Unsafe/ssr.scm 252 */
			{	/* Unsafe/ssr.scm 254 */
				obj_t BgL_arg1427z00_2587;

				{	/* Unsafe/ssr.scm 254 */
					obj_t BgL__ortest_1103z00_2589;

					BgL__ortest_1103z00_2589 =
						BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_52, 3L),
						BgL_parentz00_53);
					if (CBOOL(BgL__ortest_1103z00_2589))
						{	/* Unsafe/ssr.scm 254 */
							BgL_arg1427z00_2587 = BgL__ortest_1103z00_2589;
						}
					else
						{	/* Unsafe/ssr.scm 254 */
							BgL_arg1427z00_2587 =
								BGl_errorz00zz__errorz00(BGl_string2090z00zz__ssrz00,
								BGl_string2091z00zz__ssrz00, BgL_parentz00_53);
						}
				}
				return
					BGl_hashtablezd2removez12zc0zz__hashz00(BgL_arg1427z00_2587,
					BINT(BgL_childz00_54));
			}
		}

	}



/* clean-edge? */
	bool_t BGl_cleanzd2edgezf3z21zz__ssrz00(obj_t BgL_graphz00_55,
		obj_t BgL_fromz00_56, obj_t BgL_toz00_57)
	{
		{	/* Unsafe/ssr.scm 257 */
			{	/* Unsafe/ssr.scm 258 */
				obj_t BgL_a1196z00_2592;

				{	/* Unsafe/ssr.scm 214 */
					obj_t BgL__ortest_1095z00_2597;

					BgL__ortest_1095z00_2597 =
						BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_55, 1L),
						BgL_fromz00_56);
					if (CBOOL(BgL__ortest_1095z00_2597))
						{	/* Unsafe/ssr.scm 214 */
							BgL_a1196z00_2592 = BgL__ortest_1095z00_2597;
						}
					else
						{	/* Unsafe/ssr.scm 214 */
							BgL_a1196z00_2592 = BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
						}
				}
				{	/* Unsafe/ssr.scm 258 */
					obj_t BgL_b1197z00_2593;

					{	/* Unsafe/ssr.scm 258 */
						obj_t BgL_a1195z00_2594;

						{	/* Unsafe/ssr.scm 214 */
							obj_t BgL__ortest_1095z00_2601;

							BgL__ortest_1095z00_2601 =
								BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_55,
									1L), BgL_toz00_57);
							if (CBOOL(BgL__ortest_1095z00_2601))
								{	/* Unsafe/ssr.scm 214 */
									BgL_a1195z00_2594 = BgL__ortest_1095z00_2601;
								}
							else
								{	/* Unsafe/ssr.scm 214 */
									BgL_a1195z00_2594 = BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
								}
						}
						if (INTEGERP(BgL_a1195z00_2594))
							{	/* Unsafe/ssr.scm 258 */
								obj_t BgL_tmpz00_2606;

								BgL_tmpz00_2606 = BINT(0L);
								{	/* Unsafe/ssr.scm 258 */
									bool_t BgL_test2194z00_3974;

									{	/* Unsafe/ssr.scm 258 */
										obj_t BgL_tmpz00_3975;

										BgL_tmpz00_3975 = BINT(1L);
										BgL_test2194z00_3974 =
											BGL_SUBFX_OV(BgL_a1195z00_2594, BgL_tmpz00_3975,
											BgL_tmpz00_2606);
									}
									if (BgL_test2194z00_3974)
										{	/* Unsafe/ssr.scm 258 */
											BgL_b1197z00_2593 =
												bgl_bignum_sub(bgl_long_to_bignum(
													(long) CINT(BgL_a1195z00_2594)),
												bgl_long_to_bignum(1L));
										}
									else
										{	/* Unsafe/ssr.scm 258 */
											BgL_b1197z00_2593 = BgL_tmpz00_2606;
										}
								}
							}
						else
							{	/* Unsafe/ssr.scm 258 */
								BgL_b1197z00_2593 =
									BGl_2zd2zd2zz__r4_numbers_6_5z00(BgL_a1195z00_2594, BINT(1L));
							}
					}
					{	/* Unsafe/ssr.scm 258 */

						{	/* Unsafe/ssr.scm 258 */
							bool_t BgL_test2195z00_3984;

							if (INTEGERP(BgL_a1196z00_2592))
								{	/* Unsafe/ssr.scm 258 */
									BgL_test2195z00_3984 = INTEGERP(BgL_b1197z00_2593);
								}
							else
								{	/* Unsafe/ssr.scm 258 */
									BgL_test2195z00_3984 = ((bool_t) 0);
								}
							if (BgL_test2195z00_3984)
								{	/* Unsafe/ssr.scm 258 */
									return
										(
										(long) CINT(BgL_a1196z00_2592) >=
										(long) CINT(BgL_b1197z00_2593));
								}
							else
								{	/* Unsafe/ssr.scm 258 */
									return
										BGl_2ze3zd3z30zz__r4_numbers_6_5z00(BgL_a1196z00_2592,
										BgL_b1197z00_2593);
								}
						}
					}
				}
			}
		}

	}



/* children-for-each */
	obj_t BGl_childrenzd2forzd2eachz00zz__ssrz00(obj_t BgL_fz00_64,
		obj_t BgL_graphz00_65, obj_t BgL_xz00_66)
	{
		{	/* Unsafe/ssr.scm 264 */
			{	/* Unsafe/ssr.scm 265 */
				obj_t BgL_childrenz00_2654;

				{	/* Unsafe/ssr.scm 265 */
					obj_t BgL__ortest_1106z00_2656;

					{	/* Unsafe/ssr.scm 265 */
						obj_t BgL_arg1431z00_2657;

						BgL_arg1431z00_2657 = VECTOR_REF(((obj_t) BgL_graphz00_65), 3L);
						BgL__ortest_1106z00_2656 =
							BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1431z00_2657,
							BgL_xz00_66);
					}
					if (CBOOL(BgL__ortest_1106z00_2656))
						{	/* Unsafe/ssr.scm 265 */
							BgL_childrenz00_2654 = BgL__ortest_1106z00_2656;
						}
					else
						{	/* Unsafe/ssr.scm 265 */
							BgL_childrenz00_2654 = BFALSE;
						}
				}
				if (CBOOL(BgL_childrenz00_2654))
					{	/* Unsafe/ssr.scm 164 */
						obj_t BgL_zc3z04anonymousza31372ze3z87_3457;

						BgL_zc3z04anonymousza31372ze3z87_3457 =
							MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31372ze3ze5zz__ssrz00,
							(int) (2L), (int) (1L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31372ze3z87_3457,
							(int) (0L), BgL_fz00_64);
						return
							BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_childrenz00_2654,
							BgL_zc3z04anonymousza31372ze3z87_3457);
					}
				else
					{	/* Unsafe/ssr.scm 266 */
						return BFALSE;
					}
			}
		}

	}



/* &<@anonymous:1372> */
	obj_t BGl_z62zc3z04anonymousza31372ze3ze5zz__ssrz00(obj_t BgL_envz00_3458,
		obj_t BgL_kz00_3460, obj_t BgL__z00_3461)
	{
		{	/* Unsafe/ssr.scm 164 */
			{	/* Unsafe/ssr.scm 164 */
				obj_t BgL_fz00_3459;

				BgL_fz00_3459 = ((obj_t) PROCEDURE_REF(BgL_envz00_3458, (int) (0L)));
				return
					((obj_t(*)(obj_t,
							obj_t)) PROCEDURE_L_ENTRY(BgL_fz00_3459)) (BgL_fz00_3459,
					BgL_kz00_3460);
			}
		}

	}



/* friends-for-each */
	obj_t BGl_friendszd2forzd2eachz00zz__ssrz00(obj_t BgL_fz00_67,
		obj_t BgL_graphz00_68, obj_t BgL_xz00_69)
	{
		{	/* Unsafe/ssr.scm 267 */
			{	/* Unsafe/ssr.scm 268 */
				obj_t BgL_friendsz00_2662;

				{	/* Unsafe/ssr.scm 268 */
					obj_t BgL__ortest_1108z00_2664;

					{	/* Unsafe/ssr.scm 268 */
						obj_t BgL_arg1432z00_2665;

						BgL_arg1432z00_2665 = VECTOR_REF(((obj_t) BgL_graphz00_68), 4L);
						BgL__ortest_1108z00_2664 =
							BGl_hashtablezd2getzd2zz__hashz00(BgL_arg1432z00_2665,
							BgL_xz00_69);
					}
					if (CBOOL(BgL__ortest_1108z00_2664))
						{	/* Unsafe/ssr.scm 268 */
							BgL_friendsz00_2662 = BgL__ortest_1108z00_2664;
						}
					else
						{	/* Unsafe/ssr.scm 268 */
							BgL_friendsz00_2662 = BFALSE;
						}
				}
				if (CBOOL(BgL_friendsz00_2662))
					{	/* Unsafe/ssr.scm 164 */
						obj_t BgL_zc3z04anonymousza31372ze3z87_3462;

						BgL_zc3z04anonymousza31372ze3z87_3462 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31372ze31991ze5zz__ssrz00, (int) (2L),
							(int) (1L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31372ze3z87_3462, (int) (0L),
							BgL_fz00_67);
						return BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_friendsz00_2662,
							BgL_zc3z04anonymousza31372ze3z87_3462);
					}
				else
					{	/* Unsafe/ssr.scm 269 */
						return BFALSE;
					}
			}
		}

	}



/* &<@anonymous:1372>1991 */
	obj_t BGl_z62zc3z04anonymousza31372ze31991ze5zz__ssrz00(obj_t BgL_envz00_3463,
		obj_t BgL_kz00_3465, obj_t BgL__z00_3466)
	{
		{	/* Unsafe/ssr.scm 164 */
			{	/* Unsafe/ssr.scm 164 */
				obj_t BgL_fz00_3464;

				BgL_fz00_3464 = ((obj_t) PROCEDURE_REF(BgL_envz00_3463, (int) (0L)));
				return
					((obj_t(*)(obj_t,
							obj_t)) PROCEDURE_L_ENTRY(BgL_fz00_3464)) (BgL_fz00_3464,
					BgL_kz00_3465);
			}
		}

	}



/* friend? */
	obj_t BGl_friendzf3zf3zz__ssrz00(obj_t BgL_graphz00_86, long BgL_xz00_87,
		long BgL_fz00_88)
	{
		{	/* Unsafe/ssr.scm 288 */
			{	/* Unsafe/ssr.scm 289 */
				obj_t BgL_friendsz00_2709;

				{	/* Unsafe/ssr.scm 289 */
					obj_t BgL__ortest_1116z00_2711;

					BgL__ortest_1116z00_2711 =
						BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_86, 4L),
						BINT(BgL_xz00_87));
					if (CBOOL(BgL__ortest_1116z00_2711))
						{	/* Unsafe/ssr.scm 289 */
							BgL_friendsz00_2709 = BgL__ortest_1116z00_2711;
						}
					else
						{	/* Unsafe/ssr.scm 289 */
							BgL_friendsz00_2709 = BFALSE;
						}
				}
				if (CBOOL(BgL_friendsz00_2709))
					{	/* Unsafe/ssr.scm 161 */
						obj_t BgL__ortest_1077z00_2715;

						BgL__ortest_1077z00_2715 =
							BGl_hashtablezd2getzd2zz__hashz00(BgL_friendsz00_2709,
							BINT(BgL_fz00_88));
						if (CBOOL(BgL__ortest_1077z00_2715))
							{	/* Unsafe/ssr.scm 161 */
								return BgL__ortest_1077z00_2715;
							}
						else
							{	/* Unsafe/ssr.scm 161 */
								return BFALSE;
							}
					}
				else
					{	/* Unsafe/ssr.scm 290 */
						return BFALSE;
					}
			}
		}

	}



/* _ssr-add-edge! */
	obj_t BGl__ssrzd2addzd2edgez12z12zz__ssrz00(obj_t BgL_env1252z00_94,
		obj_t BgL_opt1251z00_93)
	{
		{	/* Unsafe/ssr.scm 292 */
			{	/* Unsafe/ssr.scm 292 */
				long BgL_l1253z00_1560;

				{	/* Unsafe/ssr.scm 292 */
					obj_t BgL_vectorz00_2716;

					if (VECTORP(BgL_opt1251z00_93))
						{	/* Unsafe/ssr.scm 292 */
							BgL_vectorz00_2716 = BgL_opt1251z00_93;
						}
					else
						{
							obj_t BgL_auxz00_4045;

							BgL_auxz00_4045 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
								BINT(10751L), BGl_string2092z00zz__ssrz00,
								BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
							FAILURE(BgL_auxz00_4045, BFALSE, BFALSE);
						}
					BgL_l1253z00_1560 = VECTOR_LENGTH(BgL_vectorz00_2716);
				}
				{	/* Unsafe/ssr.scm 292 */
					obj_t BgL_graphz00_1564;
					obj_t BgL_fromz00_1565;
					obj_t BgL_toz00_1566;

					{
						obj_t BgL_auxz00_4050;

						if (VECTORP(BgL_opt1251z00_93))
							{	/* Unsafe/ssr.scm 292 */
								BgL_auxz00_4050 = BgL_opt1251z00_93;
							}
						else
							{
								obj_t BgL_auxz00_4053;

								BgL_auxz00_4053 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(10751L), BGl_string2092z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
								FAILURE(BgL_auxz00_4053, BFALSE, BFALSE);
							}
						BgL_graphz00_1564 = VECTOR_REF(BgL_auxz00_4050, 0L);
					}
					{
						obj_t BgL_auxz00_4058;

						if (VECTORP(BgL_opt1251z00_93))
							{	/* Unsafe/ssr.scm 292 */
								BgL_auxz00_4058 = BgL_opt1251z00_93;
							}
						else
							{
								obj_t BgL_auxz00_4061;

								BgL_auxz00_4061 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(10751L), BGl_string2092z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
								FAILURE(BgL_auxz00_4061, BFALSE, BFALSE);
							}
						BgL_fromz00_1565 = VECTOR_REF(BgL_auxz00_4058, 1L);
					}
					{
						obj_t BgL_auxz00_4066;

						if (VECTORP(BgL_opt1251z00_93))
							{	/* Unsafe/ssr.scm 292 */
								BgL_auxz00_4066 = BgL_opt1251z00_93;
							}
						else
							{
								obj_t BgL_auxz00_4069;

								BgL_auxz00_4069 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(10751L), BGl_string2092z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
								FAILURE(BgL_auxz00_4069, BFALSE, BFALSE);
							}
						BgL_toz00_1566 = VECTOR_REF(BgL_auxz00_4066, 2L);
					}
					{	/* Unsafe/ssr.scm 292 */
						obj_t BgL_onconnectz00_1567;

						BgL_onconnectz00_1567 = BFALSE;
						{	/* Unsafe/ssr.scm 292 */

							{
								long BgL_iz00_1568;

								BgL_iz00_1568 = 3L;
							BgL_check1255z00_1569:
								if ((BgL_iz00_1568 == BgL_l1253z00_1560))
									{	/* Unsafe/ssr.scm 292 */
										BNIL;
									}
								else
									{	/* Unsafe/ssr.scm 292 */
										bool_t BgL_test2209z00_4076;

										{	/* Unsafe/ssr.scm 292 */
											obj_t BgL_arg1446z00_1575;

											BgL_arg1446z00_1575 =
												VECTOR_REF(((obj_t) BgL_opt1251z00_93), BgL_iz00_1568);
											BgL_test2209z00_4076 =
												CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
												(BgL_arg1446z00_1575, BGl_list2093z00zz__ssrz00));
										}
										if (BgL_test2209z00_4076)
											{
												long BgL_iz00_4081;

												BgL_iz00_4081 = (BgL_iz00_1568 + 2L);
												BgL_iz00_1568 = BgL_iz00_4081;
												goto BgL_check1255z00_1569;
											}
										else
											{	/* Unsafe/ssr.scm 292 */
												obj_t BgL_arg1445z00_1574;

												BgL_arg1445z00_1574 =
													VECTOR_REF(
													((obj_t) BgL_opt1251z00_93), BgL_iz00_1568);
												BGl_errorz00zz__errorz00(BGl_symbol2096z00zz__ssrz00,
													BGl_string2086z00zz__ssrz00, BgL_arg1445z00_1574);
											}
									}
							}
							{	/* Unsafe/ssr.scm 292 */
								obj_t BgL_index1257z00_1576;

								{
									long BgL_iz00_2732;

									BgL_iz00_2732 = 3L;
								BgL_search1254z00_2731:
									if ((BgL_iz00_2732 == BgL_l1253z00_1560))
										{	/* Unsafe/ssr.scm 292 */
											BgL_index1257z00_1576 = BINT((-1L));
										}
									else
										{	/* Unsafe/ssr.scm 292 */
											if ((BgL_iz00_2732 == (BgL_l1253z00_1560 - 1L)))
												{	/* Unsafe/ssr.scm 292 */
													BgL_index1257z00_1576 =
														BGl_errorz00zz__errorz00
														(BGl_symbol2096z00zz__ssrz00,
														BGl_string2098z00zz__ssrz00,
														BINT(VECTOR_LENGTH(BgL_opt1251z00_93)));
												}
											else
												{	/* Unsafe/ssr.scm 292 */
													obj_t BgL_vz00_2742;

													BgL_vz00_2742 =
														VECTOR_REF(BgL_opt1251z00_93, BgL_iz00_2732);
													if ((BgL_vz00_2742 == BGl_keyword2094z00zz__ssrz00))
														{	/* Unsafe/ssr.scm 292 */
															BgL_index1257z00_1576 =
																BINT((BgL_iz00_2732 + 1L));
														}
													else
														{
															long BgL_iz00_4100;

															BgL_iz00_4100 = (BgL_iz00_2732 + 2L);
															BgL_iz00_2732 = BgL_iz00_4100;
															goto BgL_search1254z00_2731;
														}
												}
										}
								}
								{	/* Unsafe/ssr.scm 292 */
									bool_t BgL_test2213z00_4102;

									{	/* Unsafe/ssr.scm 292 */
										long BgL_n1z00_2746;

										{	/* Unsafe/ssr.scm 292 */
											obj_t BgL_tmpz00_4103;

											if (INTEGERP(BgL_index1257z00_1576))
												{	/* Unsafe/ssr.scm 292 */
													BgL_tmpz00_4103 = BgL_index1257z00_1576;
												}
											else
												{
													obj_t BgL_auxz00_4106;

													BgL_auxz00_4106 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(10751L),
														BGl_string2092z00zz__ssrz00,
														BGl_string2088z00zz__ssrz00, BgL_index1257z00_1576);
													FAILURE(BgL_auxz00_4106, BFALSE, BFALSE);
												}
											BgL_n1z00_2746 = (long) CINT(BgL_tmpz00_4103);
										}
										BgL_test2213z00_4102 = (BgL_n1z00_2746 >= 0L);
									}
									if (BgL_test2213z00_4102)
										{
											long BgL_auxz00_4119;
											obj_t BgL_auxz00_4112;

											{	/* Unsafe/ssr.scm 292 */
												obj_t BgL_tmpz00_4120;

												if (INTEGERP(BgL_index1257z00_1576))
													{	/* Unsafe/ssr.scm 292 */
														BgL_tmpz00_4120 = BgL_index1257z00_1576;
													}
												else
													{
														obj_t BgL_auxz00_4123;

														BgL_auxz00_4123 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(10751L),
															BGl_string2092z00zz__ssrz00,
															BGl_string2088z00zz__ssrz00,
															BgL_index1257z00_1576);
														FAILURE(BgL_auxz00_4123, BFALSE, BFALSE);
													}
												BgL_auxz00_4119 = (long) CINT(BgL_tmpz00_4120);
											}
											if (VECTORP(BgL_opt1251z00_93))
												{	/* Unsafe/ssr.scm 292 */
													BgL_auxz00_4112 = BgL_opt1251z00_93;
												}
											else
												{
													obj_t BgL_auxz00_4115;

													BgL_auxz00_4115 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(10751L),
														BGl_string2092z00zz__ssrz00,
														BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
													FAILURE(BgL_auxz00_4115, BFALSE, BFALSE);
												}
											BgL_onconnectz00_1567 =
												VECTOR_REF(BgL_auxz00_4112, BgL_auxz00_4119);
										}
									else
										{	/* Unsafe/ssr.scm 292 */
											BFALSE;
										}
								}
							}
							{	/* Unsafe/ssr.scm 292 */
								obj_t BgL_arg1448z00_1578;
								obj_t BgL_arg1450z00_1579;
								obj_t BgL_arg1451z00_1580;

								{
									obj_t BgL_auxz00_4129;

									if (VECTORP(BgL_opt1251z00_93))
										{	/* Unsafe/ssr.scm 292 */
											BgL_auxz00_4129 = BgL_opt1251z00_93;
										}
									else
										{
											obj_t BgL_auxz00_4132;

											BgL_auxz00_4132 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string2078z00zz__ssrz00, BINT(10751L),
												BGl_string2092z00zz__ssrz00,
												BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
											FAILURE(BgL_auxz00_4132, BFALSE, BFALSE);
										}
									BgL_arg1448z00_1578 = VECTOR_REF(BgL_auxz00_4129, 0L);
								}
								{
									obj_t BgL_auxz00_4137;

									if (VECTORP(BgL_opt1251z00_93))
										{	/* Unsafe/ssr.scm 292 */
											BgL_auxz00_4137 = BgL_opt1251z00_93;
										}
									else
										{
											obj_t BgL_auxz00_4140;

											BgL_auxz00_4140 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string2078z00zz__ssrz00, BINT(10751L),
												BGl_string2092z00zz__ssrz00,
												BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
											FAILURE(BgL_auxz00_4140, BFALSE, BFALSE);
										}
									BgL_arg1450z00_1579 = VECTOR_REF(BgL_auxz00_4137, 1L);
								}
								{
									obj_t BgL_auxz00_4145;

									if (VECTORP(BgL_opt1251z00_93))
										{	/* Unsafe/ssr.scm 292 */
											BgL_auxz00_4145 = BgL_opt1251z00_93;
										}
									else
										{
											obj_t BgL_auxz00_4148;

											BgL_auxz00_4148 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string2078z00zz__ssrz00, BINT(10751L),
												BGl_string2092z00zz__ssrz00,
												BGl_string2080z00zz__ssrz00, BgL_opt1251z00_93);
											FAILURE(BgL_auxz00_4148, BFALSE, BFALSE);
										}
									BgL_arg1451z00_1580 = VECTOR_REF(BgL_auxz00_4145, 2L);
								}
								{	/* Unsafe/ssr.scm 292 */
									obj_t BgL_onconnectz00_1581;

									BgL_onconnectz00_1581 = BgL_onconnectz00_1567;
									{	/* Unsafe/ssr.scm 292 */
										long BgL_auxz00_4169;
										long BgL_auxz00_4160;
										obj_t BgL_auxz00_4153;

										{	/* Unsafe/ssr.scm 292 */
											obj_t BgL_tmpz00_4170;

											if (INTEGERP(BgL_arg1451z00_1580))
												{	/* Unsafe/ssr.scm 292 */
													BgL_tmpz00_4170 = BgL_arg1451z00_1580;
												}
											else
												{
													obj_t BgL_auxz00_4173;

													BgL_auxz00_4173 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(10751L),
														BGl_string2092z00zz__ssrz00,
														BGl_string2088z00zz__ssrz00, BgL_arg1451z00_1580);
													FAILURE(BgL_auxz00_4173, BFALSE, BFALSE);
												}
											BgL_auxz00_4169 = (long) CINT(BgL_tmpz00_4170);
										}
										{	/* Unsafe/ssr.scm 292 */
											obj_t BgL_tmpz00_4161;

											if (INTEGERP(BgL_arg1450z00_1579))
												{	/* Unsafe/ssr.scm 292 */
													BgL_tmpz00_4161 = BgL_arg1450z00_1579;
												}
											else
												{
													obj_t BgL_auxz00_4164;

													BgL_auxz00_4164 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(10751L),
														BGl_string2092z00zz__ssrz00,
														BGl_string2088z00zz__ssrz00, BgL_arg1450z00_1579);
													FAILURE(BgL_auxz00_4164, BFALSE, BFALSE);
												}
											BgL_auxz00_4160 = (long) CINT(BgL_tmpz00_4161);
										}
										if (VECTORP(BgL_arg1448z00_1578))
											{	/* Unsafe/ssr.scm 292 */
												BgL_auxz00_4153 = BgL_arg1448z00_1578;
											}
										else
											{
												obj_t BgL_auxz00_4156;

												BgL_auxz00_4156 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string2078z00zz__ssrz00, BINT(10751L),
													BGl_string2092z00zz__ssrz00,
													BGl_string2080z00zz__ssrz00, BgL_arg1448z00_1578);
												FAILURE(BgL_auxz00_4156, BFALSE, BFALSE);
											}
										return
											BGl_ssrzd2addzd2edgez12z12zz__ssrz00(BgL_auxz00_4153,
											BgL_auxz00_4160, BgL_auxz00_4169, BgL_onconnectz00_1581);
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* ssr-add-edge! */
	BGL_EXPORTED_DEF obj_t BGl_ssrzd2addzd2edgez12z12zz__ssrz00(obj_t
		BgL_graphz00_89, long BgL_fromz00_90, long BgL_toz00_91,
		obj_t BgL_onconnectz00_92)
	{
		{	/* Unsafe/ssr.scm 292 */
			{	/* Unsafe/ssr.scm 293 */
				obj_t BgL_queuez00_1589;

				BgL_queuez00_1589 = MAKE_YOUNG_PAIR(BNIL, BNIL);
				{	/* Unsafe/ssr.scm 307 */
					bool_t BgL_test2223z00_4180;

					{	/* Unsafe/ssr.scm 262 */
						bool_t BgL__ortest_1104z00_2772;

						BgL__ortest_1104z00_2772 =
							(BINT(BgL_fromz00_90) ==
							BGl_getzd2parentzd2zz__ssrz00(BgL_graphz00_89, BgL_toz00_91));
						if (BgL__ortest_1104z00_2772)
							{	/* Unsafe/ssr.scm 262 */
								BgL_test2223z00_4180 = BgL__ortest_1104z00_2772;
							}
						else
							{	/* Unsafe/ssr.scm 262 */
								BgL_test2223z00_4180 =
									CBOOL(BGl_friendzf3zf3zz__ssrz00(BgL_graphz00_89,
										BgL_fromz00_90, BgL_toz00_91));
							}
					}
					if (BgL_test2223z00_4180)
						{	/* Unsafe/ssr.scm 307 */
							return BFALSE;
						}
					else
						{	/* Unsafe/ssr.scm 307 */
							BGl_hashtablezd2putz12zc0zz__hashz00
								(BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00(VECTOR_REF
									(BgL_graphz00_89, 4L), BINT(BgL_fromz00_90)),
								BINT(BgL_toz00_91), BTRUE);
							BGl_hashtablezd2putz12zc0zz__hashz00
								(BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00(VECTOR_REF
									(BgL_graphz00_89, 5L), BINT(BgL_toz00_91)),
								BINT(BgL_fromz00_90), BTRUE);
							BGl_hoistze70ze7zz__ssrz00(BgL_queuez00_1589, BgL_onconnectz00_92,
								BgL_graphz00_89, BINT(BgL_fromz00_90), BINT(BgL_toz00_91));
							{

								{	/* Unsafe/ssr.scm 310 */
									bool_t BgL_tmpz00_4200;

								BgL_zc3z04anonymousza31459ze3z87_1593:
									if (NULLP(CAR(BgL_queuez00_1589)))
										{	/* Unsafe/ssr.scm 310 */
											BgL_tmpz00_4200 = ((bool_t) 0);
										}
									else
										{	/* Unsafe/ssr.scm 310 */
											{	/* Unsafe/ssr.scm 311 */
												obj_t BgL_hz00_1595;

												BgL_hz00_1595 =
													BGl_queuezd2getz12zc0zz__ssrz00(BgL_queuez00_1589);
												{	/* Unsafe/ssr.scm 311 */
													obj_t BgL_nz00_1596;

													BgL_nz00_1596 =
														BGl_queuezd2getz12zc0zz__ssrz00(BgL_queuez00_1589);
													{	/* Unsafe/ssr.scm 312 */

														BGl_hoistze70ze7zz__ssrz00(BgL_queuez00_1589,
															BgL_onconnectz00_92, BgL_graphz00_89,
															BgL_hz00_1595, BgL_nz00_1596);
													}
												}
											}
											goto BgL_zc3z04anonymousza31459ze3z87_1593;
										}
									return BBOOL(BgL_tmpz00_4200);
								}
							}
						}
				}
			}
		}

	}



/* hoist~0 */
	obj_t BGl_hoistze70ze7zz__ssrz00(obj_t BgL_queuez00_3523,
		obj_t BgL_onconnectz00_3522, obj_t BgL_graphz00_3521,
		obj_t BgL_hoisterz00_1598, obj_t BgL_nodez00_1599)
	{
		{	/* Unsafe/ssr.scm 305 */
			{	/* Unsafe/ssr.scm 296 */
				bool_t BgL_test2226z00_4208;

				if (BGl_cleanzd2edgezf3z21zz__ssrz00(BgL_graphz00_3521,
						BgL_hoisterz00_1598, BgL_nodez00_1599))
					{	/* Unsafe/ssr.scm 260 */
						BgL_test2226z00_4208 = ((bool_t) 0);
					}
				else
					{	/* Unsafe/ssr.scm 260 */
						BgL_test2226z00_4208 = ((bool_t) 1);
					}
				if (BgL_test2226z00_4208)
					{	/* Unsafe/ssr.scm 296 */
						BGl_setzd2parentz12zc0zz__ssrz00(BgL_graphz00_3521,
							BgL_nodez00_1599, BgL_hoisterz00_1598);
						{	/* Unsafe/ssr.scm 298 */
							bool_t BgL_test2228z00_4212;

							if (CBOOL(BgL_onconnectz00_3522))
								{	/* Unsafe/ssr.scm 298 */
									obj_t BgL_a1200z00_1605;

									{	/* Unsafe/ssr.scm 214 */
										obj_t BgL__ortest_1095z00_2749;

										BgL__ortest_1095z00_2749 =
											BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
											(BgL_graphz00_3521, 1L), BgL_nodez00_1599);
										if (CBOOL(BgL__ortest_1095z00_2749))
											{	/* Unsafe/ssr.scm 214 */
												BgL_a1200z00_1605 = BgL__ortest_1095z00_2749;
											}
										else
											{	/* Unsafe/ssr.scm 214 */
												BgL_a1200z00_1605 =
													BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
											}
									}
									BgL_test2228z00_4212 =
										BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_a1200z00_1605,
										BGL_REAL_CNST(BGl_real2089z00zz__ssrz00));
								}
							else
								{	/* Unsafe/ssr.scm 298 */
									BgL_test2228z00_4212 = ((bool_t) 0);
								}
							if (BgL_test2228z00_4212)
								{	/* Unsafe/ssr.scm 298 */
									BGL_PROCEDURE_CALL1(BgL_onconnectz00_3522, BgL_nodez00_1599);
								}
							else
								{	/* Unsafe/ssr.scm 298 */
									BFALSE;
								}
						}
						BGl_updatezd2rankz12zc0zz__ssrz00(BgL_graphz00_3521,
							BgL_nodez00_1599);
						{	/* Unsafe/ssr.scm 302 */
							obj_t BgL_zc3z04anonymousza31466ze3z87_3467;

							{
								int BgL_tmpz00_4225;

								BgL_tmpz00_4225 = (int) (2L);
								BgL_zc3z04anonymousza31466ze3z87_3467 =
									MAKE_L_PROCEDURE
									(BGl_z62zc3z04anonymousza31466ze3ze5zz__ssrz00,
									BgL_tmpz00_4225);
							}
							PROCEDURE_L_SET(BgL_zc3z04anonymousza31466ze3z87_3467,
								(int) (0L), BgL_nodez00_1599);
							PROCEDURE_L_SET(BgL_zc3z04anonymousza31466ze3z87_3467,
								(int) (1L), BgL_queuez00_3523);
							BGl_friendszd2forzd2eachz00zz__ssrz00
								(BgL_zc3z04anonymousza31466ze3z87_3467, BgL_graphz00_3521,
								BgL_nodez00_1599);
							return
								BGl_childrenzd2forzd2eachz00zz__ssrz00
								(BgL_zc3z04anonymousza31466ze3z87_3467, BgL_graphz00_3521,
								BgL_nodez00_1599);
						}
					}
				else
					{	/* Unsafe/ssr.scm 296 */
						return BFALSE;
					}
			}
		}

	}



/* &<@anonymous:1466> */
	obj_t BGl_z62zc3z04anonymousza31466ze3ze5zz__ssrz00(obj_t BgL_envz00_3468,
		obj_t BgL_nz00_3471)
	{
		{	/* Unsafe/ssr.scm 301 */
			{	/* Unsafe/ssr.scm 302 */
				obj_t BgL_nodez00_3469;
				obj_t BgL_queuez00_3470;

				BgL_nodez00_3469 = PROCEDURE_L_REF(BgL_envz00_3468, (int) (0L));
				BgL_queuez00_3470 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_3468, (int) (1L)));
				{	/* Unsafe/ssr.scm 150 */
					obj_t BgL_entryz00_3616;

					BgL_entryz00_3616 = MAKE_YOUNG_PAIR(BgL_nodez00_3469, BNIL);
					if (NULLP(CAR(BgL_queuez00_3470)))
						{	/* Unsafe/ssr.scm 151 */
							SET_CAR(BgL_queuez00_3470, BgL_entryz00_3616);
						}
					else
						{	/* Unsafe/ssr.scm 153 */
							obj_t BgL_arg1369z00_3617;

							BgL_arg1369z00_3617 = CDR(BgL_queuez00_3470);
							{	/* Unsafe/ssr.scm 153 */
								obj_t BgL_tmpz00_4245;

								BgL_tmpz00_4245 = ((obj_t) BgL_arg1369z00_3617);
								SET_CDR(BgL_tmpz00_4245, BgL_entryz00_3616);
							}
						}
					SET_CDR(BgL_queuez00_3470, BgL_entryz00_3616);
					BgL_nodez00_3469;
				}
				{	/* Unsafe/ssr.scm 150 */
					obj_t BgL_entryz00_3618;

					BgL_entryz00_3618 = MAKE_YOUNG_PAIR(BgL_nz00_3471, BNIL);
					if (NULLP(CAR(BgL_queuez00_3470)))
						{	/* Unsafe/ssr.scm 151 */
							SET_CAR(BgL_queuez00_3470, BgL_entryz00_3618);
						}
					else
						{	/* Unsafe/ssr.scm 153 */
							obj_t BgL_arg1369z00_3619;

							BgL_arg1369z00_3619 = CDR(BgL_queuez00_3470);
							{	/* Unsafe/ssr.scm 153 */
								obj_t BgL_tmpz00_4255;

								BgL_tmpz00_4255 = ((obj_t) BgL_arg1369z00_3619);
								SET_CDR(BgL_tmpz00_4255, BgL_entryz00_3618);
							}
						}
					SET_CDR(BgL_queuez00_3470, BgL_entryz00_3618);
					return BgL_nz00_3471;
				}
			}
		}

	}



/* _ssr-remove-edge! */
	obj_t BGl__ssrzd2removezd2edgez12z12zz__ssrz00(obj_t BgL_env1259z00_100,
		obj_t BgL_opt1258z00_99)
	{
		{	/* Unsafe/ssr.scm 315 */
			{	/* Unsafe/ssr.scm 315 */
				long BgL_l1260z00_1612;

				{	/* Unsafe/ssr.scm 315 */
					obj_t BgL_vectorz00_2782;

					if (VECTORP(BgL_opt1258z00_99))
						{	/* Unsafe/ssr.scm 315 */
							BgL_vectorz00_2782 = BgL_opt1258z00_99;
						}
					else
						{
							obj_t BgL_auxz00_4261;

							BgL_auxz00_4261 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
								BINT(11438L), BGl_string2099z00zz__ssrz00,
								BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
							FAILURE(BgL_auxz00_4261, BFALSE, BFALSE);
						}
					BgL_l1260z00_1612 = VECTOR_LENGTH(BgL_vectorz00_2782);
				}
				{	/* Unsafe/ssr.scm 315 */
					obj_t BgL_graphz00_1616;
					obj_t BgL_fromz00_1617;
					obj_t BgL_toz00_1618;

					{
						obj_t BgL_auxz00_4266;

						if (VECTORP(BgL_opt1258z00_99))
							{	/* Unsafe/ssr.scm 315 */
								BgL_auxz00_4266 = BgL_opt1258z00_99;
							}
						else
							{
								obj_t BgL_auxz00_4269;

								BgL_auxz00_4269 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(11438L), BGl_string2099z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
								FAILURE(BgL_auxz00_4269, BFALSE, BFALSE);
							}
						BgL_graphz00_1616 = VECTOR_REF(BgL_auxz00_4266, 0L);
					}
					{
						obj_t BgL_auxz00_4274;

						if (VECTORP(BgL_opt1258z00_99))
							{	/* Unsafe/ssr.scm 315 */
								BgL_auxz00_4274 = BgL_opt1258z00_99;
							}
						else
							{
								obj_t BgL_auxz00_4277;

								BgL_auxz00_4277 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(11438L), BGl_string2099z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
								FAILURE(BgL_auxz00_4277, BFALSE, BFALSE);
							}
						BgL_fromz00_1617 = VECTOR_REF(BgL_auxz00_4274, 1L);
					}
					{
						obj_t BgL_auxz00_4282;

						if (VECTORP(BgL_opt1258z00_99))
							{	/* Unsafe/ssr.scm 315 */
								BgL_auxz00_4282 = BgL_opt1258z00_99;
							}
						else
							{
								obj_t BgL_auxz00_4285;

								BgL_auxz00_4285 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(11438L), BGl_string2099z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
								FAILURE(BgL_auxz00_4285, BFALSE, BFALSE);
							}
						BgL_toz00_1618 = VECTOR_REF(BgL_auxz00_4282, 2L);
					}
					{	/* Unsafe/ssr.scm 315 */
						obj_t BgL_ondisconnectz00_1619;

						BgL_ondisconnectz00_1619 = BFALSE;
						{	/* Unsafe/ssr.scm 315 */

							{
								long BgL_iz00_1620;

								BgL_iz00_1620 = 3L;
							BgL_check1262z00_1621:
								if ((BgL_iz00_1620 == BgL_l1260z00_1612))
									{	/* Unsafe/ssr.scm 315 */
										BNIL;
									}
								else
									{	/* Unsafe/ssr.scm 315 */
										bool_t BgL_test2238z00_4292;

										{	/* Unsafe/ssr.scm 315 */
											obj_t BgL_arg1472z00_1627;

											BgL_arg1472z00_1627 =
												VECTOR_REF(((obj_t) BgL_opt1258z00_99), BgL_iz00_1620);
											BgL_test2238z00_4292 =
												CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
												(BgL_arg1472z00_1627, BGl_list2100z00zz__ssrz00));
										}
										if (BgL_test2238z00_4292)
											{
												long BgL_iz00_4297;

												BgL_iz00_4297 = (BgL_iz00_1620 + 2L);
												BgL_iz00_1620 = BgL_iz00_4297;
												goto BgL_check1262z00_1621;
											}
										else
											{	/* Unsafe/ssr.scm 315 */
												obj_t BgL_arg1471z00_1626;

												BgL_arg1471z00_1626 =
													VECTOR_REF(
													((obj_t) BgL_opt1258z00_99), BgL_iz00_1620);
												BGl_errorz00zz__errorz00(BGl_symbol2103z00zz__ssrz00,
													BGl_string2086z00zz__ssrz00, BgL_arg1471z00_1626);
											}
									}
							}
							{	/* Unsafe/ssr.scm 315 */
								obj_t BgL_index1264z00_1628;

								{
									long BgL_iz00_2798;

									BgL_iz00_2798 = 3L;
								BgL_search1261z00_2797:
									if ((BgL_iz00_2798 == BgL_l1260z00_1612))
										{	/* Unsafe/ssr.scm 315 */
											BgL_index1264z00_1628 = BINT((-1L));
										}
									else
										{	/* Unsafe/ssr.scm 315 */
											if ((BgL_iz00_2798 == (BgL_l1260z00_1612 - 1L)))
												{	/* Unsafe/ssr.scm 315 */
													BgL_index1264z00_1628 =
														BGl_errorz00zz__errorz00
														(BGl_symbol2103z00zz__ssrz00,
														BGl_string2098z00zz__ssrz00,
														BINT(VECTOR_LENGTH(BgL_opt1258z00_99)));
												}
											else
												{	/* Unsafe/ssr.scm 315 */
													obj_t BgL_vz00_2808;

													BgL_vz00_2808 =
														VECTOR_REF(BgL_opt1258z00_99, BgL_iz00_2798);
													if ((BgL_vz00_2808 == BGl_keyword2101z00zz__ssrz00))
														{	/* Unsafe/ssr.scm 315 */
															BgL_index1264z00_1628 =
																BINT((BgL_iz00_2798 + 1L));
														}
													else
														{
															long BgL_iz00_4316;

															BgL_iz00_4316 = (BgL_iz00_2798 + 2L);
															BgL_iz00_2798 = BgL_iz00_4316;
															goto BgL_search1261z00_2797;
														}
												}
										}
								}
								{	/* Unsafe/ssr.scm 315 */
									bool_t BgL_test2242z00_4318;

									{	/* Unsafe/ssr.scm 315 */
										long BgL_n1z00_2812;

										{	/* Unsafe/ssr.scm 315 */
											obj_t BgL_tmpz00_4319;

											if (INTEGERP(BgL_index1264z00_1628))
												{	/* Unsafe/ssr.scm 315 */
													BgL_tmpz00_4319 = BgL_index1264z00_1628;
												}
											else
												{
													obj_t BgL_auxz00_4322;

													BgL_auxz00_4322 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(11438L),
														BGl_string2099z00zz__ssrz00,
														BGl_string2088z00zz__ssrz00, BgL_index1264z00_1628);
													FAILURE(BgL_auxz00_4322, BFALSE, BFALSE);
												}
											BgL_n1z00_2812 = (long) CINT(BgL_tmpz00_4319);
										}
										BgL_test2242z00_4318 = (BgL_n1z00_2812 >= 0L);
									}
									if (BgL_test2242z00_4318)
										{
											long BgL_auxz00_4335;
											obj_t BgL_auxz00_4328;

											{	/* Unsafe/ssr.scm 315 */
												obj_t BgL_tmpz00_4336;

												if (INTEGERP(BgL_index1264z00_1628))
													{	/* Unsafe/ssr.scm 315 */
														BgL_tmpz00_4336 = BgL_index1264z00_1628;
													}
												else
													{
														obj_t BgL_auxz00_4339;

														BgL_auxz00_4339 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(11438L),
															BGl_string2099z00zz__ssrz00,
															BGl_string2088z00zz__ssrz00,
															BgL_index1264z00_1628);
														FAILURE(BgL_auxz00_4339, BFALSE, BFALSE);
													}
												BgL_auxz00_4335 = (long) CINT(BgL_tmpz00_4336);
											}
											if (VECTORP(BgL_opt1258z00_99))
												{	/* Unsafe/ssr.scm 315 */
													BgL_auxz00_4328 = BgL_opt1258z00_99;
												}
											else
												{
													obj_t BgL_auxz00_4331;

													BgL_auxz00_4331 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(11438L),
														BGl_string2099z00zz__ssrz00,
														BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
													FAILURE(BgL_auxz00_4331, BFALSE, BFALSE);
												}
											BgL_ondisconnectz00_1619 =
												VECTOR_REF(BgL_auxz00_4328, BgL_auxz00_4335);
										}
									else
										{	/* Unsafe/ssr.scm 315 */
											BFALSE;
										}
								}
							}
							{	/* Unsafe/ssr.scm 315 */
								obj_t BgL_arg1474z00_1630;
								obj_t BgL_arg1475z00_1631;
								obj_t BgL_arg1476z00_1632;

								{
									obj_t BgL_auxz00_4345;

									if (VECTORP(BgL_opt1258z00_99))
										{	/* Unsafe/ssr.scm 315 */
											BgL_auxz00_4345 = BgL_opt1258z00_99;
										}
									else
										{
											obj_t BgL_auxz00_4348;

											BgL_auxz00_4348 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string2078z00zz__ssrz00, BINT(11438L),
												BGl_string2099z00zz__ssrz00,
												BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
											FAILURE(BgL_auxz00_4348, BFALSE, BFALSE);
										}
									BgL_arg1474z00_1630 = VECTOR_REF(BgL_auxz00_4345, 0L);
								}
								{
									obj_t BgL_auxz00_4353;

									if (VECTORP(BgL_opt1258z00_99))
										{	/* Unsafe/ssr.scm 315 */
											BgL_auxz00_4353 = BgL_opt1258z00_99;
										}
									else
										{
											obj_t BgL_auxz00_4356;

											BgL_auxz00_4356 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string2078z00zz__ssrz00, BINT(11438L),
												BGl_string2099z00zz__ssrz00,
												BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
											FAILURE(BgL_auxz00_4356, BFALSE, BFALSE);
										}
									BgL_arg1475z00_1631 = VECTOR_REF(BgL_auxz00_4353, 1L);
								}
								{
									obj_t BgL_auxz00_4361;

									if (VECTORP(BgL_opt1258z00_99))
										{	/* Unsafe/ssr.scm 315 */
											BgL_auxz00_4361 = BgL_opt1258z00_99;
										}
									else
										{
											obj_t BgL_auxz00_4364;

											BgL_auxz00_4364 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string2078z00zz__ssrz00, BINT(11438L),
												BGl_string2099z00zz__ssrz00,
												BGl_string2080z00zz__ssrz00, BgL_opt1258z00_99);
											FAILURE(BgL_auxz00_4364, BFALSE, BFALSE);
										}
									BgL_arg1476z00_1632 = VECTOR_REF(BgL_auxz00_4361, 2L);
								}
								{	/* Unsafe/ssr.scm 315 */
									obj_t BgL_ondisconnectz00_1633;

									BgL_ondisconnectz00_1633 = BgL_ondisconnectz00_1619;
									{	/* Unsafe/ssr.scm 315 */
										obj_t BgL_graphz00_2813;
										obj_t BgL_fromz00_2814;
										long BgL_toz00_2815;

										if (VECTORP(BgL_arg1474z00_1630))
											{	/* Unsafe/ssr.scm 315 */
												BgL_graphz00_2813 = BgL_arg1474z00_1630;
											}
										else
											{
												obj_t BgL_auxz00_4371;

												BgL_auxz00_4371 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string2078z00zz__ssrz00, BINT(11438L),
													BGl_string2099z00zz__ssrz00,
													BGl_string2080z00zz__ssrz00, BgL_arg1474z00_1630);
												FAILURE(BgL_auxz00_4371, BFALSE, BFALSE);
											}
										if (INTEGERP(BgL_arg1475z00_1631))
											{	/* Unsafe/ssr.scm 315 */
												BgL_fromz00_2814 = BgL_arg1475z00_1631;
											}
										else
											{
												obj_t BgL_auxz00_4377;

												BgL_auxz00_4377 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string2078z00zz__ssrz00, BINT(11438L),
													BGl_string2099z00zz__ssrz00,
													BGl_string2088z00zz__ssrz00, BgL_arg1475z00_1631);
												FAILURE(BgL_auxz00_4377, BFALSE, BFALSE);
											}
										{	/* Unsafe/ssr.scm 315 */
											obj_t BgL_tmpz00_4381;

											if (INTEGERP(BgL_arg1476z00_1632))
												{	/* Unsafe/ssr.scm 315 */
													BgL_tmpz00_4381 = BgL_arg1476z00_1632;
												}
											else
												{
													obj_t BgL_auxz00_4384;

													BgL_auxz00_4384 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2078z00zz__ssrz00, BINT(11438L),
														BGl_string2099z00zz__ssrz00,
														BGl_string2088z00zz__ssrz00, BgL_arg1476z00_1632);
													FAILURE(BgL_auxz00_4384, BFALSE, BFALSE);
												}
											BgL_toz00_2815 = (long) CINT(BgL_tmpz00_4381);
										}
										if (
											(BgL_fromz00_2814 ==
												BGl_getzd2parentzd2zz__ssrz00(BgL_graphz00_2813,
													BgL_toz00_2815)))
											{	/* Unsafe/ssr.scm 317 */
												return
													BGl_removezd2parentzd2edgez12z12zz__ssrz00
													(BgL_graphz00_2813, BgL_toz00_2815,
													BgL_ondisconnectz00_1633);
											}
										else
											{	/* Unsafe/ssr.scm 317 */
												return
													BBOOL(BGl_removezd2friendz12zc0zz__ssrz00
													(BgL_graphz00_2813, BgL_fromz00_2814,
														BINT(BgL_toz00_2815)));
											}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* ssr-remove-edge! */
	BGL_EXPORTED_DEF obj_t BGl_ssrzd2removezd2edgez12z12zz__ssrz00(obj_t
		BgL_graphz00_95, long BgL_fromz00_96, long BgL_toz00_97,
		obj_t BgL_ondisconnectz00_98)
	{
		{	/* Unsafe/ssr.scm 315 */
			{	/* Unsafe/ssr.scm 317 */
				bool_t BgL_test2253z00_4396;

				{	/* Unsafe/ssr.scm 287 */
					obj_t BgL_arg1437z00_2821;

					{	/* Unsafe/ssr.scm 235 */
						obj_t BgL__ortest_1101z00_2823;

						BgL__ortest_1101z00_2823 =
							BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_95, 2L),
							BINT(BgL_toz00_97));
						if (CBOOL(BgL__ortest_1101z00_2823))
							{	/* Unsafe/ssr.scm 235 */
								BgL_arg1437z00_2821 = BgL__ortest_1101z00_2823;
							}
						else
							{	/* Unsafe/ssr.scm 235 */
								BgL_arg1437z00_2821 = BFALSE;
							}
					}
					BgL_test2253z00_4396 = (BINT(BgL_fromz00_96) == BgL_arg1437z00_2821);
				}
				if (BgL_test2253z00_4396)
					{	/* Unsafe/ssr.scm 317 */
						return
							BGl_removezd2parentzd2edgez12z12zz__ssrz00(BgL_graphz00_95,
							BgL_toz00_97, BgL_ondisconnectz00_98);
					}
				else
					{	/* Unsafe/ssr.scm 317 */
						return
							BBOOL(BGl_removezd2friendz12zc0zz__ssrz00(BgL_graphz00_95,
								BINT(BgL_fromz00_96), BINT(BgL_toz00_97)));
					}
			}
		}

	}



/* remove-parent-edge! */
	obj_t BGl_removezd2parentzd2edgez12z12zz__ssrz00(obj_t BgL_graphz00_101,
		long BgL_toz00_102, obj_t BgL_ondisconnectz00_103)
	{
		{	/* Unsafe/ssr.scm 322 */
			{	/* Unsafe/ssr.scm 323 */
				obj_t BgL_loosezd2queuezd2_1670;

				BgL_loosezd2queuezd2_1670 = MAKE_YOUNG_PAIR(BNIL, BNIL);
				{	/* Unsafe/ssr.scm 324 */
					obj_t BgL_catchzd2queuezd2_1671;

					BgL_catchzd2queuezd2_1671 = MAKE_YOUNG_PAIR(BNIL, BNIL);
					{	/* Unsafe/ssr.scm 325 */
						obj_t BgL_loosezd2setzd2_1672;

						BgL_loosezd2setzd2_1672 = BGl_makezd2setzd2zz__ssrz00();
						{	/* Unsafe/ssr.scm 326 */
							obj_t BgL_anchorzd2tablezd2_1673;

							BgL_anchorzd2tablezd2_1673 =
								BGl_createzd2hashtablezd2zz__hashz00(BGL_REAL_CNST
								(BGl_real2077z00zz__ssrz00),
								BGl_eqzf3zd2envz21zz__r4_equivalence_6_2z00, BFALSE, BINT(10L),
								BINT(16384L), BFALSE, BINT(128L), BGl_symbol2075z00zz__ssrz00);
							{	/* Unsafe/ssr.scm 327 */
								obj_t BgL_disconnectedz00_1674;

								BgL_disconnectedz00_1674 = BGl_makezd2setzd2zz__ssrz00();
								{
									obj_t BgL_nodez00_1772;

									{
										long BgL_toz00_1725;

										BgL_toz00_1725 = BgL_toz00_102;
										{	/* Unsafe/ssr.scm 349 */
											obj_t BgL_dropzd2queuezd2_1727;

											BgL_dropzd2queuezd2_1727 = MAKE_YOUNG_PAIR(BNIL, BNIL);
											{	/* Unsafe/ssr.scm 150 */
												obj_t BgL_entryz00_2882;

												BgL_entryz00_2882 =
													MAKE_YOUNG_PAIR(BINT(BgL_toz00_1725), BNIL);
												if (NULLP(CAR(BgL_dropzd2queuezd2_1727)))
													{	/* Unsafe/ssr.scm 151 */
														SET_CAR(BgL_dropzd2queuezd2_1727,
															BgL_entryz00_2882);
													}
												else
													{	/* Unsafe/ssr.scm 153 */
														obj_t BgL_arg1369z00_2884;

														BgL_arg1369z00_2884 = CDR(BgL_dropzd2queuezd2_1727);
														{	/* Unsafe/ssr.scm 153 */
															obj_t BgL_tmpz00_4425;

															BgL_tmpz00_4425 = ((obj_t) BgL_arg1369z00_2884);
															SET_CDR(BgL_tmpz00_4425, BgL_entryz00_2882);
														}
													}
												SET_CDR(BgL_dropzd2queuezd2_1727, BgL_entryz00_2882);
												BgL_toz00_1725;
											}
											{	/* Unsafe/ssr.scm 352 */
												obj_t BgL_arg1524z00_1728;

												{	/* Unsafe/ssr.scm 352 */
													obj_t BgL_arg1525z00_1729;

													{	/* Unsafe/ssr.scm 235 */
														obj_t BgL__ortest_1101z00_2892;

														BgL__ortest_1101z00_2892 =
															BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
															(BgL_graphz00_101, 2L), BINT(BgL_toz00_1725));
														if (CBOOL(BgL__ortest_1101z00_2892))
															{	/* Unsafe/ssr.scm 235 */
																BgL_arg1525z00_1729 = BgL__ortest_1101z00_2892;
															}
														else
															{	/* Unsafe/ssr.scm 235 */
																BgL_arg1525z00_1729 = BFALSE;
															}
													}
													{	/* Unsafe/ssr.scm 214 */
														obj_t BgL__ortest_1095z00_2896;

														BgL__ortest_1095z00_2896 =
															BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
															(BgL_graphz00_101, 1L), BgL_arg1525z00_1729);
														if (CBOOL(BgL__ortest_1095z00_2896))
															{	/* Unsafe/ssr.scm 214 */
																BgL_arg1524z00_1728 = BgL__ortest_1095z00_2896;
															}
														else
															{	/* Unsafe/ssr.scm 214 */
																BgL_arg1524z00_1728 =
																	BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
															}
													}
												}
												{	/* Unsafe/ssr.scm 150 */
													obj_t BgL_entryz00_2899;

													BgL_entryz00_2899 =
														MAKE_YOUNG_PAIR(BgL_arg1524z00_1728, BNIL);
													if (NULLP(CAR(BgL_dropzd2queuezd2_1727)))
														{	/* Unsafe/ssr.scm 151 */
															SET_CAR(BgL_dropzd2queuezd2_1727,
																BgL_entryz00_2899);
														}
													else
														{	/* Unsafe/ssr.scm 153 */
															obj_t BgL_arg1369z00_2901;

															BgL_arg1369z00_2901 =
																CDR(BgL_dropzd2queuezd2_1727);
															{	/* Unsafe/ssr.scm 153 */
																obj_t BgL_tmpz00_4444;

																BgL_tmpz00_4444 = ((obj_t) BgL_arg1369z00_2901);
																SET_CDR(BgL_tmpz00_4444, BgL_entryz00_2899);
															}
														}
													SET_CDR(BgL_dropzd2queuezd2_1727, BgL_entryz00_2899);
													BgL_arg1524z00_1728;
												}
											}
											{	/* Unsafe/ssr.scm 249 */
												obj_t BgL_parentz00_2908;

												{	/* Unsafe/ssr.scm 235 */
													obj_t BgL__ortest_1101z00_2911;

													BgL__ortest_1101z00_2911 =
														BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
														(BgL_graphz00_101, 2L), BINT(BgL_toz00_1725));
													if (CBOOL(BgL__ortest_1101z00_2911))
														{	/* Unsafe/ssr.scm 235 */
															BgL_parentz00_2908 = BgL__ortest_1101z00_2911;
														}
													else
														{	/* Unsafe/ssr.scm 235 */
															BgL_parentz00_2908 = BFALSE;
														}
												}
												if (CBOOL(BgL_parentz00_2908))
													{	/* Unsafe/ssr.scm 250 */
														BGl_removezd2childz12zc0zz__ssrz00(BgL_graphz00_101,
															BgL_parentz00_2908, BgL_toz00_1725);
													}
												else
													{	/* Unsafe/ssr.scm 250 */
														((bool_t) 0);
													}
											}
											BGl_hashtablezd2removez12zc0zz__hashz00(VECTOR_REF
												(BgL_graphz00_101, 2L), BINT(BgL_toz00_1725));
											{

											BgL_zc3z04anonymousza31526ze3z87_1731:
												if (NULLP(CAR(BgL_dropzd2queuezd2_1727)))
													{	/* Unsafe/ssr.scm 356 */
														((bool_t) 0);
													}
												else
													{	/* Unsafe/ssr.scm 356 */
														{	/* Unsafe/ssr.scm 357 */
															obj_t BgL_nodez00_1733;

															BgL_nodez00_1733 =
																BGl_queuezd2getz12zc0zz__ssrz00
																(BgL_dropzd2queuezd2_1727);
															{	/* Unsafe/ssr.scm 357 */
																obj_t BgL_parentzd2rankzd2_1734;

																BgL_parentzd2rankzd2_1734 =
																	BGl_queuezd2getz12zc0zz__ssrz00
																	(BgL_dropzd2queuezd2_1727);
																{	/* Unsafe/ssr.scm 358 */
																	obj_t BgL_adopterz00_1735;

																	{	/* Unsafe/ssr.scm 361 */
																		obj_t BgL_zc3z04anonymousza31538ze3z87_3480;

																		{
																			int BgL_tmpz00_4464;

																			BgL_tmpz00_4464 = (int) (2L);
																			BgL_zc3z04anonymousza31538ze3z87_3480 =
																				MAKE_EL_PROCEDURE(BgL_tmpz00_4464);
																		}
																		PROCEDURE_EL_SET
																			(BgL_zc3z04anonymousza31538ze3z87_3480,
																			(int) (0L), BgL_graphz00_101);
																		PROCEDURE_EL_SET
																			(BgL_zc3z04anonymousza31538ze3z87_3480,
																			(int) (1L), BgL_parentzd2rankzd2_1734);
																		{	/* Unsafe/ssr.scm 277 */
																			obj_t BgL_friendliesz00_2923;

																			{	/* Unsafe/ssr.scm 277 */
																				obj_t BgL__ortest_1112z00_2925;

																				BgL__ortest_1112z00_2925 =
																					BGl_hashtablezd2getzd2zz__hashz00
																					(VECTOR_REF(BgL_graphz00_101, 5L),
																					BgL_nodez00_1733);
																				if (CBOOL(BgL__ortest_1112z00_2925))
																					{	/* Unsafe/ssr.scm 277 */
																						BgL_friendliesz00_2923 =
																							BgL__ortest_1112z00_2925;
																					}
																				else
																					{	/* Unsafe/ssr.scm 277 */
																						BgL_friendliesz00_2923 = BFALSE;
																					}
																			}
																			if (CBOOL(BgL_friendliesz00_2923))
																				{	/* Unsafe/ssr.scm 278 */
																					BgL_adopterz00_1735 =
																						BGl_zc3z04exitza31373ze3ze70z60zz__ssrz00
																						(BgL_friendliesz00_2923,
																						BgL_zc3z04anonymousza31538ze3z87_3480);
																				}
																			else
																				{	/* Unsafe/ssr.scm 278 */
																					BgL_adopterz00_1735 = BFALSE;
																				}
																		}
																	}
																	{	/* Unsafe/ssr.scm 359 */

																		if (CBOOL(BgL_adopterz00_1735))
																			{	/* Unsafe/ssr.scm 364 */
																				BGl_setzd2parentz12zc0zz__ssrz00
																					(BgL_graphz00_101, BgL_nodez00_1733,
																					BgL_adopterz00_1735);
																			}
																		else
																			{	/* Unsafe/ssr.scm 369 */
																				obj_t BgL_rankz00_1736;

																				{	/* Unsafe/ssr.scm 214 */
																					obj_t BgL__ortest_1095z00_2929;

																					BgL__ortest_1095z00_2929 =
																						BGl_hashtablezd2getzd2zz__hashz00
																						(VECTOR_REF(BgL_graphz00_101, 1L),
																						BgL_nodez00_1733);
																					if (CBOOL(BgL__ortest_1095z00_2929))
																						{	/* Unsafe/ssr.scm 214 */
																							BgL_rankz00_1736 =
																								BgL__ortest_1095z00_2929;
																						}
																					else
																						{	/* Unsafe/ssr.scm 214 */
																							BgL_rankz00_1736 =
																								BGL_REAL_CNST
																								(BGl_real2089z00zz__ssrz00);
																						}
																				}
																				BgL_nodez00_1772 = BgL_nodez00_1733;
																				{	/* Unsafe/ssr.scm 330 */
																					obj_t BgL_rankz00_1774;

																					{	/* Unsafe/ssr.scm 214 */
																						obj_t BgL__ortest_1095z00_2858;

																						BgL__ortest_1095z00_2858 =
																							BGl_hashtablezd2getzd2zz__hashz00
																							(VECTOR_REF(BgL_graphz00_101, 1L),
																							BgL_nodez00_1772);
																						if (CBOOL(BgL__ortest_1095z00_2858))
																							{	/* Unsafe/ssr.scm 214 */
																								BgL_rankz00_1774 =
																									BgL__ortest_1095z00_2858;
																							}
																						else
																							{	/* Unsafe/ssr.scm 214 */
																								BgL_rankz00_1774 =
																									BGL_REAL_CNST
																									(BGl_real2089z00zz__ssrz00);
																							}
																					}
																					{	/* Unsafe/ssr.scm 330 */
																						obj_t BgL_bucketz00_1775;

																						{	/* Unsafe/ssr.scm 331 */
																							obj_t BgL__ortest_1122z00_1778;

																							BgL__ortest_1122z00_1778 =
																								BGl_hashtablezd2getzd2zz__hashz00
																								(BgL_anchorzd2tablezd2_1673,
																								BgL_rankz00_1774);
																							if (CBOOL
																								(BgL__ortest_1122z00_1778))
																								{	/* Unsafe/ssr.scm 331 */
																									BgL_bucketz00_1775 =
																										BgL__ortest_1122z00_1778;
																								}
																							else
																								{	/* Unsafe/ssr.scm 331 */
																									BgL_bucketz00_1775 = BFALSE;
																								}
																						}
																						{	/* Unsafe/ssr.scm 331 */

																							if (CBOOL(BgL_bucketz00_1775))
																								{	/* Unsafe/ssr.scm 332 */
																									BGl_hashtablezd2removez12zc0zz__hashz00
																										(BgL_bucketz00_1775,
																										BgL_nodez00_1772);
																									if (
																										(BGl_hashtablezd2siza7ez75zz__hashz00
																											(BgL_bucketz00_1775) ==
																											0L))
																										{	/* Unsafe/ssr.scm 334 */
																											BGl_hashtablezd2removez12zc0zz__hashz00
																												(BgL_anchorzd2tablezd2_1673,
																												BgL_rankz00_1774);
																										}
																									else
																										{	/* Unsafe/ssr.scm 334 */
																											((bool_t) 0);
																										}
																								}
																							else
																								{	/* Unsafe/ssr.scm 332 */
																									((bool_t) 0);
																								}
																							BGl_hashtablezd2putz12zc0zz__hashz00
																								(BgL_disconnectedz00_1674,
																								BgL_nodez00_1772, BTRUE);
																							BGl_hashtablezd2putz12zc0zz__hashz00
																								(VECTOR_REF(BgL_graphz00_101,
																									1L), BgL_nodez00_1772,
																								BGL_REAL_CNST
																								(BGl_real2089z00zz__ssrz00));
																						}
																					}
																				}
																				{	/* Unsafe/ssr.scm 265 */
																					obj_t BgL_childrenz00_2950;

																					{	/* Unsafe/ssr.scm 265 */
																						obj_t BgL__ortest_1106z00_2952;

																						BgL__ortest_1106z00_2952 =
																							BGl_hashtablezd2getzd2zz__hashz00
																							(VECTOR_REF(BgL_graphz00_101, 3L),
																							BgL_nodez00_1733);
																						if (CBOOL(BgL__ortest_1106z00_2952))
																							{	/* Unsafe/ssr.scm 265 */
																								BgL_childrenz00_2950 =
																									BgL__ortest_1106z00_2952;
																							}
																						else
																							{	/* Unsafe/ssr.scm 265 */
																								BgL_childrenz00_2950 = BFALSE;
																							}
																					}
																					if (CBOOL(BgL_childrenz00_2950))
																						{	/* Unsafe/ssr.scm 164 */
																							obj_t
																								BgL_zc3z04anonymousza31372ze3z87_3479;
																							BgL_zc3z04anonymousza31372ze3z87_3479
																								=
																								MAKE_FX_PROCEDURE
																								(BGl_z62zc3z04anonymousza31372ze31995ze5zz__ssrz00,
																								(int) (2L), (int) (2L));
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31372ze3z87_3479,
																								(int) (0L),
																								BgL_dropzd2queuezd2_1727);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31372ze3z87_3479,
																								(int) (1L), BgL_rankz00_1736);
																							BGl_hashtablezd2forzd2eachz00zz__hashz00
																								(BgL_childrenz00_2950,
																								BgL_zc3z04anonymousza31372ze3z87_3479);
																						}
																					else
																						{	/* Unsafe/ssr.scm 266 */
																							BFALSE;
																						}
																				}
																				{	/* Unsafe/ssr.scm 274 */
																					obj_t BgL_friendliesz00_2965;

																					{	/* Unsafe/ssr.scm 274 */
																						obj_t BgL__ortest_1110z00_2967;

																						BgL__ortest_1110z00_2967 =
																							BGl_hashtablezd2getzd2zz__hashz00
																							(VECTOR_REF(BgL_graphz00_101, 5L),
																							BgL_nodez00_1733);
																						if (CBOOL(BgL__ortest_1110z00_2967))
																							{	/* Unsafe/ssr.scm 274 */
																								BgL_friendliesz00_2965 =
																									BgL__ortest_1110z00_2967;
																							}
																						else
																							{	/* Unsafe/ssr.scm 274 */
																								BgL_friendliesz00_2965 = BFALSE;
																							}
																					}
																					if (CBOOL(BgL_friendliesz00_2965))
																						{	/* Unsafe/ssr.scm 164 */
																							obj_t
																								BgL_zc3z04anonymousza31372ze3z87_3478;
																							BgL_zc3z04anonymousza31372ze3z87_3478
																								=
																								MAKE_FX_PROCEDURE
																								(BGl_z62zc3z04anonymousza31372ze31994ze5zz__ssrz00,
																								(int) (2L), (int) (2L));
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31372ze3z87_3478,
																								(int) (0L), BgL_graphz00_101);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31372ze3z87_3478,
																								(int) (1L),
																								BgL_anchorzd2tablezd2_1673);
																							BGl_hashtablezd2forzd2eachz00zz__hashz00
																								(BgL_friendliesz00_2965,
																								BgL_zc3z04anonymousza31372ze3z87_3478);
																						}
																					else
																						{	/* Unsafe/ssr.scm 275 */
																							BFALSE;
																						}
																				}
																			}
																	}
																}
															}
														}
														goto BgL_zc3z04anonymousza31526ze3z87_1731;
													}
											}
										}
										{	/* Unsafe/ssr.scm 398 */
											obj_t BgL_bucketsz00_1682;

											BgL_bucketsz00_1682 =
												BGl_sortz00zz__r4_vectors_6_8z00
												(BGl_proc2108z00zz__ssrz00,
												BGl_hashtablezd2mapzd2zz__hashz00
												(BgL_anchorzd2tablezd2_1673,
													BGl_conszd2envzd2zz__r4_pairs_and_lists_6_3z00));
											{	/* Unsafe/ssr.scm 399 */

												{
													obj_t BgL_l1208z00_1684;

													BgL_l1208z00_1684 = BgL_bucketsz00_1682;
												BgL_zc3z04anonymousza31502ze3z87_1685:
													if (PAIRP(BgL_l1208z00_1684))
														{	/* Unsafe/ssr.scm 400 */
															{	/* Unsafe/ssr.scm 406 */
																obj_t BgL_bucketz00_1687;

																BgL_bucketz00_1687 = CAR(BgL_l1208z00_1684);
																{	/* Unsafe/ssr.scm 402 */
																	obj_t BgL_rankz00_1688;
																	obj_t BgL_headz00_1689;

																	BgL_rankz00_1688 =
																		CAR(((obj_t) BgL_bucketz00_1687));
																	if (NULLP(CAR(BgL_catchzd2queuezd2_1671)))
																		{	/* Unsafe/ssr.scm 156 */
																			BgL_headz00_1689 = BFALSE;
																		}
																	else
																		{	/* Unsafe/ssr.scm 156 */
																			BgL_headz00_1689 =
																				CAR(CAR(BgL_catchzd2queuezd2_1671));
																		}
																	{
																		obj_t BgL_nextz00_1691;

																		BgL_nextz00_1691 = BgL_headz00_1689;
																	BgL_zc3z04anonymousza31504ze3z87_1692:
																		{	/* Unsafe/ssr.scm 404 */
																			bool_t BgL_test2276z00_4542;

																			if (CBOOL(BgL_nextz00_1691))
																				{	/* Unsafe/ssr.scm 405 */
																					obj_t BgL_a1207z00_1698;

																					{	/* Unsafe/ssr.scm 214 */
																						obj_t BgL__ortest_1095z00_2999;

																						BgL__ortest_1095z00_2999 =
																							BGl_hashtablezd2getzd2zz__hashz00
																							(VECTOR_REF(BgL_graphz00_101, 1L),
																							BgL_nextz00_1691);
																						if (CBOOL(BgL__ortest_1095z00_2999))
																							{	/* Unsafe/ssr.scm 214 */
																								BgL_a1207z00_1698 =
																									BgL__ortest_1095z00_2999;
																							}
																						else
																							{	/* Unsafe/ssr.scm 214 */
																								BgL_a1207z00_1698 =
																									BGL_REAL_CNST
																									(BGl_real2089z00zz__ssrz00);
																							}
																					}
																					{	/* Unsafe/ssr.scm 405 */
																						bool_t BgL_test2279z00_4549;

																						if (INTEGERP(BgL_a1207z00_1698))
																							{	/* Unsafe/ssr.scm 405 */
																								BgL_test2279z00_4549 =
																									INTEGERP(BgL_rankz00_1688);
																							}
																						else
																							{	/* Unsafe/ssr.scm 405 */
																								BgL_test2279z00_4549 =
																									((bool_t) 0);
																							}
																						if (BgL_test2279z00_4549)
																							{	/* Unsafe/ssr.scm 405 */
																								BgL_test2276z00_4542 =
																									(
																									(long) CINT(BgL_a1207z00_1698)
																									>
																									(long)
																									CINT(BgL_rankz00_1688));
																							}
																						else
																							{	/* Unsafe/ssr.scm 405 */
																								BgL_test2276z00_4542 =
																									BGl_2ze3ze3zz__r4_numbers_6_5z00
																									(BgL_a1207z00_1698,
																									BgL_rankz00_1688);
																							}
																					}
																				}
																			else
																				{	/* Unsafe/ssr.scm 405 */
																					BgL_test2276z00_4542 = ((bool_t) 1);
																				}
																			if (BgL_test2276z00_4542)
																				{	/* Unsafe/ssr.scm 404 */
																					((bool_t) 0);
																				}
																			else
																				{	/* Unsafe/ssr.scm 404 */
																					BGl_z62catchz62zz__ssrz00
																						(BgL_catchzd2queuezd2_1671,
																						BgL_disconnectedz00_1674,
																						BgL_graphz00_101,
																						BGl_queuezd2getz12zc0zz__ssrz00
																						(BgL_catchzd2queuezd2_1671));
																					{	/* Unsafe/ssr.scm 404 */
																						obj_t BgL_arg1508z00_1697;

																						if (NULLP(CAR
																								(BgL_catchzd2queuezd2_1671)))
																							{	/* Unsafe/ssr.scm 156 */
																								BgL_arg1508z00_1697 = BFALSE;
																							}
																						else
																							{	/* Unsafe/ssr.scm 156 */
																								BgL_arg1508z00_1697 =
																									CAR(CAR
																									(BgL_catchzd2queuezd2_1671));
																							}
																						{
																							obj_t BgL_nextz00_4564;

																							BgL_nextz00_4564 =
																								BgL_arg1508z00_1697;
																							BgL_nextz00_1691 =
																								BgL_nextz00_4564;
																							goto
																								BgL_zc3z04anonymousza31504ze3z87_1692;
																						}
																					}
																				}
																		}
																	}
																}
																{	/* Unsafe/ssr.scm 407 */
																	obj_t BgL_arg1509z00_1701;

																	BgL_arg1509z00_1701 =
																		CDR(((obj_t) BgL_bucketz00_1687));
																	{	/* Unsafe/ssr.scm 164 */
																		obj_t BgL_zc3z04anonymousza31372ze3z87_3476;

																		BgL_zc3z04anonymousza31372ze3z87_3476 =
																			MAKE_FX_PROCEDURE
																			(BGl_z62zc3z04anonymousza31372ze31993ze5zz__ssrz00,
																			(int) (2L), (int) (3L));
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31372ze3z87_3476,
																			(int) (0L), BgL_graphz00_101);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31372ze3z87_3476,
																			(int) (1L), BgL_disconnectedz00_1674);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31372ze3z87_3476,
																			(int) (2L), BgL_catchzd2queuezd2_1671);
																		BGl_hashtablezd2forzd2eachz00zz__hashz00
																			(BgL_arg1509z00_1701,
																			BgL_zc3z04anonymousza31372ze3z87_3476);
															}}}
															{
																obj_t BgL_l1208z00_4577;

																BgL_l1208z00_4577 = CDR(BgL_l1208z00_1684);
																BgL_l1208z00_1684 = BgL_l1208z00_4577;
																goto BgL_zc3z04anonymousza31502ze3z87_1685;
															}
														}
													else
														{	/* Unsafe/ssr.scm 400 */
															((bool_t) 1);
														}
												}
												{

												BgL_zc3z04anonymousza31511ze3z87_1705:
													if (NULLP(CAR(BgL_catchzd2queuezd2_1671)))
														{	/* Unsafe/ssr.scm 410 */
															((bool_t) 0);
														}
													else
														{	/* Unsafe/ssr.scm 410 */
															BGl_z62catchz62zz__ssrz00
																(BgL_catchzd2queuezd2_1671,
																BgL_disconnectedz00_1674, BgL_graphz00_101,
																BGl_queuezd2getz12zc0zz__ssrz00
																(BgL_catchzd2queuezd2_1671));
															goto BgL_zc3z04anonymousza31511ze3z87_1705;
														}
												}
												if (CBOOL(BgL_ondisconnectz00_103))
													{	/* Unsafe/ssr.scm 164 */
														obj_t BgL_zc3z04anonymousza31372ze3z87_3475;

														BgL_zc3z04anonymousza31372ze3z87_3475 =
															MAKE_FX_PROCEDURE
															(BGl_z62zc3z04anonymousza31372ze31992ze5zz__ssrz00,
															(int) (2L), (int) (1L));
														PROCEDURE_SET(BgL_zc3z04anonymousza31372ze3z87_3475,
															(int) (0L), BgL_ondisconnectz00_103);
														return
															BGl_hashtablezd2forzd2eachz00zz__hashz00
															(BgL_disconnectedz00_1674,
															BgL_zc3z04anonymousza31372ze3z87_3475);
													}
												else
													{	/* Unsafe/ssr.scm 412 */
														return BFALSE;
													}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* &catch */
	obj_t BGl_z62catchz62zz__ssrz00(obj_t BgL_catchzd2queuezd2_3483,
		obj_t BgL_disconnectedz00_3482, obj_t BgL_graphz00_3481,
		obj_t BgL_nodez00_1717)
	{
		{	/* Unsafe/ssr.scm 394 */
			{	/* Unsafe/ssr.scm 388 */
				obj_t BgL_zc3z04anonymousza31521ze3z87_3473;

				{
					int BgL_tmpz00_4592;

					BgL_tmpz00_4592 = (int) (4L);
					BgL_zc3z04anonymousza31521ze3z87_3473 =
						MAKE_L_PROCEDURE(BGl_z62zc3z04anonymousza31521ze3ze5zz__ssrz00,
						BgL_tmpz00_4592);
				}
				PROCEDURE_L_SET(BgL_zc3z04anonymousza31521ze3z87_3473,
					(int) (0L), BgL_graphz00_3481);
				PROCEDURE_L_SET(BgL_zc3z04anonymousza31521ze3z87_3473,
					(int) (1L), BgL_nodez00_1717);
				PROCEDURE_L_SET(BgL_zc3z04anonymousza31521ze3z87_3473,
					(int) (2L), BgL_disconnectedz00_3482);
				PROCEDURE_L_SET(BgL_zc3z04anonymousza31521ze3z87_3473,
					(int) (3L), BgL_catchzd2queuezd2_3483);
				BGl_friendszd2forzd2eachz00zz__ssrz00
					(BgL_zc3z04anonymousza31521ze3z87_3473, BgL_graphz00_3481,
					BgL_nodez00_1717);
				return
					BGl_childrenzd2forzd2eachz00zz__ssrz00
					(BgL_zc3z04anonymousza31521ze3z87_3473, BgL_graphz00_3481,
					BgL_nodez00_1717);
			}
		}

	}



/* &loose? */
	bool_t BGl_z62loosezf3z91zz__ssrz00(obj_t BgL_graphz00_3484,
		obj_t BgL_nodez00_1767)
	{
		{	/* Unsafe/ssr.scm 337 */
			{	/* Unsafe/ssr.scm 337 */
				obj_t BgL_a1203z00_1769;

				{	/* Unsafe/ssr.scm 214 */
					obj_t BgL__ortest_1095z00_2866;

					BgL__ortest_1095z00_2866 =
						BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_3484, 1L),
						BgL_nodez00_1767);
					if (CBOOL(BgL__ortest_1095z00_2866))
						{	/* Unsafe/ssr.scm 214 */
							BgL_a1203z00_1769 = BgL__ortest_1095z00_2866;
						}
					else
						{	/* Unsafe/ssr.scm 214 */
							BgL_a1203z00_1769 = BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
						}
				}
				return
					BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_a1203z00_1769,
					BGL_REAL_CNST(BGl_real2089z00zz__ssrz00));
			}
		}

	}



/* &<@anonymous:1372>1992 */
	obj_t BGl_z62zc3z04anonymousza31372ze31992ze5zz__ssrz00(obj_t BgL_envz00_3485,
		obj_t BgL_kz00_3487, obj_t BgL__z00_3488)
	{
		{	/* Unsafe/ssr.scm 164 */
			{	/* Unsafe/ssr.scm 164 */
				obj_t BgL_ondisconnectz00_3486;

				BgL_ondisconnectz00_3486 = PROCEDURE_REF(BgL_envz00_3485, (int) (0L));
				return BGL_PROCEDURE_CALL1(BgL_ondisconnectz00_3486, BgL_kz00_3487);
			}
		}

	}



/* &<@anonymous:1372>1993 */
	obj_t BGl_z62zc3z04anonymousza31372ze31993ze5zz__ssrz00(obj_t BgL_envz00_3489,
		obj_t BgL_kz00_3493, obj_t BgL__z00_3494)
	{
		{	/* Unsafe/ssr.scm 164 */
			{	/* Unsafe/ssr.scm 164 */
				obj_t BgL_graphz00_3490;
				obj_t BgL_disconnectedz00_3491;
				obj_t BgL_catchzd2queuezd2_3492;

				BgL_graphz00_3490 =
					((obj_t) PROCEDURE_REF(BgL_envz00_3489, (int) (0L)));
				BgL_disconnectedz00_3491 = PROCEDURE_REF(BgL_envz00_3489, (int) (1L));
				BgL_catchzd2queuezd2_3492 =
					((obj_t) PROCEDURE_REF(BgL_envz00_3489, (int) (2L)));
				return
					BGl_z62catchz62zz__ssrz00(BgL_catchzd2queuezd2_3492,
					BgL_disconnectedz00_3491, BgL_graphz00_3490, BgL_kz00_3493);
			}
		}

	}



/* &cmp */
	obj_t BGl_z62cmpz62zz__ssrz00(obj_t BgL_envz00_3495, obj_t BgL_xz00_3496,
		obj_t BgL_yz00_3497)
	{
		{	/* Unsafe/ssr.scm 398 */
			{	/* Unsafe/ssr.scm 398 */
				bool_t BgL_tmpz00_4625;

				{	/* Unsafe/ssr.scm 398 */
					obj_t BgL_a1205z00_3621;

					BgL_a1205z00_3621 = CAR(((obj_t) BgL_xz00_3496));
					{	/* Unsafe/ssr.scm 398 */
						obj_t BgL_b1206z00_3622;

						BgL_b1206z00_3622 = CAR(((obj_t) BgL_yz00_3497));
						{	/* Unsafe/ssr.scm 398 */

							{	/* Unsafe/ssr.scm 398 */
								bool_t BgL_test2285z00_4630;

								if (INTEGERP(BgL_a1205z00_3621))
									{	/* Unsafe/ssr.scm 398 */
										BgL_test2285z00_4630 = INTEGERP(BgL_b1206z00_3622);
									}
								else
									{	/* Unsafe/ssr.scm 398 */
										BgL_test2285z00_4630 = ((bool_t) 0);
									}
								if (BgL_test2285z00_4630)
									{	/* Unsafe/ssr.scm 398 */
										BgL_tmpz00_4625 =
											(
											(long) CINT(BgL_a1205z00_3621) <
											(long) CINT(BgL_b1206z00_3622));
									}
								else
									{	/* Unsafe/ssr.scm 398 */
										BgL_tmpz00_4625 =
											BGl_2zc3zc3zz__r4_numbers_6_5z00(BgL_a1205z00_3621,
											BgL_b1206z00_3622);
									}
							}
						}
					}
				}
				return BBOOL(BgL_tmpz00_4625);
			}
		}

	}



/* &<@anonymous:1521> */
	obj_t BGl_z62zc3z04anonymousza31521ze3ze5zz__ssrz00(obj_t BgL_envz00_3498,
		obj_t BgL_neighborz00_3503)
	{
		{	/* Unsafe/ssr.scm 387 */
			{	/* Unsafe/ssr.scm 388 */
				obj_t BgL_graphz00_3499;
				obj_t BgL_nodez00_3500;
				obj_t BgL_disconnectedz00_3501;
				obj_t BgL_catchzd2queuezd2_3502;

				BgL_graphz00_3499 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_3498, (int) (0L)));
				BgL_nodez00_3500 = PROCEDURE_L_REF(BgL_envz00_3498, (int) (1L));
				BgL_disconnectedz00_3501 = PROCEDURE_L_REF(BgL_envz00_3498, (int) (2L));
				BgL_catchzd2queuezd2_3502 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_3498, (int) (3L)));
				if (BGl_z62loosezf3z91zz__ssrz00(BgL_graphz00_3499,
						BgL_neighborz00_3503))
					{	/* Unsafe/ssr.scm 388 */
						BGl_setzd2parentz12zc0zz__ssrz00(BgL_graphz00_3499,
							BgL_neighborz00_3503, BgL_nodez00_3500);
						BGl_hashtablezd2removez12zc0zz__hashz00(BgL_disconnectedz00_3501,
							BgL_neighborz00_3503);
						BGl_updatezd2rankz12zc0zz__ssrz00(BgL_graphz00_3499,
							BgL_neighborz00_3503);
						{	/* Unsafe/ssr.scm 150 */
							obj_t BgL_entryz00_3623;

							BgL_entryz00_3623 = MAKE_YOUNG_PAIR(BgL_neighborz00_3503, BNIL);
							if (NULLP(CAR(BgL_catchzd2queuezd2_3502)))
								{	/* Unsafe/ssr.scm 151 */
									SET_CAR(BgL_catchzd2queuezd2_3502, BgL_entryz00_3623);
								}
							else
								{	/* Unsafe/ssr.scm 153 */
									obj_t BgL_arg1369z00_3624;

									BgL_arg1369z00_3624 = CDR(BgL_catchzd2queuezd2_3502);
									{	/* Unsafe/ssr.scm 153 */
										obj_t BgL_tmpz00_4660;

										BgL_tmpz00_4660 = ((obj_t) BgL_arg1369z00_3624);
										SET_CDR(BgL_tmpz00_4660, BgL_entryz00_3623);
									}
								}
							SET_CDR(BgL_catchzd2queuezd2_3502, BgL_entryz00_3623);
							return BgL_neighborz00_3503;
						}
					}
				else
					{	/* Unsafe/ssr.scm 388 */
						return BFALSE;
					}
			}
		}

	}



/* &<@anonymous:1372>1994 */
	obj_t BGl_z62zc3z04anonymousza31372ze31994ze5zz__ssrz00(obj_t BgL_envz00_3504,
		obj_t BgL_kz00_3507, obj_t BgL__z00_3508)
	{
		{	/* Unsafe/ssr.scm 164 */
			{	/* Unsafe/ssr.scm 164 */
				obj_t BgL_graphz00_3505;
				obj_t BgL_anchorzd2tablezd2_3506;

				BgL_graphz00_3505 =
					((obj_t) PROCEDURE_REF(BgL_envz00_3504, (int) (0L)));
				BgL_anchorzd2tablezd2_3506 = PROCEDURE_REF(BgL_envz00_3504, (int) (1L));
				{
					obj_t BgL_friendlyz00_3626;

					BgL_friendlyz00_3626 = BgL_kz00_3507;
					if (BGl_z62loosezf3z91zz__ssrz00(BgL_graphz00_3505,
							BgL_friendlyz00_3626))
						{	/* Unsafe/ssr.scm 381 */
							return BFALSE;
						}
					else
						{	/* Unsafe/ssr.scm 340 */
							obj_t BgL_rankz00_3627;

							{	/* Unsafe/ssr.scm 214 */
								obj_t BgL__ortest_1095z00_3628;

								BgL__ortest_1095z00_3628 =
									BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
									(BgL_graphz00_3505, 1L), BgL_friendlyz00_3626);
								if (CBOOL(BgL__ortest_1095z00_3628))
									{	/* Unsafe/ssr.scm 214 */
										BgL_rankz00_3627 = BgL__ortest_1095z00_3628;
									}
								else
									{	/* Unsafe/ssr.scm 214 */
										BgL_rankz00_3627 = BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
									}
							}
							{	/* Unsafe/ssr.scm 340 */
								obj_t BgL_bucketz00_3629;

								BgL_bucketz00_3629 =
									BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00
									(BgL_anchorzd2tablezd2_3506, BgL_rankz00_3627);
								{	/* Unsafe/ssr.scm 341 */

									return
										BGl_hashtablezd2putz12zc0zz__hashz00(BgL_bucketz00_3629,
										BgL_friendlyz00_3626, BTRUE);
								}
							}
						}
				}
			}
		}

	}



/* &<@anonymous:1372>1995 */
	obj_t BGl_z62zc3z04anonymousza31372ze31995ze5zz__ssrz00(obj_t BgL_envz00_3509,
		obj_t BgL_kz00_3512, obj_t BgL__z00_3513)
	{
		{	/* Unsafe/ssr.scm 164 */
			{	/* Unsafe/ssr.scm 164 */
				obj_t BgL_dropzd2queuezd2_3510;
				obj_t BgL_rankz00_3511;

				BgL_dropzd2queuezd2_3510 =
					((obj_t) PROCEDURE_REF(BgL_envz00_3509, (int) (0L)));
				BgL_rankz00_3511 = PROCEDURE_REF(BgL_envz00_3509, (int) (1L));
				{
					obj_t BgL_childz00_3631;

					BgL_childz00_3631 = BgL_kz00_3512;
					{	/* Unsafe/ssr.scm 150 */
						obj_t BgL_entryz00_3632;

						BgL_entryz00_3632 = MAKE_YOUNG_PAIR(BgL_childz00_3631, BNIL);
						if (NULLP(CAR(BgL_dropzd2queuezd2_3510)))
							{	/* Unsafe/ssr.scm 151 */
								SET_CAR(BgL_dropzd2queuezd2_3510, BgL_entryz00_3632);
							}
						else
							{	/* Unsafe/ssr.scm 153 */
								obj_t BgL_arg1369z00_3633;

								BgL_arg1369z00_3633 = CDR(BgL_dropzd2queuezd2_3510);
								{	/* Unsafe/ssr.scm 153 */
									obj_t BgL_tmpz00_4688;

									BgL_tmpz00_4688 = ((obj_t) BgL_arg1369z00_3633);
									SET_CDR(BgL_tmpz00_4688, BgL_entryz00_3632);
								}
							}
						SET_CDR(BgL_dropzd2queuezd2_3510, BgL_entryz00_3632);
						BgL_childz00_3631;
					}
					{	/* Unsafe/ssr.scm 150 */
						obj_t BgL_entryz00_3634;

						BgL_entryz00_3634 = MAKE_YOUNG_PAIR(BgL_rankz00_3511, BNIL);
						if (NULLP(CAR(BgL_dropzd2queuezd2_3510)))
							{	/* Unsafe/ssr.scm 151 */
								SET_CAR(BgL_dropzd2queuezd2_3510, BgL_entryz00_3634);
							}
						else
							{	/* Unsafe/ssr.scm 153 */
								obj_t BgL_arg1369z00_3635;

								BgL_arg1369z00_3635 = CDR(BgL_dropzd2queuezd2_3510);
								{	/* Unsafe/ssr.scm 153 */
									obj_t BgL_tmpz00_4698;

									BgL_tmpz00_4698 = ((obj_t) BgL_arg1369z00_3635);
									SET_CDR(BgL_tmpz00_4698, BgL_entryz00_3634);
								}
							}
						SET_CDR(BgL_dropzd2queuezd2_3510, BgL_entryz00_3634);
						return BgL_rankz00_3511;
					}
				}
			}
		}

	}



/* &<@anonymous:1538> */
	obj_t BGl_z62zc3z04anonymousza31538ze3ze5zz__ssrz00(obj_t BgL_envz00_3514,
		obj_t BgL_fz00_3517)
	{
		{	/* Unsafe/ssr.scm 361 */
			{	/* Unsafe/ssr.scm 361 */
				obj_t BgL_graphz00_3515;
				obj_t BgL_parentzd2rankzd2_3516;

				BgL_graphz00_3515 =
					((obj_t) PROCEDURE_EL_REF(BgL_envz00_3514, (int) (0L)));
				BgL_parentzd2rankzd2_3516 =
					PROCEDURE_EL_REF(BgL_envz00_3514, (int) (1L));
				{	/* Unsafe/ssr.scm 361 */
					bool_t BgL_tmpz00_4707;

					{	/* Unsafe/ssr.scm 361 */
						obj_t BgL_a1204z00_3636;

						{	/* Unsafe/ssr.scm 214 */
							obj_t BgL__ortest_1095z00_3637;

							BgL__ortest_1095z00_3637 =
								BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_3515,
									1L), BgL_fz00_3517);
							if (CBOOL(BgL__ortest_1095z00_3637))
								{	/* Unsafe/ssr.scm 214 */
									BgL_a1204z00_3636 = BgL__ortest_1095z00_3637;
								}
							else
								{	/* Unsafe/ssr.scm 214 */
									BgL_a1204z00_3636 = BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
								}
						}
						{	/* Unsafe/ssr.scm 361 */
							bool_t BgL_test2294z00_4712;

							if (INTEGERP(BgL_a1204z00_3636))
								{	/* Unsafe/ssr.scm 361 */
									BgL_test2294z00_4712 = INTEGERP(BgL_parentzd2rankzd2_3516);
								}
							else
								{	/* Unsafe/ssr.scm 361 */
									BgL_test2294z00_4712 = ((bool_t) 0);
								}
							if (BgL_test2294z00_4712)
								{	/* Unsafe/ssr.scm 361 */
									BgL_tmpz00_4707 =
										(
										(long) CINT(BgL_a1204z00_3636) ==
										(long) CINT(BgL_parentzd2rankzd2_3516));
								}
							else
								{	/* Unsafe/ssr.scm 361 */
									BgL_tmpz00_4707 =
										BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_a1204z00_3636,
										BgL_parentzd2rankzd2_3516);
								}
						}
					}
					return BBOOL(BgL_tmpz00_4707);
				}
			}
		}

	}



/* _ssr-redirect! */
	obj_t BGl__ssrzd2redirectz12zc0zz__ssrz00(obj_t BgL_env1273z00_112,
		obj_t BgL_opt1272z00_111)
	{
		{	/* Unsafe/ssr.scm 414 */
			{	/* Unsafe/ssr.scm 414 */
				long BgL_l1274z00_1788;

				{	/* Unsafe/ssr.scm 414 */
					obj_t BgL_vectorz00_3021;

					if (VECTORP(BgL_opt1272z00_111))
						{	/* Unsafe/ssr.scm 414 */
							BgL_vectorz00_3021 = BgL_opt1272z00_111;
						}
					else
						{
							obj_t BgL_auxz00_4723;

							BgL_auxz00_4723 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
								BINT(14850L), BGl_string2109z00zz__ssrz00,
								BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
							FAILURE(BgL_auxz00_4723, BFALSE, BFALSE);
						}
					BgL_l1274z00_1788 = VECTOR_LENGTH(BgL_vectorz00_3021);
				}
				{	/* Unsafe/ssr.scm 414 */
					obj_t BgL_graphz00_1792;
					obj_t BgL_nodez00_1793;
					obj_t BgL_otherz00_1794;

					{
						obj_t BgL_auxz00_4728;

						if (VECTORP(BgL_opt1272z00_111))
							{	/* Unsafe/ssr.scm 414 */
								BgL_auxz00_4728 = BgL_opt1272z00_111;
							}
						else
							{
								obj_t BgL_auxz00_4731;

								BgL_auxz00_4731 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(14850L), BGl_string2109z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
								FAILURE(BgL_auxz00_4731, BFALSE, BFALSE);
							}
						BgL_graphz00_1792 = VECTOR_REF(BgL_auxz00_4728, 0L);
					}
					{
						obj_t BgL_auxz00_4736;

						if (VECTORP(BgL_opt1272z00_111))
							{	/* Unsafe/ssr.scm 414 */
								BgL_auxz00_4736 = BgL_opt1272z00_111;
							}
						else
							{
								obj_t BgL_auxz00_4739;

								BgL_auxz00_4739 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(14850L), BGl_string2109z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
								FAILURE(BgL_auxz00_4739, BFALSE, BFALSE);
							}
						BgL_nodez00_1793 = VECTOR_REF(BgL_auxz00_4736, 1L);
					}
					{
						obj_t BgL_auxz00_4744;

						if (VECTORP(BgL_opt1272z00_111))
							{	/* Unsafe/ssr.scm 414 */
								BgL_auxz00_4744 = BgL_opt1272z00_111;
							}
						else
							{
								obj_t BgL_auxz00_4747;

								BgL_auxz00_4747 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
									BINT(14850L), BGl_string2109z00zz__ssrz00,
									BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
								FAILURE(BgL_auxz00_4747, BFALSE, BFALSE);
							}
						BgL_otherz00_1794 = VECTOR_REF(BgL_auxz00_4744, 2L);
					}
					{	/* Unsafe/ssr.scm 414 */
						obj_t BgL_onconnectz00_1795;

						BgL_onconnectz00_1795 = BFALSE;
						{	/* Unsafe/ssr.scm 414 */
							obj_t BgL_ondisconnectz00_1796;

							BgL_ondisconnectz00_1796 = BFALSE;
							{	/* Unsafe/ssr.scm 414 */

								{
									long BgL_iz00_1797;

									BgL_iz00_1797 = 3L;
								BgL_check1276z00_1798:
									if ((BgL_iz00_1797 == BgL_l1274z00_1788))
										{	/* Unsafe/ssr.scm 414 */
											BNIL;
										}
									else
										{	/* Unsafe/ssr.scm 414 */
											bool_t BgL_test2301z00_4754;

											{	/* Unsafe/ssr.scm 414 */
												obj_t BgL_arg1552z00_1804;

												BgL_arg1552z00_1804 =
													VECTOR_REF(
													((obj_t) BgL_opt1272z00_111), BgL_iz00_1797);
												BgL_test2301z00_4754 =
													CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
													(BgL_arg1552z00_1804, BGl_list2110z00zz__ssrz00));
											}
											if (BgL_test2301z00_4754)
												{
													long BgL_iz00_4759;

													BgL_iz00_4759 = (BgL_iz00_1797 + 2L);
													BgL_iz00_1797 = BgL_iz00_4759;
													goto BgL_check1276z00_1798;
												}
											else
												{	/* Unsafe/ssr.scm 414 */
													obj_t BgL_arg1551z00_1803;

													BgL_arg1551z00_1803 =
														VECTOR_REF(
														((obj_t) BgL_opt1272z00_111), BgL_iz00_1797);
													BGl_errorz00zz__errorz00(BGl_symbol2111z00zz__ssrz00,
														BGl_string2086z00zz__ssrz00, BgL_arg1551z00_1803);
												}
										}
								}
								{	/* Unsafe/ssr.scm 414 */
									obj_t BgL_index1278z00_1805;

									{
										long BgL_iz00_3037;

										BgL_iz00_3037 = 3L;
									BgL_search1275z00_3036:
										if ((BgL_iz00_3037 == BgL_l1274z00_1788))
											{	/* Unsafe/ssr.scm 414 */
												BgL_index1278z00_1805 = BINT((-1L));
											}
										else
											{	/* Unsafe/ssr.scm 414 */
												if ((BgL_iz00_3037 == (BgL_l1274z00_1788 - 1L)))
													{	/* Unsafe/ssr.scm 414 */
														BgL_index1278z00_1805 =
															BGl_errorz00zz__errorz00
															(BGl_symbol2111z00zz__ssrz00,
															BGl_string2113z00zz__ssrz00,
															BINT(VECTOR_LENGTH(BgL_opt1272z00_111)));
													}
												else
													{	/* Unsafe/ssr.scm 414 */
														obj_t BgL_vz00_3047;

														BgL_vz00_3047 =
															VECTOR_REF(BgL_opt1272z00_111, BgL_iz00_3037);
														if ((BgL_vz00_3047 == BGl_keyword2094z00zz__ssrz00))
															{	/* Unsafe/ssr.scm 414 */
																BgL_index1278z00_1805 =
																	BINT((BgL_iz00_3037 + 1L));
															}
														else
															{
																long BgL_iz00_4778;

																BgL_iz00_4778 = (BgL_iz00_3037 + 2L);
																BgL_iz00_3037 = BgL_iz00_4778;
																goto BgL_search1275z00_3036;
															}
													}
											}
									}
									{	/* Unsafe/ssr.scm 414 */
										bool_t BgL_test2305z00_4780;

										{	/* Unsafe/ssr.scm 414 */
											long BgL_n1z00_3051;

											{	/* Unsafe/ssr.scm 414 */
												obj_t BgL_tmpz00_4781;

												if (INTEGERP(BgL_index1278z00_1805))
													{	/* Unsafe/ssr.scm 414 */
														BgL_tmpz00_4781 = BgL_index1278z00_1805;
													}
												else
													{
														obj_t BgL_auxz00_4784;

														BgL_auxz00_4784 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(14850L),
															BGl_string2109z00zz__ssrz00,
															BGl_string2088z00zz__ssrz00,
															BgL_index1278z00_1805);
														FAILURE(BgL_auxz00_4784, BFALSE, BFALSE);
													}
												BgL_n1z00_3051 = (long) CINT(BgL_tmpz00_4781);
											}
											BgL_test2305z00_4780 = (BgL_n1z00_3051 >= 0L);
										}
										if (BgL_test2305z00_4780)
											{
												long BgL_auxz00_4797;
												obj_t BgL_auxz00_4790;

												{	/* Unsafe/ssr.scm 414 */
													obj_t BgL_tmpz00_4798;

													if (INTEGERP(BgL_index1278z00_1805))
														{	/* Unsafe/ssr.scm 414 */
															BgL_tmpz00_4798 = BgL_index1278z00_1805;
														}
													else
														{
															obj_t BgL_auxz00_4801;

															BgL_auxz00_4801 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2078z00zz__ssrz00, BINT(14850L),
																BGl_string2109z00zz__ssrz00,
																BGl_string2088z00zz__ssrz00,
																BgL_index1278z00_1805);
															FAILURE(BgL_auxz00_4801, BFALSE, BFALSE);
														}
													BgL_auxz00_4797 = (long) CINT(BgL_tmpz00_4798);
												}
												if (VECTORP(BgL_opt1272z00_111))
													{	/* Unsafe/ssr.scm 414 */
														BgL_auxz00_4790 = BgL_opt1272z00_111;
													}
												else
													{
														obj_t BgL_auxz00_4793;

														BgL_auxz00_4793 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(14850L),
															BGl_string2109z00zz__ssrz00,
															BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
														FAILURE(BgL_auxz00_4793, BFALSE, BFALSE);
													}
												BgL_onconnectz00_1795 =
													VECTOR_REF(BgL_auxz00_4790, BgL_auxz00_4797);
											}
										else
											{	/* Unsafe/ssr.scm 414 */
												BFALSE;
											}
									}
								}
								{	/* Unsafe/ssr.scm 414 */
									obj_t BgL_index1279z00_1807;

									{
										long BgL_iz00_3053;

										BgL_iz00_3053 = 3L;
									BgL_search1275z00_3052:
										if ((BgL_iz00_3053 == BgL_l1274z00_1788))
											{	/* Unsafe/ssr.scm 414 */
												BgL_index1279z00_1807 = BINT((-1L));
											}
										else
											{	/* Unsafe/ssr.scm 414 */
												if ((BgL_iz00_3053 == (BgL_l1274z00_1788 - 1L)))
													{	/* Unsafe/ssr.scm 414 */
														BgL_index1279z00_1807 =
															BGl_errorz00zz__errorz00
															(BGl_symbol2111z00zz__ssrz00,
															BGl_string2113z00zz__ssrz00,
															BINT(VECTOR_LENGTH(BgL_opt1272z00_111)));
													}
												else
													{	/* Unsafe/ssr.scm 414 */
														obj_t BgL_vz00_3063;

														BgL_vz00_3063 =
															VECTOR_REF(BgL_opt1272z00_111, BgL_iz00_3053);
														if ((BgL_vz00_3063 == BGl_keyword2101z00zz__ssrz00))
															{	/* Unsafe/ssr.scm 414 */
																BgL_index1279z00_1807 =
																	BINT((BgL_iz00_3053 + 1L));
															}
														else
															{
																long BgL_iz00_4821;

																BgL_iz00_4821 = (BgL_iz00_3053 + 2L);
																BgL_iz00_3053 = BgL_iz00_4821;
																goto BgL_search1275z00_3052;
															}
													}
											}
									}
									{	/* Unsafe/ssr.scm 414 */
										bool_t BgL_test2312z00_4823;

										{	/* Unsafe/ssr.scm 414 */
											long BgL_n1z00_3067;

											{	/* Unsafe/ssr.scm 414 */
												obj_t BgL_tmpz00_4824;

												if (INTEGERP(BgL_index1279z00_1807))
													{	/* Unsafe/ssr.scm 414 */
														BgL_tmpz00_4824 = BgL_index1279z00_1807;
													}
												else
													{
														obj_t BgL_auxz00_4827;

														BgL_auxz00_4827 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(14850L),
															BGl_string2109z00zz__ssrz00,
															BGl_string2088z00zz__ssrz00,
															BgL_index1279z00_1807);
														FAILURE(BgL_auxz00_4827, BFALSE, BFALSE);
													}
												BgL_n1z00_3067 = (long) CINT(BgL_tmpz00_4824);
											}
											BgL_test2312z00_4823 = (BgL_n1z00_3067 >= 0L);
										}
										if (BgL_test2312z00_4823)
											{
												long BgL_auxz00_4840;
												obj_t BgL_auxz00_4833;

												{	/* Unsafe/ssr.scm 414 */
													obj_t BgL_tmpz00_4841;

													if (INTEGERP(BgL_index1279z00_1807))
														{	/* Unsafe/ssr.scm 414 */
															BgL_tmpz00_4841 = BgL_index1279z00_1807;
														}
													else
														{
															obj_t BgL_auxz00_4844;

															BgL_auxz00_4844 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2078z00zz__ssrz00, BINT(14850L),
																BGl_string2109z00zz__ssrz00,
																BGl_string2088z00zz__ssrz00,
																BgL_index1279z00_1807);
															FAILURE(BgL_auxz00_4844, BFALSE, BFALSE);
														}
													BgL_auxz00_4840 = (long) CINT(BgL_tmpz00_4841);
												}
												if (VECTORP(BgL_opt1272z00_111))
													{	/* Unsafe/ssr.scm 414 */
														BgL_auxz00_4833 = BgL_opt1272z00_111;
													}
												else
													{
														obj_t BgL_auxz00_4836;

														BgL_auxz00_4836 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(14850L),
															BGl_string2109z00zz__ssrz00,
															BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
														FAILURE(BgL_auxz00_4836, BFALSE, BFALSE);
													}
												BgL_ondisconnectz00_1796 =
													VECTOR_REF(BgL_auxz00_4833, BgL_auxz00_4840);
											}
										else
											{	/* Unsafe/ssr.scm 414 */
												BFALSE;
											}
									}
								}
								{	/* Unsafe/ssr.scm 414 */
									obj_t BgL_arg1555z00_1809;
									obj_t BgL_arg1558z00_1810;
									obj_t BgL_arg1559z00_1811;

									{
										obj_t BgL_auxz00_4850;

										if (VECTORP(BgL_opt1272z00_111))
											{	/* Unsafe/ssr.scm 414 */
												BgL_auxz00_4850 = BgL_opt1272z00_111;
											}
										else
											{
												obj_t BgL_auxz00_4853;

												BgL_auxz00_4853 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string2078z00zz__ssrz00, BINT(14850L),
													BGl_string2109z00zz__ssrz00,
													BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
												FAILURE(BgL_auxz00_4853, BFALSE, BFALSE);
											}
										BgL_arg1555z00_1809 = VECTOR_REF(BgL_auxz00_4850, 0L);
									}
									{
										obj_t BgL_auxz00_4858;

										if (VECTORP(BgL_opt1272z00_111))
											{	/* Unsafe/ssr.scm 414 */
												BgL_auxz00_4858 = BgL_opt1272z00_111;
											}
										else
											{
												obj_t BgL_auxz00_4861;

												BgL_auxz00_4861 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string2078z00zz__ssrz00, BINT(14850L),
													BGl_string2109z00zz__ssrz00,
													BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
												FAILURE(BgL_auxz00_4861, BFALSE, BFALSE);
											}
										BgL_arg1558z00_1810 = VECTOR_REF(BgL_auxz00_4858, 1L);
									}
									{
										obj_t BgL_auxz00_4866;

										if (VECTORP(BgL_opt1272z00_111))
											{	/* Unsafe/ssr.scm 414 */
												BgL_auxz00_4866 = BgL_opt1272z00_111;
											}
										else
											{
												obj_t BgL_auxz00_4869;

												BgL_auxz00_4869 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string2078z00zz__ssrz00, BINT(14850L),
													BGl_string2109z00zz__ssrz00,
													BGl_string2080z00zz__ssrz00, BgL_opt1272z00_111);
												FAILURE(BgL_auxz00_4869, BFALSE, BFALSE);
											}
										BgL_arg1559z00_1811 = VECTOR_REF(BgL_auxz00_4866, 2L);
									}
									{	/* Unsafe/ssr.scm 414 */
										obj_t BgL_onconnectz00_1812;

										BgL_onconnectz00_1812 = BgL_onconnectz00_1795;
										{	/* Unsafe/ssr.scm 414 */
											obj_t BgL_ondisconnectz00_1813;

											BgL_ondisconnectz00_1813 = BgL_ondisconnectz00_1796;
											{	/* Unsafe/ssr.scm 414 */
												long BgL_auxz00_4890;
												long BgL_auxz00_4881;
												obj_t BgL_auxz00_4874;

												{	/* Unsafe/ssr.scm 414 */
													obj_t BgL_tmpz00_4891;

													if (INTEGERP(BgL_arg1559z00_1811))
														{	/* Unsafe/ssr.scm 414 */
															BgL_tmpz00_4891 = BgL_arg1559z00_1811;
														}
													else
														{
															obj_t BgL_auxz00_4894;

															BgL_auxz00_4894 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2078z00zz__ssrz00, BINT(14850L),
																BGl_string2109z00zz__ssrz00,
																BGl_string2088z00zz__ssrz00,
																BgL_arg1559z00_1811);
															FAILURE(BgL_auxz00_4894, BFALSE, BFALSE);
														}
													BgL_auxz00_4890 = (long) CINT(BgL_tmpz00_4891);
												}
												{	/* Unsafe/ssr.scm 414 */
													obj_t BgL_tmpz00_4882;

													if (INTEGERP(BgL_arg1558z00_1810))
														{	/* Unsafe/ssr.scm 414 */
															BgL_tmpz00_4882 = BgL_arg1558z00_1810;
														}
													else
														{
															obj_t BgL_auxz00_4885;

															BgL_auxz00_4885 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2078z00zz__ssrz00, BINT(14850L),
																BGl_string2109z00zz__ssrz00,
																BGl_string2088z00zz__ssrz00,
																BgL_arg1558z00_1810);
															FAILURE(BgL_auxz00_4885, BFALSE, BFALSE);
														}
													BgL_auxz00_4881 = (long) CINT(BgL_tmpz00_4882);
												}
												if (VECTORP(BgL_arg1555z00_1809))
													{	/* Unsafe/ssr.scm 414 */
														BgL_auxz00_4874 = BgL_arg1555z00_1809;
													}
												else
													{
														obj_t BgL_auxz00_4877;

														BgL_auxz00_4877 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string2078z00zz__ssrz00, BINT(14850L),
															BGl_string2109z00zz__ssrz00,
															BGl_string2080z00zz__ssrz00, BgL_arg1555z00_1809);
														FAILURE(BgL_auxz00_4877, BFALSE, BFALSE);
													}
												return
													BGl_ssrzd2redirectz12zc0zz__ssrz00(BgL_auxz00_4874,
													BgL_auxz00_4881, BgL_auxz00_4890,
													BgL_onconnectz00_1812, BgL_ondisconnectz00_1813);
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* ssr-redirect! */
	BGL_EXPORTED_DEF obj_t BGl_ssrzd2redirectz12zc0zz__ssrz00(obj_t
		BgL_graphz00_106, long BgL_nodez00_107, long BgL_otherz00_108,
		obj_t BgL_onconnectz00_109, obj_t BgL_ondisconnectz00_110)
	{
		{	/* Unsafe/ssr.scm 414 */
			{
				obj_t BgL_nodesz00_1892;

				if ((BgL_nodez00_107 == BgL_otherz00_108))
					{	/* Unsafe/ssr.scm 431 */
						return BFALSE;
					}
				else
					{	/* Unsafe/ssr.scm 432 */
						obj_t BgL_parentz00_1824;
						obj_t BgL_friendliesz00_1825;

						{	/* Unsafe/ssr.scm 235 */
							obj_t BgL__ortest_1101z00_3087;

							BgL__ortest_1101z00_3087 =
								BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_106,
									2L), BINT(BgL_nodez00_107));
							if (CBOOL(BgL__ortest_1101z00_3087))
								{	/* Unsafe/ssr.scm 235 */
									BgL_parentz00_1824 = BgL__ortest_1101z00_3087;
								}
							else
								{	/* Unsafe/ssr.scm 235 */
									BgL_parentz00_1824 = BFALSE;
								}
						}
						{	/* Unsafe/ssr.scm 434 */
							obj_t BgL_hook1215z00_1871;

							BgL_hook1215z00_1871 = MAKE_YOUNG_PAIR(BFALSE, BNIL);
							{	/* Unsafe/ssr.scm 436 */
								obj_t BgL_g1216z00_1872;

								{	/* Unsafe/ssr.scm 280 */
									obj_t BgL_friendliesz00_3090;

									{	/* Unsafe/ssr.scm 280 */
										obj_t BgL__ortest_1114z00_3092;

										BgL__ortest_1114z00_3092 =
											BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
											(BgL_graphz00_106, 5L), BINT(BgL_nodez00_107));
										if (CBOOL(BgL__ortest_1114z00_3092))
											{	/* Unsafe/ssr.scm 280 */
												BgL_friendliesz00_3090 = BgL__ortest_1114z00_3092;
											}
										else
											{	/* Unsafe/ssr.scm 280 */
												BgL_friendliesz00_3090 = BFALSE;
											}
									}
									if (CBOOL(BgL_friendliesz00_3090))
										{	/* Unsafe/ssr.scm 281 */
											BgL_g1216z00_1872 =
												BGl_setzd2ze3listz31zz__ssrz00(BgL_friendliesz00_3090);
										}
									else
										{	/* Unsafe/ssr.scm 281 */
											BgL_g1216z00_1872 = BNIL;
										}
								}
								{
									obj_t BgL_l1212z00_1874;
									obj_t BgL_h1213z00_1875;

									BgL_l1212z00_1874 = BgL_g1216z00_1872;
									BgL_h1213z00_1875 = BgL_hook1215z00_1871;
								BgL_zc3z04anonymousza31593ze3z87_1876:
									if (NULLP(BgL_l1212z00_1874))
										{	/* Unsafe/ssr.scm 436 */
											BgL_friendliesz00_1825 = CDR(BgL_hook1215z00_1871);
										}
									else
										{	/* Unsafe/ssr.scm 436 */
											bool_t BgL_test2327z00_4919;

											{	/* Unsafe/ssr.scm 435 */
												obj_t BgL_fz00_1887;

												BgL_fz00_1887 = CAR(((obj_t) BgL_l1212z00_1874));
												{	/* Unsafe/ssr.scm 435 */
													bool_t BgL_test2328z00_4922;

													if (INTEGERP(BgL_fz00_1887))
														{	/* Unsafe/ssr.scm 435 */
															BgL_test2328z00_4922 =
																((long) CINT(BgL_fz00_1887) == BgL_nodez00_107);
														}
													else
														{	/* Unsafe/ssr.scm 435 */
															BgL_test2328z00_4922 =
																BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_fz00_1887,
																BINT(BgL_nodez00_107));
														}
													if (BgL_test2328z00_4922)
														{	/* Unsafe/ssr.scm 435 */
															BgL_test2327z00_4919 = ((bool_t) 0);
														}
													else
														{	/* Unsafe/ssr.scm 435 */
															BgL_test2327z00_4919 = ((bool_t) 1);
														}
												}
											}
											if (BgL_test2327z00_4919)
												{	/* Unsafe/ssr.scm 436 */
													obj_t BgL_nh1214z00_1883;

													{	/* Unsafe/ssr.scm 436 */
														obj_t BgL_arg1599z00_1885;

														BgL_arg1599z00_1885 =
															CAR(((obj_t) BgL_l1212z00_1874));
														BgL_nh1214z00_1883 =
															MAKE_YOUNG_PAIR(BgL_arg1599z00_1885, BNIL);
													}
													SET_CDR(BgL_h1213z00_1875, BgL_nh1214z00_1883);
													{	/* Unsafe/ssr.scm 436 */
														obj_t BgL_arg1598z00_1884;

														BgL_arg1598z00_1884 =
															CDR(((obj_t) BgL_l1212z00_1874));
														{
															obj_t BgL_h1213z00_4936;
															obj_t BgL_l1212z00_4935;

															BgL_l1212z00_4935 = BgL_arg1598z00_1884;
															BgL_h1213z00_4936 = BgL_nh1214z00_1883;
															BgL_h1213z00_1875 = BgL_h1213z00_4936;
															BgL_l1212z00_1874 = BgL_l1212z00_4935;
															goto BgL_zc3z04anonymousza31593ze3z87_1876;
														}
													}
												}
											else
												{	/* Unsafe/ssr.scm 436 */
													obj_t BgL_arg1600z00_1886;

													BgL_arg1600z00_1886 =
														CDR(((obj_t) BgL_l1212z00_1874));
													{
														obj_t BgL_l1212z00_4939;

														BgL_l1212z00_4939 = BgL_arg1600z00_1886;
														BgL_l1212z00_1874 = BgL_l1212z00_4939;
														goto BgL_zc3z04anonymousza31593ze3z87_1876;
													}
												}
										}
								}
							}
						}
						{	/* Unsafe/ssr.scm 438 */
							bool_t BgL_test2330z00_4940;

							if (CBOOL(BgL_parentz00_1824))
								{	/* Unsafe/ssr.scm 438 */
									BgL_test2330z00_4940 = ((bool_t) 0);
								}
							else
								{	/* Unsafe/ssr.scm 438 */
									BgL_test2330z00_4940 = NULLP(BgL_friendliesz00_1825);
								}
							if (BgL_test2330z00_4940)
								{	/* Unsafe/ssr.scm 438 */
									return BFALSE;
								}
							else
								{	/* Unsafe/ssr.scm 439 */
									bool_t BgL_test2332z00_4944;

									{	/* Unsafe/ssr.scm 439 */
										obj_t BgL_a1217z00_1868;

										{	/* Unsafe/ssr.scm 214 */
											obj_t BgL__ortest_1095z00_3104;

											BgL__ortest_1095z00_3104 =
												BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
												(BgL_graphz00_106, 1L), BINT(BgL_nodez00_107));
											if (CBOOL(BgL__ortest_1095z00_3104))
												{	/* Unsafe/ssr.scm 214 */
													BgL_a1217z00_1868 = BgL__ortest_1095z00_3104;
												}
											else
												{	/* Unsafe/ssr.scm 214 */
													BgL_a1217z00_1868 =
														BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
												}
										}
										{	/* Unsafe/ssr.scm 439 */
											obj_t BgL_b1218z00_1869;

											{	/* Unsafe/ssr.scm 214 */
												obj_t BgL__ortest_1095z00_3108;

												BgL__ortest_1095z00_3108 =
													BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
													(BgL_graphz00_106, 1L), BINT(BgL_otherz00_108));
												if (CBOOL(BgL__ortest_1095z00_3108))
													{	/* Unsafe/ssr.scm 214 */
														BgL_b1218z00_1869 = BgL__ortest_1095z00_3108;
													}
												else
													{	/* Unsafe/ssr.scm 214 */
														BgL_b1218z00_1869 =
															BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
													}
											}
											{	/* Unsafe/ssr.scm 439 */

												{	/* Unsafe/ssr.scm 439 */
													bool_t BgL_test2335z00_4955;

													if (INTEGERP(BgL_a1217z00_1868))
														{	/* Unsafe/ssr.scm 439 */
															BgL_test2335z00_4955 =
																INTEGERP(BgL_b1218z00_1869);
														}
													else
														{	/* Unsafe/ssr.scm 439 */
															BgL_test2335z00_4955 = ((bool_t) 0);
														}
													if (BgL_test2335z00_4955)
														{	/* Unsafe/ssr.scm 439 */
															BgL_test2332z00_4944 =
																(
																(long) CINT(BgL_a1217z00_1868) >=
																(long) CINT(BgL_b1218z00_1869));
														}
													else
														{	/* Unsafe/ssr.scm 439 */
															BgL_test2332z00_4944 =
																BGl_2ze3zd3z30zz__r4_numbers_6_5z00
																(BgL_a1217z00_1868, BgL_b1218z00_1869);
														}
												}
											}
										}
									}
									if (BgL_test2332z00_4944)
										{	/* Unsafe/ssr.scm 439 */
											{
												obj_t BgL_l1219z00_3124;

												BgL_l1219z00_3124 = BgL_friendliesz00_1825;
											BgL_zc3z04anonymousza31574ze3z87_3123:
												if (PAIRP(BgL_l1219z00_3124))
													{	/* Unsafe/ssr.scm 441 */
														BGl_removezd2friendz12zc0zz__ssrz00
															(BgL_graphz00_106, CAR(BgL_l1219z00_3124),
															BINT(BgL_nodez00_107));
														{
															obj_t BgL_l1219z00_4968;

															BgL_l1219z00_4968 = CDR(BgL_l1219z00_3124);
															BgL_l1219z00_3124 = BgL_l1219z00_4968;
															goto BgL_zc3z04anonymousza31574ze3z87_3123;
														}
													}
												else
													{	/* Unsafe/ssr.scm 441 */
														((bool_t) 1);
													}
											}
											if (CBOOL(BgL_parentz00_1824))
												{	/* Unsafe/ssr.scm 443 */
													BGl_removezd2parentzd2edgez12z12zz__ssrz00
														(BgL_graphz00_106, BgL_nodez00_107,
														BgL_ondisconnectz00_110);
													{	/* Unsafe/ssr.scm 445 */
														bool_t BgL_test2339z00_4973;

														{	/* Unsafe/ssr.scm 287 */
															obj_t BgL_arg1437z00_3133;

															{	/* Unsafe/ssr.scm 235 */
																obj_t BgL__ortest_1101z00_3135;

																BgL__ortest_1101z00_3135 =
																	BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
																	(BgL_graphz00_106, 2L),
																	BINT(BgL_otherz00_108));
																if (CBOOL(BgL__ortest_1101z00_3135))
																	{	/* Unsafe/ssr.scm 235 */
																		BgL_arg1437z00_3133 =
																			BgL__ortest_1101z00_3135;
																	}
																else
																	{	/* Unsafe/ssr.scm 235 */
																		BgL_arg1437z00_3133 = BFALSE;
																	}
															}
															BgL_test2339z00_4973 =
																(BgL_parentz00_1824 == BgL_arg1437z00_3133);
														}
														if (BgL_test2339z00_4973)
															{	/* Unsafe/ssr.scm 445 */
																BFALSE;
															}
														else
															{	/* Unsafe/ssr.scm 445 */
																BGl_hashtablezd2putz12zc0zz__hashz00
																	(BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00
																	(VECTOR_REF(BgL_graphz00_106, 4L),
																		BgL_parentz00_1824), BINT(BgL_otherz00_108),
																	BTRUE);
																BGl_hashtablezd2putz12zc0zz__hashz00
																	(BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00
																	(VECTOR_REF(BgL_graphz00_106, 5L),
																		BINT(BgL_otherz00_108)), BgL_parentz00_1824,
																	BTRUE);
															}
													}
												}
											else
												{	/* Unsafe/ssr.scm 443 */
													BFALSE;
												}
											{
												obj_t BgL_l1221z00_3161;

												{	/* Unsafe/ssr.scm 448 */
													bool_t BgL_tmpz00_4988;

													BgL_l1221z00_3161 = BgL_friendliesz00_1825;
												BgL_zc3z04anonymousza31580ze3z87_3160:
													if (PAIRP(BgL_l1221z00_3161))
														{	/* Unsafe/ssr.scm 448 */
															BGl_addzd2friendz12zc0zz__ssrz00(BgL_graphz00_106,
																CAR(BgL_l1221z00_3161), BgL_otherz00_108);
															{
																obj_t BgL_l1221z00_4993;

																BgL_l1221z00_4993 = CDR(BgL_l1221z00_3161);
																BgL_l1221z00_3161 = BgL_l1221z00_4993;
																goto BgL_zc3z04anonymousza31580ze3z87_3160;
															}
														}
													else
														{	/* Unsafe/ssr.scm 448 */
															BgL_tmpz00_4988 = ((bool_t) 1);
														}
													return BBOOL(BgL_tmpz00_4988);
												}
											}
										}
									else
										{	/* Unsafe/ssr.scm 452 */
											obj_t BgL_adopterz00_1847;

											if (CBOOL(BgL_parentz00_1824))
												{	/* Unsafe/ssr.scm 452 */
													BgL_adopterz00_1847 = BgL_parentz00_1824;
												}
											else
												{	/* Unsafe/ssr.scm 452 */
													BgL_nodesz00_1892 = BgL_friendliesz00_1825;
													{	/* Unsafe/ssr.scm 416 */
														obj_t BgL_g1130z00_1894;
														obj_t BgL_g1131z00_1895;
														obj_t BgL_g1132z00_1896;

														BgL_g1130z00_1894 =
															CAR(((obj_t) BgL_nodesz00_1892));
														{	/* Unsafe/ssr.scm 417 */
															obj_t BgL_arg1610z00_1911;

															BgL_arg1610z00_1911 =
																CAR(((obj_t) BgL_nodesz00_1892));
															{	/* Unsafe/ssr.scm 214 */
																obj_t BgL__ortest_1095z00_3071;

																BgL__ortest_1095z00_3071 =
																	BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF
																	(BgL_graphz00_106, 1L), BgL_arg1610z00_1911);
																if (CBOOL(BgL__ortest_1095z00_3071))
																	{	/* Unsafe/ssr.scm 214 */
																		BgL_g1131z00_1895 =
																			BgL__ortest_1095z00_3071;
																	}
																else
																	{	/* Unsafe/ssr.scm 214 */
																		BgL_g1131z00_1895 =
																			BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
																	}
															}
														}
														BgL_g1132z00_1896 =
															CDR(((obj_t) BgL_nodesz00_1892));
														{
															obj_t BgL_bestz00_1898;
															obj_t BgL_rankz00_1899;
															obj_t BgL_nodesz00_1900;

															BgL_bestz00_1898 = BgL_g1130z00_1894;
															BgL_rankz00_1899 = BgL_g1131z00_1895;
															BgL_nodesz00_1900 = BgL_g1132z00_1896;
														BgL_zc3z04anonymousza31602ze3z87_1901:
															if (NULLP(BgL_nodesz00_1900))
																{	/* Unsafe/ssr.scm 419 */
																	BgL_adopterz00_1847 = BgL_bestz00_1898;
																}
															else
																{	/* Unsafe/ssr.scm 421 */
																	obj_t BgL_nextz00_1903;

																	BgL_nextz00_1903 =
																		CAR(((obj_t) BgL_nodesz00_1900));
																	{	/* Unsafe/ssr.scm 421 */
																		obj_t BgL_nextzd2rankzd2_1904;

																		{	/* Unsafe/ssr.scm 214 */
																			obj_t BgL__ortest_1095z00_3077;

																			BgL__ortest_1095z00_3077 =
																				BGl_hashtablezd2getzd2zz__hashz00
																				(VECTOR_REF(BgL_graphz00_106, 1L),
																				BgL_nextz00_1903);
																			if (CBOOL(BgL__ortest_1095z00_3077))
																				{	/* Unsafe/ssr.scm 214 */
																					BgL_nextzd2rankzd2_1904 =
																						BgL__ortest_1095z00_3077;
																				}
																			else
																				{	/* Unsafe/ssr.scm 214 */
																					BgL_nextzd2rankzd2_1904 =
																						BGL_REAL_CNST
																						(BGl_real2089z00zz__ssrz00);
																				}
																		}
																		{	/* Unsafe/ssr.scm 422 */

																			{	/* Unsafe/ssr.scm 423 */
																				bool_t BgL_test2346z00_5016;

																				{	/* Unsafe/ssr.scm 423 */
																					bool_t BgL_test2347z00_5017;

																					if (INTEGERP(BgL_nextzd2rankzd2_1904))
																						{	/* Unsafe/ssr.scm 423 */
																							BgL_test2347z00_5017 =
																								INTEGERP(BgL_rankz00_1899);
																						}
																					else
																						{	/* Unsafe/ssr.scm 423 */
																							BgL_test2347z00_5017 =
																								((bool_t) 0);
																						}
																					if (BgL_test2347z00_5017)
																						{	/* Unsafe/ssr.scm 423 */
																							BgL_test2346z00_5016 =
																								(
																								(long)
																								CINT(BgL_nextzd2rankzd2_1904) <
																								(long) CINT(BgL_rankz00_1899));
																						}
																					else
																						{	/* Unsafe/ssr.scm 423 */
																							BgL_test2346z00_5016 =
																								BGl_2zc3zc3zz__r4_numbers_6_5z00
																								(BgL_nextzd2rankzd2_1904,
																								BgL_rankz00_1899);
																						}
																				}
																				if (BgL_test2346z00_5016)
																					{
																						obj_t BgL_nodesz00_5027;
																						obj_t BgL_rankz00_5026;
																						obj_t BgL_bestz00_5025;

																						BgL_bestz00_5025 = BgL_nextz00_1903;
																						BgL_rankz00_5026 =
																							BgL_nextzd2rankzd2_1904;
																						BgL_nodesz00_5027 =
																							CDR(((obj_t) BgL_nodesz00_1900));
																						BgL_nodesz00_1900 =
																							BgL_nodesz00_5027;
																						BgL_rankz00_1899 = BgL_rankz00_5026;
																						BgL_bestz00_1898 = BgL_bestz00_5025;
																						goto
																							BgL_zc3z04anonymousza31602ze3z87_1901;
																					}
																				else
																					{
																						obj_t BgL_nodesz00_5030;

																						BgL_nodesz00_5030 =
																							CDR(((obj_t) BgL_nodesz00_1900));
																						BgL_nodesz00_1900 =
																							BgL_nodesz00_5030;
																						goto
																							BgL_zc3z04anonymousza31602ze3z87_1901;
																					}
																			}
																		}
																	}
																}
														}
													}
												}
											{
												obj_t BgL_l1223z00_3181;

												BgL_l1223z00_3181 = BgL_friendliesz00_1825;
											BgL_zc3z04anonymousza31583ze3z87_3180:
												if (PAIRP(BgL_l1223z00_3181))
													{	/* Unsafe/ssr.scm 454 */
														BGl_removezd2friendz12zc0zz__ssrz00
															(BgL_graphz00_106, CAR(BgL_l1223z00_3181),
															BINT(BgL_nodez00_107));
														{
															obj_t BgL_l1223z00_5038;

															BgL_l1223z00_5038 = CDR(BgL_l1223z00_3181);
															BgL_l1223z00_3181 = BgL_l1223z00_5038;
															goto BgL_zc3z04anonymousza31583ze3z87_3180;
														}
													}
												else
													{	/* Unsafe/ssr.scm 454 */
														((bool_t) 1);
													}
											}
											if (CBOOL(BgL_parentz00_1824))
												{	/* Unsafe/ssr.scm 455 */
													BGl_removezd2parentzd2edgez12z12zz__ssrz00
														(BgL_graphz00_106, BgL_nodez00_107,
														BgL_ondisconnectz00_110);
												}
											else
												{	/* Unsafe/ssr.scm 455 */
													BFALSE;
												}
											BGl_ssrzd2addzd2edgez12z12zz__ssrz00(BgL_graphz00_106,
												(long) CINT(BgL_adopterz00_1847), BgL_otherz00_108,
												BgL_onconnectz00_109);
											{
												obj_t BgL_l1225z00_1858;

												{	/* Unsafe/ssr.scm 458 */
													bool_t BgL_tmpz00_5045;

													BgL_l1225z00_1858 = BgL_friendliesz00_1825;
												BgL_zc3z04anonymousza31587ze3z87_1859:
													if (PAIRP(BgL_l1225z00_1858))
														{	/* Unsafe/ssr.scm 458 */
															{	/* Unsafe/ssr.scm 458 */
																obj_t BgL_fz00_1861;

																BgL_fz00_1861 = CAR(BgL_l1225z00_1858);
																{	/* Unsafe/ssr.scm 458 */
																	bool_t BgL_test2352z00_5049;

																	{	/* Unsafe/ssr.scm 458 */
																		bool_t BgL_test2353z00_5050;

																		if (INTEGERP(BgL_fz00_1861))
																			{	/* Unsafe/ssr.scm 458 */
																				BgL_test2353z00_5050 =
																					INTEGERP(BgL_adopterz00_1847);
																			}
																		else
																			{	/* Unsafe/ssr.scm 458 */
																				BgL_test2353z00_5050 = ((bool_t) 0);
																			}
																		if (BgL_test2353z00_5050)
																			{	/* Unsafe/ssr.scm 458 */
																				BgL_test2352z00_5049 =
																					(
																					(long) CINT(BgL_fz00_1861) ==
																					(long) CINT(BgL_adopterz00_1847));
																			}
																		else
																			{	/* Unsafe/ssr.scm 458 */
																				BgL_test2352z00_5049 =
																					BGl_2zd3zd3zz__r4_numbers_6_5z00
																					(BgL_fz00_1861, BgL_adopterz00_1847);
																			}
																	}
																	if (BgL_test2352z00_5049)
																		{	/* Unsafe/ssr.scm 458 */
																			BFALSE;
																		}
																	else
																		{	/* Unsafe/ssr.scm 458 */
																			BGl_hashtablezd2putz12zc0zz__hashz00
																				(BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00
																				(VECTOR_REF(BgL_graphz00_106, 4L),
																					BgL_fz00_1861),
																				BINT(BgL_otherz00_108), BTRUE);
																			BGl_hashtablezd2putz12zc0zz__hashz00
																				(BGl_tablezd2refzd2orzd2setzd2defaultz12z12zz__ssrz00
																				(VECTOR_REF(BgL_graphz00_106, 5L),
																					BINT(BgL_otherz00_108)),
																				BgL_fz00_1861, BTRUE);
																		}
																}
															}
															{
																obj_t BgL_l1225z00_5066;

																BgL_l1225z00_5066 = CDR(BgL_l1225z00_1858);
																BgL_l1225z00_1858 = BgL_l1225z00_5066;
																goto BgL_zc3z04anonymousza31587ze3z87_1859;
															}
														}
													else
														{	/* Unsafe/ssr.scm 458 */
															BgL_tmpz00_5045 = ((bool_t) 1);
														}
													return BBOOL(BgL_tmpz00_5045);
												}
											}
										}
								}
						}
					}
			}
		}

	}



/* ssr-connected? */
	BGL_EXPORTED_DEF obj_t BGl_ssrzd2connectedzf3z21zz__ssrz00(obj_t
		BgL_graphz00_113, long BgL_nodez00_114)
	{
		{	/* Unsafe/ssr.scm 460 */
			{	/* Unsafe/ssr.scm 461 */
				bool_t BgL_test2355z00_5069;

				{	/* Unsafe/ssr.scm 461 */
					obj_t BgL_a1227z00_3201;

					{	/* Unsafe/ssr.scm 214 */
						obj_t BgL__ortest_1095z00_3204;

						BgL__ortest_1095z00_3204 =
							BGl_hashtablezd2getzd2zz__hashz00(VECTOR_REF(BgL_graphz00_113,
								1L), BINT(BgL_nodez00_114));
						if (CBOOL(BgL__ortest_1095z00_3204))
							{	/* Unsafe/ssr.scm 214 */
								BgL_a1227z00_3201 = BgL__ortest_1095z00_3204;
							}
						else
							{	/* Unsafe/ssr.scm 214 */
								BgL_a1227z00_3201 = BGL_REAL_CNST(BGl_real2089z00zz__ssrz00);
							}
					}
					BgL_test2355z00_5069 =
						BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_a1227z00_3201,
						BGL_REAL_CNST(BGl_real2089z00zz__ssrz00));
				}
				if (BgL_test2355z00_5069)
					{	/* Unsafe/ssr.scm 461 */
						return BFALSE;
					}
				else
					{	/* Unsafe/ssr.scm 461 */
						return BTRUE;
					}
			}
		}

	}



/* &ssr-connected? */
	obj_t BGl_z62ssrzd2connectedzf3z43zz__ssrz00(obj_t BgL_envz00_3518,
		obj_t BgL_graphz00_3519, obj_t BgL_nodez00_3520)
	{
		{	/* Unsafe/ssr.scm 460 */
			{	/* Unsafe/ssr.scm 461 */
				long BgL_auxz00_5083;
				obj_t BgL_auxz00_5076;

				{	/* Unsafe/ssr.scm 461 */
					obj_t BgL_tmpz00_5084;

					if (INTEGERP(BgL_nodez00_3520))
						{	/* Unsafe/ssr.scm 461 */
							BgL_tmpz00_5084 = BgL_nodez00_3520;
						}
					else
						{
							obj_t BgL_auxz00_5087;

							BgL_auxz00_5087 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
								BINT(17306L), BGl_string2114z00zz__ssrz00,
								BGl_string2088z00zz__ssrz00, BgL_nodez00_3520);
							FAILURE(BgL_auxz00_5087, BFALSE, BFALSE);
						}
					BgL_auxz00_5083 = (long) CINT(BgL_tmpz00_5084);
				}
				if (VECTORP(BgL_graphz00_3519))
					{	/* Unsafe/ssr.scm 461 */
						BgL_auxz00_5076 = BgL_graphz00_3519;
					}
				else
					{
						obj_t BgL_auxz00_5079;

						BgL_auxz00_5079 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string2078z00zz__ssrz00,
							BINT(17306L), BGl_string2114z00zz__ssrz00,
							BGl_string2080z00zz__ssrz00, BgL_graphz00_3519);
						FAILURE(BgL_auxz00_5079, BFALSE, BFALSE);
					}
				return
					BGl_ssrzd2connectedzf3z21zz__ssrz00(BgL_auxz00_5076, BgL_auxz00_5083);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 28 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 28 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 28 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__ssrz00(void)
	{
		{	/* Unsafe/ssr.scm 28 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string2115z00zz__ssrz00));
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(185672289L,
				BSTRING_TO_STRING(BGl_string2115z00zz__ssrz00));
			BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(86988580L,
				BSTRING_TO_STRING(BGl_string2115z00zz__ssrz00));
			BGl_modulezd2initializa7ationz75zz__r5_control_features_6_4z00(228151370L,
				BSTRING_TO_STRING(BGl_string2115z00zz__ssrz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string2115z00zz__ssrz00));
			return
				BGl_modulezd2initializa7ationz75zz__rgcz00(352600006L,
				BSTRING_TO_STRING(BGl_string2115z00zz__ssrz00));
		}

	}

#ifdef __cplusplus
}
#endif
