/*===========================================================================*/
/*   (Rgc/rgcset.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 Rgc/rgcset.scm -indent -o objs/obj_u/Rgc/rgcset.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___RGC_SET_TYPE_DEFINITIONS
#define BGL___RGC_SET_TYPE_DEFINITIONS
#endif													// BGL___RGC_SET_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_symbol1756z00zz__rgc_setz00 = BUNSPEC;
	static obj_t BGl_z62rgcsetzd2andz12za2zz__rgc_setz00(obj_t, obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__rgc_setz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00(obj_t,
		obj_t);
	static obj_t BGl_z62forzd2eachzd2rgcsetz62zz__rgc_setz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62rgcsetzd2butz12za2zz__rgc_setz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2notz12zc0zz__rgc_setz00(obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__rgc_setz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_z62rgcsetzd2lengthzb0zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31275ze3ze5zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_z62rgcsetzd2ze3listz53zz__rgc_setz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2addz12zc0zz__rgc_setz00(obj_t, long);
	static obj_t BGl_toplevelzd2initzd2zz__rgc_setz00(void);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2removez12zc0zz__rgc_setz00(obj_t, long);
	extern obj_t create_struct(obj_t, int);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2ze3listz31zz__rgc_setz00(obj_t);
	static obj_t BGl_z62rgcsetzd2memberzf3z43zz__rgc_setz00(obj_t, obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__rgc_setz00(void);
	static long BGl_bitzd2perzd2wordz00zz__rgc_setz00 = 0L;
	static obj_t BGl_genericzd2initzd2zz__rgc_setz00(void);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2notzd2zz__rgc_setz00(obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zz__rgc_setz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__rgc_setz00(void);
	static obj_t BGl_objectzd2initzd2zz__rgc_setz00(void);
	static obj_t BGl_z62rgcsetzd2ze3hashz53zz__rgc_setz00(obj_t, obj_t);
	extern obj_t BGl_2zd2zd2zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_z62makezd2rgcsetzb0zz__rgc_setz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2andz12zc0zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_z62rgcsetzd2notzb0zz__rgc_setz00(obj_t, obj_t);
	BGL_EXPORTED_DECL long BGl_rgcsetzd2ze3hashz31zz__rgc_setz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2orz12zc0zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_z62rgcsetzd2orzb0zz__rgc_setz00(obj_t, obj_t, obj_t);
	extern obj_t bgl_bignum_add(obj_t, obj_t);
	static obj_t BGl_z62listzd2ze3rgcsetz53zz__rgc_setz00(obj_t, obj_t, obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2butz12zc0zz__rgc_setz00(obj_t, obj_t);
	extern obj_t make_vector(long, obj_t);
	static obj_t BGl_z62rgcsetzd2notz12za2zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_z62rgcsetzd2orz12za2zz__rgc_setz00(obj_t, obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zz__rgc_setz00(void);
	BGL_EXPORTED_DECL bool_t BGl_rgcsetzd2memberzf3z21zz__rgc_setz00(obj_t, long);
	BGL_EXPORTED_DECL bool_t BGl_rgcsetzd2equalzf3z21zz__rgc_setz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_listzd2ze3rgcsetz31zz__rgc_setz00(obj_t, long);
	static obj_t BGl_z62rgcsetzd2addz12za2zz__rgc_setz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_rgcsetzd2orzd2zz__rgc_setz00(obj_t, obj_t);
	extern obj_t bgl_bignum_sub(obj_t, obj_t);
	extern obj_t bgl_long_to_bignum(long);
	BGL_EXPORTED_DECL long BGl_rgcsetzd2lengthzd2zz__rgc_setz00(obj_t);
	static obj_t BGl_z62rgcsetzd2removez12za2zz__rgc_setz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62rgcsetzd2equalzf3z43zz__rgc_setz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_makezd2rgcsetzd2zz__rgc_setz00(long);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2ze3listzd2envze3zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2za7e3l1768za7,
		BGl_z62rgcsetzd2ze3listz53zz__rgc_setz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2orzd2envz00zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2orza7b1769za7, BGl_z62rgcsetzd2orzb0zz__rgc_setz00,
		0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2ze3hashzd2envze3zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2za7e3h1770za7,
		BGl_z62rgcsetzd2ze3hashz53zz__rgc_setz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2orz12zd2envz12zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2orza711771za7,
		BGl_z62rgcsetzd2orz12za2zz__rgc_setz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2removez12zd2envz12zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2remo1772z00,
		BGl_z62rgcsetzd2removez12za2zz__rgc_setz00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_listzd2ze3rgcsetzd2envze3zz__rgc_setz00,
		BgL_bgl_za762listza7d2za7e3rgc1773za7,
		BGl_z62listzd2ze3rgcsetz53zz__rgc_setz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_forzd2eachzd2rgcsetzd2envzd2zz__rgc_setz00,
		BgL_bgl_za762forza7d2eachza7d21774za7,
		BGl_z62forzd2eachzd2rgcsetz62zz__rgc_setz00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2lengthzd2envz00zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2leng1775z00,
		BGl_z62rgcsetzd2lengthzb0zz__rgc_setz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2equalzf3zd2envzf3zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2equa1776z00,
		BGl_z62rgcsetzd2equalzf3z43zz__rgc_setz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2memberzf3zd2envzf3zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2memb1777z00,
		BGl_z62rgcsetzd2memberzf3z43zz__rgc_setz00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_makezd2rgcsetzd2envz00zz__rgc_setz00,
		BgL_bgl_za762makeza7d2rgcset1778z00, BGl_z62makezd2rgcsetzb0zz__rgc_setz00,
		0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2andz12zd2envz12zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2andza71779za7,
		BGl_z62rgcsetzd2andz12za2zz__rgc_setz00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string1757z00zz__rgc_setz00,
		BgL_bgl_string1757za700za7za7_1780za7, "__rgcset", 8);
	      BGL_DEFINE_STRING(BGl_string1758z00zz__rgc_setz00,
		BgL_bgl_string1758za700za7za7_1781za7, "/tmp/bigloo/runtime/Rgc/rgcset.scm",
		34);
	      BGL_DEFINE_STRING(BGl_string1759z00zz__rgc_setz00,
		BgL_bgl_string1759za700za7za7_1782za7, "&make-rgcset", 12);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2butz12zd2envz12zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2butza71783za7,
		BGl_z62rgcsetzd2butz12za2zz__rgc_setz00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2notzd2envz00zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2notza71784za7, BGl_z62rgcsetzd2notzb0zz__rgc_setz00,
		0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2notz12zd2envz12zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2notza71785za7,
		BGl_z62rgcsetzd2notz12za2zz__rgc_setz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1760z00zz__rgc_setz00,
		BgL_bgl_string1760za700za7za7_1786za7, "bint", 4);
	      BGL_DEFINE_STRING(BGl_string1761z00zz__rgc_setz00,
		BgL_bgl_string1761za700za7za7_1787za7, "&rgcset-add!", 12);
	      BGL_DEFINE_STRING(BGl_string1762z00zz__rgc_setz00,
		BgL_bgl_string1762za700za7za7_1788za7, "&rgcset-member?", 15);
	      BGL_DEFINE_STRING(BGl_string1763z00zz__rgc_setz00,
		BgL_bgl_string1763za700za7za7_1789za7, "&list->rgcset", 13);
	      BGL_DEFINE_STRING(BGl_string1764z00zz__rgc_setz00,
		BgL_bgl_string1764za700za7za7_1790za7, "&for-each-rgcset", 16);
	      BGL_DEFINE_STRING(BGl_string1765z00zz__rgc_setz00,
		BgL_bgl_string1765za700za7za7_1791za7, "procedure", 9);
	      BGL_DEFINE_STRING(BGl_string1766z00zz__rgc_setz00,
		BgL_bgl_string1766za700za7za7_1792za7, "&rgcset-remove!", 15);
	      BGL_DEFINE_STRING(BGl_string1767z00zz__rgc_setz00,
		BgL_bgl_string1767za700za7za7_1793za7, "__rgc_set", 9);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_rgcsetzd2addz12zd2envz12zz__rgc_setz00,
		BgL_bgl_za762rgcsetza7d2addza71794za7,
		BGl_z62rgcsetzd2addz12za2zz__rgc_setz00, 0L, BUNSPEC, 2);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2addz12zd2envz12zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2addza71794za7);
		BGL_BIND_STRING(BGl_string1767z00zz__rgc_setz00,
			BgL_bgl_string1767za700za7za7_1793za7);
		BGL_BIND_STRING(BGl_string1766z00zz__rgc_setz00,
			BgL_bgl_string1766za700za7za7_1792za7);
		BGL_BIND_STRING(BGl_string1765z00zz__rgc_setz00,
			BgL_bgl_string1765za700za7za7_1791za7);
		BGL_BIND_STRING(BGl_string1764z00zz__rgc_setz00,
			BgL_bgl_string1764za700za7za7_1790za7);
		BGL_BIND_STRING(BGl_string1763z00zz__rgc_setz00,
			BgL_bgl_string1763za700za7za7_1789za7);
		BGL_BIND_STRING(BGl_string1762z00zz__rgc_setz00,
			BgL_bgl_string1762za700za7za7_1788za7);
		BGL_BIND_STRING(BGl_string1761z00zz__rgc_setz00,
			BgL_bgl_string1761za700za7za7_1787za7);
		BGL_BIND_STRING(BGl_string1760z00zz__rgc_setz00,
			BgL_bgl_string1760za700za7za7_1786za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2notz12zd2envz12zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2notza71785za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2notzd2envz00zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2notza71784za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2butz12zd2envz12zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2butza71783za7);
		BGL_BIND_STRING(BGl_string1759z00zz__rgc_setz00,
			BgL_bgl_string1759za700za7za7_1782za7);
		BGL_BIND_STRING(BGl_string1758z00zz__rgc_setz00,
			BgL_bgl_string1758za700za7za7_1781za7);
		BGL_BIND_STRING(BGl_string1757z00zz__rgc_setz00,
			BgL_bgl_string1757za700za7za7_1780za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2andz12zd2envz12zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2andza71779za7);
		BGL_BIND_PROCEDURE(BGl_makezd2rgcsetzd2envz00zz__rgc_setz00,
			BgL_bgl_za762makeza7d2rgcset1778z00);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2memberzf3zd2envzf3zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2memb1777z00);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2equalzf3zd2envzf3zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2equa1776z00);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2lengthzd2envz00zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2leng1775z00);
		BGL_BIND_PROCEDURE(BGl_forzd2eachzd2rgcsetzd2envzd2zz__rgc_setz00,
			BgL_bgl_za762forza7d2eachza7d21774za7);
		BGL_BIND_PROCEDURE(BGl_listzd2ze3rgcsetzd2envze3zz__rgc_setz00,
			BgL_bgl_za762listza7d2za7e3rgc1773za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2removez12zd2envz12zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2remo1772z00);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2orz12zd2envz12zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2orza711771za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2ze3hashzd2envze3zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2za7e3h1770za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2orzd2envz00zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2orza7b1769za7);
		BGL_BIND_PROCEDURE(BGl_rgcsetzd2ze3listzd2envze3zz__rgc_setz00,
			BgL_bgl_za762rgcsetza7d2za7e3l1768za7);
	}

/* 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_symbol1756z00zz__rgc_setz00));
		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__rgc_setz00));
#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__rgc_setz00(long
		BgL_checksumz00_2671, char *BgL_fromz00_2672)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__rgc_setz00))
				{
					BGl_requirezd2initializa7ationz75zz__rgc_setz00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__rgc_setz00();
					BGl_cnstzd2initzd2zz__rgc_setz00();
					BGl_importedzd2moduleszd2initz00zz__rgc_setz00();
					return BGl_toplevelzd2initzd2zz__rgc_setz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__rgc_setz00(void)
	{
		{	/* Rgc/rgcset.scm 15 */
			return (BGl_symbol1756z00zz__rgc_setz00 =
				bstring_to_symbol(BGl_string1757z00zz__rgc_setz00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__rgc_setz00(void)
	{
		{	/* Rgc/rgcset.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__rgc_setz00(void)
	{
		{	/* Rgc/rgcset.scm 15 */
			BGl_bitzd2perzd2wordz00zz__rgc_setz00 = (BGL_INT_BIT_SIZE - 1L);
			return BUNSPEC;
		}

	}



/* make-rgcset */
	BGL_EXPORTED_DEF obj_t BGl_makezd2rgcsetzd2zz__rgc_setz00(long
		BgL_siza7eza7_13)
	{
		{	/* Rgc/rgcset.scm 84 */
			{	/* Rgc/rgcset.scm 85 */
				obj_t BgL_arg1211z00_1233;

				{	/* Rgc/rgcset.scm 85 */
					obj_t BgL_arg1213z00_1234;

					{	/* Rgc/rgcset.scm 85 */
						long BgL_b1091z00_1235;

						BgL_b1091z00_1235 =
							(BgL_siza7eza7_13 / BGl_bitzd2perzd2wordz00zz__rgc_setz00);
						{	/* Rgc/rgcset.scm 85 */
							obj_t BgL_za72za7_1880;

							BgL_za72za7_1880 = BINT(BgL_b1091z00_1235);
							{	/* Rgc/rgcset.scm 85 */
								obj_t BgL_tmpz00_1881;

								BgL_tmpz00_1881 = BINT(0L);
								{	/* Rgc/rgcset.scm 85 */
									bool_t BgL_test1796z00_2687;

									{	/* Rgc/rgcset.scm 85 */
										obj_t BgL_tmpz00_2688;

										BgL_tmpz00_2688 = BINT(1L);
										BgL_test1796z00_2687 =
											BGL_ADDFX_OV(BgL_tmpz00_2688, BgL_za72za7_1880,
											BgL_tmpz00_1881);
									}
									if (BgL_test1796z00_2687)
										{	/* Rgc/rgcset.scm 85 */
											BgL_arg1213z00_1234 =
												bgl_bignum_add(bgl_long_to_bignum(1L),
												bgl_long_to_bignum((long) CINT(BgL_za72za7_1880)));
										}
									else
										{	/* Rgc/rgcset.scm 85 */
											BgL_arg1213z00_1234 = BgL_tmpz00_1881;
										}
								}
							}
						}
					}
					BgL_arg1211z00_1233 =
						make_vector((long) CINT(BgL_arg1213z00_1234), BINT(0L));
				}
				{	/* Rgc/rgcset.scm 79 */
					obj_t BgL_newz00_1889;

					BgL_newz00_1889 =
						create_struct(BGl_symbol1756z00zz__rgc_setz00, (int) (2L));
					{	/* Rgc/rgcset.scm 79 */
						int BgL_tmpz00_2700;

						BgL_tmpz00_2700 = (int) (1L);
						STRUCT_SET(BgL_newz00_1889, BgL_tmpz00_2700, BgL_arg1211z00_1233);
					}
					{	/* Rgc/rgcset.scm 79 */
						obj_t BgL_auxz00_2705;
						int BgL_tmpz00_2703;

						BgL_auxz00_2705 = BINT(BgL_siza7eza7_13);
						BgL_tmpz00_2703 = (int) (0L);
						STRUCT_SET(BgL_newz00_1889, BgL_tmpz00_2703, BgL_auxz00_2705);
					}
					return BgL_newz00_1889;
				}
			}
		}

	}



/* &make-rgcset */
	obj_t BGl_z62makezd2rgcsetzb0zz__rgc_setz00(obj_t BgL_envz00_2611,
		obj_t BgL_siza7eza7_2612)
	{
		{	/* Rgc/rgcset.scm 84 */
			{	/* Rgc/rgcset.scm 85 */
				long BgL_auxz00_2708;

				{	/* Rgc/rgcset.scm 85 */
					obj_t BgL_tmpz00_2709;

					if (INTEGERP(BgL_siza7eza7_2612))
						{	/* Rgc/rgcset.scm 85 */
							BgL_tmpz00_2709 = BgL_siza7eza7_2612;
						}
					else
						{
							obj_t BgL_auxz00_2712;

							BgL_auxz00_2712 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1758z00zz__rgc_setz00,
								BINT(3274L), BGl_string1759z00zz__rgc_setz00,
								BGl_string1760z00zz__rgc_setz00, BgL_siza7eza7_2612);
							FAILURE(BgL_auxz00_2712, BFALSE, BFALSE);
						}
					BgL_auxz00_2708 = (long) CINT(BgL_tmpz00_2709);
				}
				return BGl_makezd2rgcsetzd2zz__rgc_setz00(BgL_auxz00_2708);
			}
		}

	}



/* rgcset-add! */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2addz12zc0zz__rgc_setz00(obj_t
		BgL_rgcsetz00_20, long BgL_numz00_21)
	{
		{	/* Rgc/rgcset.scm 108 */
			{	/* Rgc/rgcset.scm 109 */
				long BgL_wordzd2numzd2_1903;

				BgL_wordzd2numzd2_1903 =
					(BgL_numz00_21 / BGl_bitzd2perzd2wordz00zz__rgc_setz00);
				{	/* Rgc/rgcset.scm 109 */
					long BgL_wordzd2bitzd2_1904;

					{	/* Rgc/rgcset.scm 110 */
						long BgL_n1z00_1910;
						long BgL_n2z00_1911;

						BgL_n1z00_1910 = BgL_numz00_21;
						BgL_n2z00_1911 = BGl_bitzd2perzd2wordz00zz__rgc_setz00;
						{	/* Rgc/rgcset.scm 110 */
							bool_t BgL_test1798z00_2719;

							{	/* Rgc/rgcset.scm 110 */
								long BgL_arg1554z00_1913;

								BgL_arg1554z00_1913 =
									(((BgL_n1z00_1910) | (BgL_n2z00_1911)) & -2147483648);
								BgL_test1798z00_2719 = (BgL_arg1554z00_1913 == 0L);
							}
							if (BgL_test1798z00_2719)
								{	/* Rgc/rgcset.scm 110 */
									int32_t BgL_arg1549z00_1914;

									{	/* Rgc/rgcset.scm 110 */
										int32_t BgL_arg1551z00_1915;
										int32_t BgL_arg1552z00_1916;

										BgL_arg1551z00_1915 = (int32_t) (BgL_n1z00_1910);
										BgL_arg1552z00_1916 = (int32_t) (BgL_n2z00_1911);
										BgL_arg1549z00_1914 =
											(BgL_arg1551z00_1915 % BgL_arg1552z00_1916);
									}
									{	/* Rgc/rgcset.scm 110 */
										long BgL_arg1681z00_1921;

										BgL_arg1681z00_1921 = (long) (BgL_arg1549z00_1914);
										BgL_wordzd2bitzd2_1904 = (long) (BgL_arg1681z00_1921);
								}}
							else
								{	/* Rgc/rgcset.scm 110 */
									BgL_wordzd2bitzd2_1904 = (BgL_n1z00_1910 % BgL_n2z00_1911);
								}
						}
					}
					{	/* Rgc/rgcset.scm 110 */
						obj_t BgL_oldz00_1905;

						{	/* Rgc/rgcset.scm 97 */
							obj_t BgL_arg1216z00_1923;

							BgL_arg1216z00_1923 =
								STRUCT_REF(((obj_t) BgL_rgcsetz00_20), (int) (1L));
							BgL_oldz00_1905 =
								VECTOR_REF(
								((obj_t) BgL_arg1216z00_1923), BgL_wordzd2numzd2_1903);
						}
						{	/* Rgc/rgcset.scm 111 */

							{	/* Rgc/rgcset.scm 114 */
								long BgL_arg1219z00_1906;

								BgL_arg1219z00_1906 =
									(
									(long) CINT(BgL_oldz00_1905) |
									(1L << (int) (BgL_wordzd2bitzd2_1904)));
								{	/* Rgc/rgcset.scm 91 */
									obj_t BgL_arg1215z00_1930;

									BgL_arg1215z00_1930 =
										STRUCT_REF(((obj_t) BgL_rgcsetz00_20), (int) (1L));
									return
										VECTOR_SET(
										((obj_t) BgL_arg1215z00_1930), BgL_wordzd2numzd2_1903,
										BINT(BgL_arg1219z00_1906));
								}
							}
						}
					}
				}
			}
		}

	}



/* &rgcset-add! */
	obj_t BGl_z62rgcsetzd2addz12za2zz__rgc_setz00(obj_t BgL_envz00_2613,
		obj_t BgL_rgcsetz00_2614, obj_t BgL_numz00_2615)
	{
		{	/* Rgc/rgcset.scm 108 */
			{	/* Rgc/rgcset.scm 109 */
				long BgL_auxz00_2743;

				{	/* Rgc/rgcset.scm 109 */
					obj_t BgL_tmpz00_2744;

					if (INTEGERP(BgL_numz00_2615))
						{	/* Rgc/rgcset.scm 109 */
							BgL_tmpz00_2744 = BgL_numz00_2615;
						}
					else
						{
							obj_t BgL_auxz00_2747;

							BgL_auxz00_2747 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1758z00zz__rgc_setz00,
								BINT(4509L), BGl_string1761z00zz__rgc_setz00,
								BGl_string1760z00zz__rgc_setz00, BgL_numz00_2615);
							FAILURE(BgL_auxz00_2747, BFALSE, BFALSE);
						}
					BgL_auxz00_2743 = (long) CINT(BgL_tmpz00_2744);
				}
				return
					BGl_rgcsetzd2addz12zc0zz__rgc_setz00(BgL_rgcsetz00_2614,
					BgL_auxz00_2743);
			}
		}

	}



/* rgcset-member? */
	BGL_EXPORTED_DEF bool_t BGl_rgcsetzd2memberzf3z21zz__rgc_setz00(obj_t
		BgL_setz00_22, long BgL_numz00_23)
	{
		{	/* Rgc/rgcset.scm 119 */
			{	/* Rgc/rgcset.scm 120 */
				long BgL_wordzd2numzd2_1934;

				BgL_wordzd2numzd2_1934 =
					(BgL_numz00_23 / BGl_bitzd2perzd2wordz00zz__rgc_setz00);
				{	/* Rgc/rgcset.scm 120 */
					long BgL_wordzd2bitzd2_1935;

					{	/* Rgc/rgcset.scm 121 */
						long BgL_n1z00_1941;
						long BgL_n2z00_1942;

						BgL_n1z00_1941 = BgL_numz00_23;
						BgL_n2z00_1942 = BGl_bitzd2perzd2wordz00zz__rgc_setz00;
						{	/* Rgc/rgcset.scm 121 */
							bool_t BgL_test1800z00_2754;

							{	/* Rgc/rgcset.scm 121 */
								long BgL_arg1554z00_1944;

								BgL_arg1554z00_1944 =
									(((BgL_n1z00_1941) | (BgL_n2z00_1942)) & -2147483648);
								BgL_test1800z00_2754 = (BgL_arg1554z00_1944 == 0L);
							}
							if (BgL_test1800z00_2754)
								{	/* Rgc/rgcset.scm 121 */
									int32_t BgL_arg1549z00_1945;

									{	/* Rgc/rgcset.scm 121 */
										int32_t BgL_arg1551z00_1946;
										int32_t BgL_arg1552z00_1947;

										BgL_arg1551z00_1946 = (int32_t) (BgL_n1z00_1941);
										BgL_arg1552z00_1947 = (int32_t) (BgL_n2z00_1942);
										BgL_arg1549z00_1945 =
											(BgL_arg1551z00_1946 % BgL_arg1552z00_1947);
									}
									{	/* Rgc/rgcset.scm 121 */
										long BgL_arg1681z00_1952;

										BgL_arg1681z00_1952 = (long) (BgL_arg1549z00_1945);
										BgL_wordzd2bitzd2_1935 = (long) (BgL_arg1681z00_1952);
								}}
							else
								{	/* Rgc/rgcset.scm 121 */
									BgL_wordzd2bitzd2_1935 = (BgL_n1z00_1941 % BgL_n2z00_1942);
								}
						}
					}
					{	/* Rgc/rgcset.scm 121 */
						obj_t BgL_oldz00_1936;

						{	/* Rgc/rgcset.scm 97 */
							obj_t BgL_arg1216z00_1954;

							BgL_arg1216z00_1954 =
								STRUCT_REF(((obj_t) BgL_setz00_22), (int) (1L));
							BgL_oldz00_1936 =
								VECTOR_REF(
								((obj_t) BgL_arg1216z00_1954), BgL_wordzd2numzd2_1934);
						}
						{	/* Rgc/rgcset.scm 122 */
							long BgL_maskz00_1937;

							BgL_maskz00_1937 = (1L << (int) (BgL_wordzd2bitzd2_1935));
							{	/* Rgc/rgcset.scm 123 */

								return
									(BgL_maskz00_1937 ==
									((long) CINT(BgL_oldz00_1936) & BgL_maskz00_1937));
		}}}}}}

	}



/* &rgcset-member? */
	obj_t BGl_z62rgcsetzd2memberzf3z43zz__rgc_setz00(obj_t BgL_envz00_2616,
		obj_t BgL_setz00_2617, obj_t BgL_numz00_2618)
	{
		{	/* Rgc/rgcset.scm 119 */
			{	/* Rgc/rgcset.scm 120 */
				bool_t BgL_tmpz00_2773;

				{	/* Rgc/rgcset.scm 120 */
					long BgL_auxz00_2774;

					{	/* Rgc/rgcset.scm 120 */
						obj_t BgL_tmpz00_2775;

						if (INTEGERP(BgL_numz00_2618))
							{	/* Rgc/rgcset.scm 120 */
								BgL_tmpz00_2775 = BgL_numz00_2618;
							}
						else
							{
								obj_t BgL_auxz00_2778;

								BgL_auxz00_2778 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string1758z00zz__rgc_setz00, BINT(4992L),
									BGl_string1762z00zz__rgc_setz00,
									BGl_string1760z00zz__rgc_setz00, BgL_numz00_2618);
								FAILURE(BgL_auxz00_2778, BFALSE, BFALSE);
							}
						BgL_auxz00_2774 = (long) CINT(BgL_tmpz00_2775);
					}
					BgL_tmpz00_2773 =
						BGl_rgcsetzd2memberzf3z21zz__rgc_setz00(BgL_setz00_2617,
						BgL_auxz00_2774);
				}
				return BBOOL(BgL_tmpz00_2773);
			}
		}

	}



/* list->rgcset */
	BGL_EXPORTED_DEF obj_t BGl_listzd2ze3rgcsetz31zz__rgc_setz00(obj_t
		BgL_lstz00_24, long BgL_maxz00_25)
	{
		{	/* Rgc/rgcset.scm 129 */
			{	/* Rgc/rgcset.scm 130 */
				obj_t BgL_setz00_1963;

				BgL_setz00_1963 = BGl_makezd2rgcsetzd2zz__rgc_setz00(BgL_maxz00_25);
				{
					obj_t BgL_l1092z00_2012;

					BgL_l1092z00_2012 = BgL_lstz00_24;
				BgL_zc3z04anonymousza31226ze3z87_2011:
					if (PAIRP(BgL_l1092z00_2012))
						{	/* Rgc/rgcset.scm 131 */
							{	/* Rgc/rgcset.scm 131 */
								obj_t BgL_itemz00_2017;

								BgL_itemz00_2017 = CAR(BgL_l1092z00_2012);
								BGl_rgcsetzd2addz12zc0zz__rgc_setz00(BgL_setz00_1963,
									(long) CINT(BgL_itemz00_2017));
							}
							{
								obj_t BgL_l1092z00_2791;

								BgL_l1092z00_2791 = CDR(BgL_l1092z00_2012);
								BgL_l1092z00_2012 = BgL_l1092z00_2791;
								goto BgL_zc3z04anonymousza31226ze3z87_2011;
							}
						}
					else
						{	/* Rgc/rgcset.scm 131 */
							((bool_t) 1);
						}
				}
				return BgL_setz00_1963;
			}
		}

	}



/* &list->rgcset */
	obj_t BGl_z62listzd2ze3rgcsetz53zz__rgc_setz00(obj_t BgL_envz00_2619,
		obj_t BgL_lstz00_2620, obj_t BgL_maxz00_2621)
	{
		{	/* Rgc/rgcset.scm 129 */
			{	/* Rgc/rgcset.scm 130 */
				long BgL_auxz00_2793;

				{	/* Rgc/rgcset.scm 130 */
					obj_t BgL_tmpz00_2794;

					if (INTEGERP(BgL_maxz00_2621))
						{	/* Rgc/rgcset.scm 130 */
							BgL_tmpz00_2794 = BgL_maxz00_2621;
						}
					else
						{
							obj_t BgL_auxz00_2797;

							BgL_auxz00_2797 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1758z00zz__rgc_setz00,
								BINT(5454L), BGl_string1763z00zz__rgc_setz00,
								BGl_string1760z00zz__rgc_setz00, BgL_maxz00_2621);
							FAILURE(BgL_auxz00_2797, BFALSE, BFALSE);
						}
					BgL_auxz00_2793 = (long) CINT(BgL_tmpz00_2794);
				}
				return
					BGl_listzd2ze3rgcsetz31zz__rgc_setz00(BgL_lstz00_2620,
					BgL_auxz00_2793);
			}
		}

	}



/* rgcset->list */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2ze3listz31zz__rgc_setz00(obj_t
		BgL_setz00_26)
	{
		{	/* Rgc/rgcset.scm 137 */
			{	/* Rgc/rgcset.scm 138 */
				obj_t BgL_maxz00_1257;
				long BgL_maxmaskz00_1258;

				BgL_maxz00_1257 = STRUCT_REF(((obj_t) BgL_setz00_26), (int) (0L));
				{	/* Rgc/rgcset.scm 139 */
					long BgL_yz00_2022;

					BgL_yz00_2022 = BGl_bitzd2perzd2wordz00zz__rgc_setz00;
					BgL_maxmaskz00_1258 = (1L << (int) (BgL_yz00_2022));
				}
				{	/* Rgc/rgcset.scm 140 */
					obj_t BgL_g1039z00_1259;

					{	/* Rgc/rgcset.scm 97 */
						obj_t BgL_arg1216z00_2023;

						BgL_arg1216z00_2023 =
							STRUCT_REF(((obj_t) BgL_setz00_26), (int) (1L));
						BgL_g1039z00_1259 = VECTOR_REF(((obj_t) BgL_arg1216z00_2023), 0L);
					}
					{
						long BgL_iz00_2045;
						long BgL_wordzd2numzd2_2046;
						obj_t BgL_wordz00_2047;
						long BgL_maskz00_2048;
						obj_t BgL_resz00_2049;

						BgL_iz00_2045 = 0L;
						BgL_wordzd2numzd2_2046 = 0L;
						BgL_wordz00_2047 = BgL_g1039z00_1259;
						BgL_maskz00_2048 = 1L;
						BgL_resz00_2049 = BNIL;
					BgL_loopz00_2044:
						if ((BgL_iz00_2045 == (long) CINT(BgL_maxz00_1257)))
							{	/* Rgc/rgcset.scm 146 */
								return BgL_resz00_2049;
							}
						else
							{	/* Rgc/rgcset.scm 146 */
								if ((BgL_maskz00_2048 == BgL_maxmaskz00_1258))
									{	/* Rgc/rgcset.scm 150 */
										long BgL_arg1234z00_2056;
										obj_t BgL_arg1235z00_2057;

										BgL_arg1234z00_2056 = (BgL_wordzd2numzd2_2046 + 1L);
										{	/* Rgc/rgcset.scm 151 */
											long BgL_arg1236z00_2059;

											BgL_arg1236z00_2059 = (BgL_wordzd2numzd2_2046 + 1L);
											{	/* Rgc/rgcset.scm 97 */
												obj_t BgL_arg1216z00_2061;

												BgL_arg1216z00_2061 =
													STRUCT_REF(((obj_t) BgL_setz00_26), (int) (1L));
												BgL_arg1235z00_2057 =
													VECTOR_REF(
													((obj_t) BgL_arg1216z00_2061), BgL_arg1236z00_2059);
										}}
										{
											long BgL_maskz00_2827;
											obj_t BgL_wordz00_2826;
											long BgL_wordzd2numzd2_2825;

											BgL_wordzd2numzd2_2825 = BgL_arg1234z00_2056;
											BgL_wordz00_2826 = BgL_arg1235z00_2057;
											BgL_maskz00_2827 = 1L;
											BgL_maskz00_2048 = BgL_maskz00_2827;
											BgL_wordz00_2047 = BgL_wordz00_2826;
											BgL_wordzd2numzd2_2046 = BgL_wordzd2numzd2_2825;
											goto BgL_loopz00_2044;
										}
									}
								else
									{	/* Rgc/rgcset.scm 148 */
										if (
											(((long) CINT(BgL_wordz00_2047) & BgL_maskz00_2048) ==
												BgL_maskz00_2048))
											{	/* Rgc/rgcset.scm 155 */
												long BgL_arg1241z00_2071;
												long BgL_arg1242z00_2072;
												obj_t BgL_arg1248z00_2073;

												BgL_arg1241z00_2071 = (BgL_iz00_2045 + 1L);
												BgL_arg1242z00_2072 = (BgL_maskz00_2048 << (int) (1L));
												BgL_arg1248z00_2073 =
													MAKE_YOUNG_PAIR(BINT(BgL_iz00_2045), BgL_resz00_2049);
												{
													obj_t BgL_resz00_2839;
													long BgL_maskz00_2838;
													long BgL_iz00_2837;

													BgL_iz00_2837 = BgL_arg1241z00_2071;
													BgL_maskz00_2838 = BgL_arg1242z00_2072;
													BgL_resz00_2839 = BgL_arg1248z00_2073;
													BgL_resz00_2049 = BgL_resz00_2839;
													BgL_maskz00_2048 = BgL_maskz00_2838;
													BgL_iz00_2045 = BgL_iz00_2837;
													goto BgL_loopz00_2044;
												}
											}
										else
											{
												long BgL_maskz00_2842;
												long BgL_iz00_2840;

												BgL_iz00_2840 = (BgL_iz00_2045 + 1L);
												BgL_maskz00_2842 = (BgL_maskz00_2048 << (int) (1L));
												BgL_maskz00_2048 = BgL_maskz00_2842;
												BgL_iz00_2045 = BgL_iz00_2840;
												goto BgL_loopz00_2044;
											}
									}
							}
					}
				}
			}
		}

	}



/* &rgcset->list */
	obj_t BGl_z62rgcsetzd2ze3listz53zz__rgc_setz00(obj_t BgL_envz00_2622,
		obj_t BgL_setz00_2623)
	{
		{	/* Rgc/rgcset.scm 137 */
			return BGl_rgcsetzd2ze3listz31zz__rgc_setz00(BgL_setz00_2623);
		}

	}



/* for-each-rgcset */
	BGL_EXPORTED_DEF obj_t BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00(obj_t
		BgL_procz00_27, obj_t BgL_setz00_28)
	{
		{	/* Rgc/rgcset.scm 162 */
			{	/* Rgc/rgcset.scm 163 */
				obj_t BgL_maxz00_1282;
				long BgL_maxmaskz00_1283;

				BgL_maxz00_1282 = STRUCT_REF(((obj_t) BgL_setz00_28), (int) (0L));
				{	/* Rgc/rgcset.scm 164 */
					long BgL_yz00_2081;

					BgL_yz00_2081 = BGl_bitzd2perzd2wordz00zz__rgc_setz00;
					BgL_maxmaskz00_1283 = (1L << (int) (BgL_yz00_2081));
				}
				{	/* Rgc/rgcset.scm 165 */
					obj_t BgL_g1041z00_1284;

					{	/* Rgc/rgcset.scm 97 */
						obj_t BgL_arg1216z00_2082;

						BgL_arg1216z00_2082 =
							STRUCT_REF(((obj_t) BgL_setz00_28), (int) (1L));
						BgL_g1041z00_1284 = VECTOR_REF(((obj_t) BgL_arg1216z00_2082), 0L);
					}
					{
						long BgL_iz00_2104;
						long BgL_wordzd2numzd2_2105;
						obj_t BgL_wordz00_2106;
						long BgL_maskz00_2107;

						BgL_iz00_2104 = 0L;
						BgL_wordzd2numzd2_2105 = 0L;
						BgL_wordz00_2106 = BgL_g1041z00_1284;
						BgL_maskz00_2107 = 1L;
					BgL_loopz00_2103:
						if ((BgL_iz00_2104 == (long) CINT(BgL_maxz00_1282)))
							{	/* Rgc/rgcset.scm 170 */
								return BUNSPEC;
							}
						else
							{	/* Rgc/rgcset.scm 170 */
								if ((BgL_maskz00_2107 == BgL_maxmaskz00_1283))
									{	/* Rgc/rgcset.scm 174 */
										long BgL_arg1258z00_2114;
										obj_t BgL_arg1259z00_2115;

										BgL_arg1258z00_2114 = (BgL_wordzd2numzd2_2105 + 1L);
										{	/* Rgc/rgcset.scm 175 */
											long BgL_arg1261z00_2117;

											BgL_arg1261z00_2117 = (BgL_wordzd2numzd2_2105 + 1L);
											{	/* Rgc/rgcset.scm 97 */
												obj_t BgL_arg1216z00_2119;

												BgL_arg1216z00_2119 =
													STRUCT_REF(((obj_t) BgL_setz00_28), (int) (1L));
												BgL_arg1259z00_2115 =
													VECTOR_REF(
													((obj_t) BgL_arg1216z00_2119), BgL_arg1261z00_2117);
										}}
										{
											long BgL_maskz00_2870;
											obj_t BgL_wordz00_2869;
											long BgL_wordzd2numzd2_2868;

											BgL_wordzd2numzd2_2868 = BgL_arg1258z00_2114;
											BgL_wordz00_2869 = BgL_arg1259z00_2115;
											BgL_maskz00_2870 = 1L;
											BgL_maskz00_2107 = BgL_maskz00_2870;
											BgL_wordz00_2106 = BgL_wordz00_2869;
											BgL_wordzd2numzd2_2105 = BgL_wordzd2numzd2_2868;
											goto BgL_loopz00_2103;
										}
									}
								else
									{	/* Rgc/rgcset.scm 172 */
										if (
											(((long) CINT(BgL_wordz00_2106) & BgL_maskz00_2107) ==
												BgL_maskz00_2107))
											{	/* Rgc/rgcset.scm 177 */
												BGL_PROCEDURE_CALL1(BgL_procz00_27,
													BINT(BgL_iz00_2104));
												{
													long BgL_maskz00_2882;
													long BgL_iz00_2880;

													BgL_iz00_2880 = (BgL_iz00_2104 + 1L);
													BgL_maskz00_2882 = (BgL_maskz00_2107 << (int) (1L));
													BgL_maskz00_2107 = BgL_maskz00_2882;
													BgL_iz00_2104 = BgL_iz00_2880;
													goto BgL_loopz00_2103;
												}
											}
										else
											{
												long BgL_maskz00_2887;
												long BgL_iz00_2885;

												BgL_iz00_2885 = (BgL_iz00_2104 + 1L);
												BgL_maskz00_2887 = (BgL_maskz00_2107 << (int) (1L));
												BgL_maskz00_2107 = BgL_maskz00_2887;
												BgL_iz00_2104 = BgL_iz00_2885;
												goto BgL_loopz00_2103;
											}
									}
							}
					}
				}
			}
		}

	}



/* &for-each-rgcset */
	obj_t BGl_z62forzd2eachzd2rgcsetz62zz__rgc_setz00(obj_t BgL_envz00_2624,
		obj_t BgL_procz00_2625, obj_t BgL_setz00_2626)
	{
		{	/* Rgc/rgcset.scm 162 */
			{	/* Rgc/rgcset.scm 163 */
				obj_t BgL_auxz00_2890;

				if (PROCEDUREP(BgL_procz00_2625))
					{	/* Rgc/rgcset.scm 163 */
						BgL_auxz00_2890 = BgL_procz00_2625;
					}
				else
					{
						obj_t BgL_auxz00_2893;

						BgL_auxz00_2893 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1758z00zz__rgc_setz00,
							BINT(6606L), BGl_string1764z00zz__rgc_setz00,
							BGl_string1765z00zz__rgc_setz00, BgL_procz00_2625);
						FAILURE(BgL_auxz00_2893, BFALSE, BFALSE);
					}
				return
					BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00(BgL_auxz00_2890,
					BgL_setz00_2626);
			}
		}

	}



/* rgcset-length */
	BGL_EXPORTED_DEF long BGl_rgcsetzd2lengthzd2zz__rgc_setz00(obj_t
		BgL_setz00_29)
	{
		{	/* Rgc/rgcset.scm 188 */
			{	/* Rgc/rgcset.scm 189 */
				obj_t BgL_numz00_2634;

				BgL_numz00_2634 = BGL_MAKE_UNSAFE_CELL(BINT(0L));
				{	/* Rgc/rgcset.scm 190 */
					obj_t BgL_zc3z04anonymousza31275ze3z87_2627;

					BgL_zc3z04anonymousza31275ze3z87_2627 =
						MAKE_FX_PROCEDURE(BGl_z62zc3z04anonymousza31275ze3ze5zz__rgc_setz00,
						(int) (1L), (int) (1L));
					PROCEDURE_SET(BgL_zc3z04anonymousza31275ze3z87_2627,
						(int) (0L), ((obj_t) BgL_numz00_2634));
					BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00
						(BgL_zc3z04anonymousza31275ze3z87_2627, BgL_setz00_29);
				}
				return (long) CINT(BGL_UNSAFE_CELL_REF(BgL_numz00_2634));
		}}

	}



/* &rgcset-length */
	obj_t BGl_z62rgcsetzd2lengthzb0zz__rgc_setz00(obj_t BgL_envz00_2628,
		obj_t BgL_setz00_2629)
	{
		{	/* Rgc/rgcset.scm 188 */
			return BINT(BGl_rgcsetzd2lengthzd2zz__rgc_setz00(BgL_setz00_2629));
		}

	}



/* &<@anonymous:1275> */
	obj_t BGl_z62zc3z04anonymousza31275ze3ze5zz__rgc_setz00(obj_t BgL_envz00_2630,
		obj_t BgL_xz00_2632)
	{
		{	/* Rgc/rgcset.scm 190 */
			{	/* Rgc/rgcset.scm 190 */
				obj_t BgL_numz00_2631;

				BgL_numz00_2631 = PROCEDURE_REF(BgL_envz00_2630, (int) (0L));
				{	/* Rgc/rgcset.scm 190 */
					obj_t BgL_auxz00_2670;

					BgL_auxz00_2670 =
						ADDFX(BINT(1L), BGL_UNSAFE_CELL_REF(BgL_numz00_2631));
					return BGL_UNSAFE_CELL_SET(BgL_numz00_2631, BgL_auxz00_2670);
				}
			}
		}

	}



/* rgcset-not! */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2notz12zc0zz__rgc_setz00(obj_t
		BgL_setz00_30)
	{
		{	/* Rgc/rgcset.scm 196 */
			{	/* Rgc/rgcset.scm 198 */
				long BgL_lenz00_1309;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2141;

					BgL_arg1217z00_2141 = STRUCT_REF(((obj_t) BgL_setz00_30), (int) (1L));
					BgL_lenz00_1309 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2141));
				}
				{
					long BgL_iz00_1311;

					{	/* Rgc/rgcset.scm 199 */
						bool_t BgL_tmpz00_2918;

						BgL_iz00_1311 = 0L;
					BgL_zc3z04anonymousza31276ze3z87_1312:
						if ((BgL_iz00_1311 < BgL_lenz00_1309))
							{	/* Rgc/rgcset.scm 200 */
								{	/* Rgc/rgcset.scm 202 */
									long BgL_arg1279z00_1315;

									{	/* Rgc/rgcset.scm 202 */
										obj_t BgL_arg1280z00_1316;

										{	/* Rgc/rgcset.scm 97 */
											obj_t BgL_arg1216z00_2146;

											BgL_arg1216z00_2146 =
												STRUCT_REF(((obj_t) BgL_setz00_30), (int) (1L));
											BgL_arg1280z00_1316 =
												VECTOR_REF(
												((obj_t) BgL_arg1216z00_2146), BgL_iz00_1311);
										}
										BgL_arg1279z00_1315 = ~((long) CINT(BgL_arg1280z00_1316));
									}
									{	/* Rgc/rgcset.scm 91 */
										obj_t BgL_arg1215z00_2151;

										BgL_arg1215z00_2151 =
											STRUCT_REF(((obj_t) BgL_setz00_30), (int) (1L));
										VECTOR_SET(
											((obj_t) BgL_arg1215z00_2151), BgL_iz00_1311,
											BINT(BgL_arg1279z00_1315));
								}}
								{
									long BgL_iz00_2934;

									BgL_iz00_2934 = (BgL_iz00_1311 + 1L);
									BgL_iz00_1311 = BgL_iz00_2934;
									goto BgL_zc3z04anonymousza31276ze3z87_1312;
								}
							}
						else
							{	/* Rgc/rgcset.scm 200 */
								BgL_tmpz00_2918 = ((bool_t) 0);
							}
						return BBOOL(BgL_tmpz00_2918);
					}
				}
			}
		}

	}



/* &rgcset-not! */
	obj_t BGl_z62rgcsetzd2notz12za2zz__rgc_setz00(obj_t BgL_envz00_2636,
		obj_t BgL_setz00_2637)
	{
		{	/* Rgc/rgcset.scm 196 */
			return BGl_rgcsetzd2notz12zc0zz__rgc_setz00(BgL_setz00_2637);
		}

	}



/* rgcset-not */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2notzd2zz__rgc_setz00(obj_t BgL_setz00_31)
	{
		{	/* Rgc/rgcset.scm 208 */
			{	/* Rgc/rgcset.scm 210 */
				long BgL_lenz00_1320;
				obj_t BgL_newz00_1321;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2156;

					BgL_arg1217z00_2156 = STRUCT_REF(((obj_t) BgL_setz00_31), (int) (1L));
					BgL_lenz00_1320 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2156));
				}
				{	/* Rgc/rgcset.scm 211 */
					obj_t BgL_arg1292z00_1332;

					BgL_arg1292z00_1332 = STRUCT_REF(((obj_t) BgL_setz00_31), (int) (0L));
					BgL_newz00_1321 =
						BGl_makezd2rgcsetzd2zz__rgc_setz00(
						(long) CINT(BgL_arg1292z00_1332));
				}
				{
					long BgL_iz00_1323;

					BgL_iz00_1323 = 0L;
				BgL_zc3z04anonymousza31282ze3z87_1324:
					if ((BgL_iz00_1323 < BgL_lenz00_1320))
						{	/* Rgc/rgcset.scm 213 */
							{	/* Rgc/rgcset.scm 215 */
								long BgL_arg1285z00_1327;

								{	/* Rgc/rgcset.scm 215 */
									obj_t BgL_arg1287z00_1328;

									{	/* Rgc/rgcset.scm 97 */
										obj_t BgL_arg1216z00_2162;

										BgL_arg1216z00_2162 =
											STRUCT_REF(((obj_t) BgL_setz00_31), (int) (1L));
										BgL_arg1287z00_1328 =
											VECTOR_REF(((obj_t) BgL_arg1216z00_2162), BgL_iz00_1323);
									}
									BgL_arg1285z00_1327 = ~((long) CINT(BgL_arg1287z00_1328));
								}
								{	/* Rgc/rgcset.scm 91 */
									obj_t BgL_arg1215z00_2167;

									BgL_arg1215z00_2167 =
										STRUCT_REF(((obj_t) BgL_newz00_1321), (int) (1L));
									VECTOR_SET(
										((obj_t) BgL_arg1215z00_2167), BgL_iz00_1323,
										BINT(BgL_arg1285z00_1327));
							}}
							{
								long BgL_iz00_2963;

								BgL_iz00_2963 = (BgL_iz00_1323 + 1L);
								BgL_iz00_1323 = BgL_iz00_2963;
								goto BgL_zc3z04anonymousza31282ze3z87_1324;
							}
						}
					else
						{	/* Rgc/rgcset.scm 213 */
							return BgL_newz00_1321;
						}
				}
			}
		}

	}



/* &rgcset-not */
	obj_t BGl_z62rgcsetzd2notzb0zz__rgc_setz00(obj_t BgL_envz00_2638,
		obj_t BgL_setz00_2639)
	{
		{	/* Rgc/rgcset.scm 208 */
			return BGl_rgcsetzd2notzd2zz__rgc_setz00(BgL_setz00_2639);
		}

	}



/* rgcset-and! */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2andz12zc0zz__rgc_setz00(obj_t
		BgL_set1z00_32, obj_t BgL_set2z00_33)
	{
		{	/* Rgc/rgcset.scm 222 */
			{	/* Rgc/rgcset.scm 224 */
				long BgL_len1z00_1333;
				long BgL_len2z00_1334;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2172;

					BgL_arg1217z00_2172 =
						STRUCT_REF(((obj_t) BgL_set1z00_32), (int) (1L));
					BgL_len1z00_1333 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2172));
				}
				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2175;

					BgL_arg1217z00_2175 =
						STRUCT_REF(((obj_t) BgL_set2z00_33), (int) (1L));
					BgL_len2z00_1334 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2175));
				}
				{
					long BgL_iz00_1336;

					{	/* Rgc/rgcset.scm 226 */
						bool_t BgL_tmpz00_2976;

						BgL_iz00_1336 = 0L;
					BgL_zc3z04anonymousza31293ze3z87_1337:
						{	/* Rgc/rgcset.scm 227 */
							bool_t BgL_test1813z00_2977;

							if ((BgL_iz00_1336 < BgL_len1z00_1333))
								{	/* Rgc/rgcset.scm 227 */
									BgL_test1813z00_2977 = (BgL_iz00_1336 < BgL_len2z00_1334);
								}
							else
								{	/* Rgc/rgcset.scm 227 */
									BgL_test1813z00_2977 = ((bool_t) 0);
								}
							if (BgL_test1813z00_2977)
								{	/* Rgc/rgcset.scm 227 */
									{	/* Rgc/rgcset.scm 231 */
										long BgL_arg1298z00_1343;

										{	/* Rgc/rgcset.scm 231 */
											obj_t BgL_arg1301z00_1344;
											obj_t BgL_arg1322z00_1345;

											{	/* Rgc/rgcset.scm 97 */
												obj_t BgL_arg1216z00_2182;

												BgL_arg1216z00_2182 =
													STRUCT_REF(((obj_t) BgL_set1z00_32), (int) (1L));
												BgL_arg1301z00_1344 =
													VECTOR_REF(
													((obj_t) BgL_arg1216z00_2182), BgL_iz00_1336);
											}
											{	/* Rgc/rgcset.scm 97 */
												obj_t BgL_arg1216z00_2186;

												BgL_arg1216z00_2186 =
													STRUCT_REF(((obj_t) BgL_set2z00_33), (int) (1L));
												BgL_arg1322z00_1345 =
													VECTOR_REF(
													((obj_t) BgL_arg1216z00_2186), BgL_iz00_1336);
											}
											BgL_arg1298z00_1343 =
												(
												(long) CINT(BgL_arg1301z00_1344) &
												(long) CINT(BgL_arg1322z00_1345));
										}
										{	/* Rgc/rgcset.scm 91 */
											obj_t BgL_arg1215z00_2192;

											BgL_arg1215z00_2192 =
												STRUCT_REF(((obj_t) BgL_set1z00_32), (int) (1L));
											VECTOR_SET(
												((obj_t) BgL_arg1215z00_2192), BgL_iz00_1336,
												BINT(BgL_arg1298z00_1343));
									}}
									{
										long BgL_iz00_3000;

										BgL_iz00_3000 = (BgL_iz00_1336 + 1L);
										BgL_iz00_1336 = BgL_iz00_3000;
										goto BgL_zc3z04anonymousza31293ze3z87_1337;
									}
								}
							else
								{	/* Rgc/rgcset.scm 227 */
									BgL_tmpz00_2976 = ((bool_t) 0);
								}
						}
						return BBOOL(BgL_tmpz00_2976);
					}
				}
			}
		}

	}



/* &rgcset-and! */
	obj_t BGl_z62rgcsetzd2andz12za2zz__rgc_setz00(obj_t BgL_envz00_2640,
		obj_t BgL_set1z00_2641, obj_t BgL_set2z00_2642)
	{
		{	/* Rgc/rgcset.scm 222 */
			return
				BGl_rgcsetzd2andz12zc0zz__rgc_setz00(BgL_set1z00_2641,
				BgL_set2z00_2642);
		}

	}



/* rgcset-or! */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2orz12zc0zz__rgc_setz00(obj_t
		BgL_set1z00_34, obj_t BgL_set2z00_35)
	{
		{	/* Rgc/rgcset.scm 238 */
			{	/* Rgc/rgcset.scm 240 */
				long BgL_len1z00_1351;
				long BgL_len2z00_1352;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2197;

					BgL_arg1217z00_2197 =
						STRUCT_REF(((obj_t) BgL_set1z00_34), (int) (1L));
					BgL_len1z00_1351 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2197));
				}
				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2200;

					BgL_arg1217z00_2200 =
						STRUCT_REF(((obj_t) BgL_set2z00_35), (int) (1L));
					BgL_len2z00_1352 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2200));
				}
				{
					long BgL_iz00_1354;

					{	/* Rgc/rgcset.scm 243 */
						bool_t BgL_tmpz00_3014;

						BgL_iz00_1354 = 0L;
					BgL_zc3z04anonymousza31330ze3z87_1355:
						if ((BgL_iz00_1354 < BgL_len1z00_1351))
							{	/* Rgc/rgcset.scm 244 */
								{	/* Rgc/rgcset.scm 248 */
									long BgL_arg1333z00_1358;

									{	/* Rgc/rgcset.scm 248 */
										obj_t BgL_arg1334z00_1359;
										obj_t BgL_arg1335z00_1360;

										{	/* Rgc/rgcset.scm 97 */
											obj_t BgL_arg1216z00_2205;

											BgL_arg1216z00_2205 =
												STRUCT_REF(((obj_t) BgL_set1z00_34), (int) (1L));
											BgL_arg1334z00_1359 =
												VECTOR_REF(
												((obj_t) BgL_arg1216z00_2205), BgL_iz00_1354);
										}
										{	/* Rgc/rgcset.scm 97 */
											obj_t BgL_arg1216z00_2209;

											BgL_arg1216z00_2209 =
												STRUCT_REF(((obj_t) BgL_set2z00_35), (int) (1L));
											BgL_arg1335z00_1360 =
												VECTOR_REF(
												((obj_t) BgL_arg1216z00_2209), BgL_iz00_1354);
										}
										BgL_arg1333z00_1358 =
											(
											(long) CINT(BgL_arg1334z00_1359) |
											(long) CINT(BgL_arg1335z00_1360));
									}
									{	/* Rgc/rgcset.scm 91 */
										obj_t BgL_arg1215z00_2215;

										BgL_arg1215z00_2215 =
											STRUCT_REF(((obj_t) BgL_set1z00_34), (int) (1L));
										VECTOR_SET(
											((obj_t) BgL_arg1215z00_2215), BgL_iz00_1354,
											BINT(BgL_arg1333z00_1358));
								}}
								{
									long BgL_iz00_3036;

									BgL_iz00_3036 = (BgL_iz00_1354 + 1L);
									BgL_iz00_1354 = BgL_iz00_3036;
									goto BgL_zc3z04anonymousza31330ze3z87_1355;
								}
							}
						else
							{	/* Rgc/rgcset.scm 244 */
								BgL_tmpz00_3014 = ((bool_t) 0);
							}
						return BBOOL(BgL_tmpz00_3014);
					}
				}
			}
		}

	}



/* &rgcset-or! */
	obj_t BGl_z62rgcsetzd2orz12za2zz__rgc_setz00(obj_t BgL_envz00_2643,
		obj_t BgL_set1z00_2644, obj_t BgL_set2z00_2645)
	{
		{	/* Rgc/rgcset.scm 238 */
			return
				BGl_rgcsetzd2orz12zc0zz__rgc_setz00(BgL_set1z00_2644, BgL_set2z00_2645);
		}

	}



/* rgcset-or */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2orzd2zz__rgc_setz00(obj_t BgL_set1z00_36,
		obj_t BgL_set2z00_37)
	{
		{	/* Rgc/rgcset.scm 255 */
			{	/* Rgc/rgcset.scm 257 */
				long BgL_len1z00_1364;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2220;

					BgL_arg1217z00_2220 =
						STRUCT_REF(((obj_t) BgL_set1z00_36), (int) (1L));
					BgL_len1z00_1364 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2220));
				}
				{	/* Rgc/rgcset.scm 257 */
					long BgL_len2z00_1365;

					{	/* Rgc/rgcset.scm 103 */
						obj_t BgL_arg1217z00_2223;

						BgL_arg1217z00_2223 =
							STRUCT_REF(((obj_t) BgL_set2z00_37), (int) (1L));
						BgL_len2z00_1365 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2223));
					}
					{	/* Rgc/rgcset.scm 258 */
						obj_t BgL_newz00_1366;

						{	/* Rgc/rgcset.scm 259 */
							obj_t BgL_arg1346z00_1378;

							BgL_arg1346z00_1378 =
								STRUCT_REF(((obj_t) BgL_set1z00_36), (int) (0L));
							BgL_newz00_1366 =
								BGl_makezd2rgcsetzd2zz__rgc_setz00(
								(long) CINT(BgL_arg1346z00_1378));
						}
						{	/* Rgc/rgcset.scm 259 */

							{
								long BgL_iz00_1368;

								BgL_iz00_1368 = 0L;
							BgL_zc3z04anonymousza31337ze3z87_1369:
								if ((BgL_iz00_1368 < BgL_len1z00_1364))
									{	/* Rgc/rgcset.scm 262 */
										{	/* Rgc/rgcset.scm 266 */
											long BgL_arg1341z00_1372;

											{	/* Rgc/rgcset.scm 266 */
												obj_t BgL_arg1342z00_1373;
												obj_t BgL_arg1343z00_1374;

												{	/* Rgc/rgcset.scm 97 */
													obj_t BgL_arg1216z00_2229;

													BgL_arg1216z00_2229 =
														STRUCT_REF(((obj_t) BgL_set1z00_36), (int) (1L));
													BgL_arg1342z00_1373 =
														VECTOR_REF(
														((obj_t) BgL_arg1216z00_2229), BgL_iz00_1368);
												}
												{	/* Rgc/rgcset.scm 97 */
													obj_t BgL_arg1216z00_2233;

													BgL_arg1216z00_2233 =
														STRUCT_REF(((obj_t) BgL_set2z00_37), (int) (1L));
													BgL_arg1343z00_1374 =
														VECTOR_REF(
														((obj_t) BgL_arg1216z00_2233), BgL_iz00_1368);
												}
												BgL_arg1341z00_1372 =
													(
													(long) CINT(BgL_arg1342z00_1373) |
													(long) CINT(BgL_arg1343z00_1374));
											}
											{	/* Rgc/rgcset.scm 91 */
												obj_t BgL_arg1215z00_2239;

												BgL_arg1215z00_2239 =
													STRUCT_REF(((obj_t) BgL_newz00_1366), (int) (1L));
												VECTOR_SET(
													((obj_t) BgL_arg1215z00_2239), BgL_iz00_1368,
													BINT(BgL_arg1341z00_1372));
										}}
										{
											long BgL_iz00_3076;

											BgL_iz00_3076 = (BgL_iz00_1368 + 1L);
											BgL_iz00_1368 = BgL_iz00_3076;
											goto BgL_zc3z04anonymousza31337ze3z87_1369;
										}
									}
								else
									{	/* Rgc/rgcset.scm 262 */
										return BgL_newz00_1366;
									}
							}
						}
					}
				}
			}
		}

	}



/* &rgcset-or */
	obj_t BGl_z62rgcsetzd2orzb0zz__rgc_setz00(obj_t BgL_envz00_2646,
		obj_t BgL_set1z00_2647, obj_t BgL_set2z00_2648)
	{
		{	/* Rgc/rgcset.scm 255 */
			return
				BGl_rgcsetzd2orzd2zz__rgc_setz00(BgL_set1z00_2647, BgL_set2z00_2648);
		}

	}



/* rgcset-but! */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2butz12zc0zz__rgc_setz00(obj_t
		BgL_set1z00_38, obj_t BgL_set2z00_39)
	{
		{	/* Rgc/rgcset.scm 274 */
			{	/* Rgc/rgcset.scm 275 */
				long BgL_len1z00_1379;
				long BgL_len2z00_1380;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2244;

					BgL_arg1217z00_2244 =
						STRUCT_REF(((obj_t) BgL_set1z00_38), (int) (1L));
					BgL_len1z00_1379 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2244));
				}
				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2247;

					BgL_arg1217z00_2247 =
						STRUCT_REF(((obj_t) BgL_set2z00_39), (int) (1L));
					BgL_len2z00_1380 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2247));
				}
				{
					long BgL_iz00_1382;

					{	/* Rgc/rgcset.scm 278 */
						bool_t BgL_tmpz00_3089;

						BgL_iz00_1382 = 0L;
					BgL_zc3z04anonymousza31347ze3z87_1383:
						if ((BgL_iz00_1382 < BgL_len1z00_1379))
							{	/* Rgc/rgcset.scm 279 */
								{	/* Rgc/rgcset.scm 283 */
									obj_t BgL_arg1351z00_1386;

									{	/* Rgc/rgcset.scm 283 */
										obj_t BgL_a1094z00_1387;

										{	/* Rgc/rgcset.scm 97 */
											obj_t BgL_arg1216z00_2252;

											BgL_arg1216z00_2252 =
												STRUCT_REF(((obj_t) BgL_set1z00_38), (int) (1L));
											BgL_a1094z00_1387 =
												VECTOR_REF(
												((obj_t) BgL_arg1216z00_2252), BgL_iz00_1382);
										}
										{	/* Rgc/rgcset.scm 284 */
											obj_t BgL_b1095z00_1388;

											{	/* Rgc/rgcset.scm 97 */
												obj_t BgL_arg1216z00_2256;

												BgL_arg1216z00_2256 =
													STRUCT_REF(((obj_t) BgL_set2z00_39), (int) (1L));
												BgL_b1095z00_1388 =
													VECTOR_REF(
													((obj_t) BgL_arg1216z00_2256), BgL_iz00_1382);
											}
											{	/* Rgc/rgcset.scm 283 */

												{	/* Rgc/rgcset.scm 283 */
													bool_t BgL_test1818z00_3102;

													if (INTEGERP(BgL_a1094z00_1387))
														{	/* Rgc/rgcset.scm 283 */
															BgL_test1818z00_3102 =
																INTEGERP(BgL_b1095z00_1388);
														}
													else
														{	/* Rgc/rgcset.scm 283 */
															BgL_test1818z00_3102 = ((bool_t) 0);
														}
													if (BgL_test1818z00_3102)
														{	/* Rgc/rgcset.scm 283 */
															obj_t BgL_tmpz00_2262;

															BgL_tmpz00_2262 = BINT(0L);
															if (BGL_SUBFX_OV(BgL_a1094z00_1387,
																	BgL_b1095z00_1388, BgL_tmpz00_2262))
																{	/* Rgc/rgcset.scm 283 */
																	BgL_arg1351z00_1386 =
																		bgl_bignum_sub(bgl_long_to_bignum(
																			(long) CINT(BgL_a1094z00_1387)),
																		bgl_long_to_bignum(
																			(long) CINT(BgL_b1095z00_1388)));
																}
															else
																{	/* Rgc/rgcset.scm 283 */
																	BgL_arg1351z00_1386 = BgL_tmpz00_2262;
																}
														}
													else
														{	/* Rgc/rgcset.scm 283 */
															BgL_arg1351z00_1386 =
																BGl_2zd2zd2zz__r4_numbers_6_5z00
																(BgL_a1094z00_1387, BgL_b1095z00_1388);
														}
												}
											}
										}
									}
									{	/* Rgc/rgcset.scm 91 */
										obj_t BgL_arg1215z00_2270;

										BgL_arg1215z00_2270 =
											STRUCT_REF(((obj_t) BgL_set1z00_38), (int) (1L));
										VECTOR_SET(
											((obj_t) BgL_arg1215z00_2270), BgL_iz00_1382,
											BgL_arg1351z00_1386);
								}}
								{
									long BgL_iz00_3120;

									BgL_iz00_3120 = (BgL_iz00_1382 + 1L);
									BgL_iz00_1382 = BgL_iz00_3120;
									goto BgL_zc3z04anonymousza31347ze3z87_1383;
								}
							}
						else
							{	/* Rgc/rgcset.scm 279 */
								BgL_tmpz00_3089 = ((bool_t) 0);
							}
						return BBOOL(BgL_tmpz00_3089);
					}
				}
			}
		}

	}



/* &rgcset-but! */
	obj_t BGl_z62rgcsetzd2butz12za2zz__rgc_setz00(obj_t BgL_envz00_2649,
		obj_t BgL_set1z00_2650, obj_t BgL_set2z00_2651)
	{
		{	/* Rgc/rgcset.scm 274 */
			return
				BGl_rgcsetzd2butz12zc0zz__rgc_setz00(BgL_set1z00_2650,
				BgL_set2z00_2651);
		}

	}



/* rgcset-equal? */
	BGL_EXPORTED_DEF bool_t BGl_rgcsetzd2equalzf3z21zz__rgc_setz00(obj_t
		BgL_set1z00_40, obj_t BgL_set2z00_41)
	{
		{	/* Rgc/rgcset.scm 290 */
			{	/* Rgc/rgcset.scm 291 */
				long BgL_len1z00_1393;
				long BgL_len2z00_1394;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2275;

					BgL_arg1217z00_2275 =
						STRUCT_REF(((obj_t) BgL_set1z00_40), (int) (1L));
					BgL_len1z00_1393 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2275));
				}
				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2278;

					BgL_arg1217z00_2278 =
						STRUCT_REF(((obj_t) BgL_set2z00_41), (int) (1L));
					BgL_len2z00_1394 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2278));
				}
				if ((BgL_len1z00_1393 == BgL_len2z00_1394))
					{	/* Rgc/rgcset.scm 294 */
						obj_t BgL_w1z00_1396;
						obj_t BgL_w2z00_1397;

						BgL_w1z00_1396 = STRUCT_REF(((obj_t) BgL_set1z00_40), (int) (1L));
						BgL_w2z00_1397 = STRUCT_REF(((obj_t) BgL_set2z00_41), (int) (1L));
						{
							long BgL_iz00_2295;

							BgL_iz00_2295 = 0L;
						BgL_loopz00_2294:
							if ((BgL_iz00_2295 == BgL_len1z00_1393))
								{	/* Rgc/rgcset.scm 298 */
									return ((bool_t) 1);
								}
							else
								{	/* Rgc/rgcset.scm 300 */
									bool_t BgL_test1823z00_3144;

									{	/* Rgc/rgcset.scm 300 */
										obj_t BgL_arg1360z00_2300;
										obj_t BgL_arg1361z00_2301;

										BgL_arg1360z00_2300 =
											VECTOR_REF(((obj_t) BgL_w1z00_1396), BgL_iz00_2295);
										BgL_arg1361z00_2301 =
											VECTOR_REF(((obj_t) BgL_w2z00_1397), BgL_iz00_2295);
										BgL_test1823z00_3144 =
											(
											(long) CINT(BgL_arg1360z00_2300) ==
											(long) CINT(BgL_arg1361z00_2301));
									}
									if (BgL_test1823z00_3144)
										{
											long BgL_iz00_3152;

											BgL_iz00_3152 = (BgL_iz00_2295 + 1L);
											BgL_iz00_2295 = BgL_iz00_3152;
											goto BgL_loopz00_2294;
										}
									else
										{	/* Rgc/rgcset.scm 300 */
											return ((bool_t) 0);
										}
								}
						}
					}
				else
					{	/* Rgc/rgcset.scm 293 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* &rgcset-equal? */
	obj_t BGl_z62rgcsetzd2equalzf3z43zz__rgc_setz00(obj_t BgL_envz00_2652,
		obj_t BgL_set1z00_2653, obj_t BgL_set2z00_2654)
	{
		{	/* Rgc/rgcset.scm 290 */
			return
				BBOOL(BGl_rgcsetzd2equalzf3z21zz__rgc_setz00(BgL_set1z00_2653,
					BgL_set2z00_2654));
		}

	}



/* rgcset->hash */
	BGL_EXPORTED_DEF long BGl_rgcsetzd2ze3hashz31zz__rgc_setz00(obj_t
		BgL_setz00_42)
	{
		{	/* Rgc/rgcset.scm 308 */
			{	/* Rgc/rgcset.scm 309 */
				long BgL_lenz00_1409;

				{	/* Rgc/rgcset.scm 103 */
					obj_t BgL_arg1217z00_2310;

					BgL_arg1217z00_2310 = STRUCT_REF(((obj_t) BgL_setz00_42), (int) (1L));
					BgL_lenz00_1409 = VECTOR_LENGTH(((obj_t) BgL_arg1217z00_2310));
				}
				{	/* Rgc/rgcset.scm 310 */
					obj_t BgL_g1043z00_1410;

					{	/* Rgc/rgcset.scm 97 */
						obj_t BgL_arg1216z00_2313;

						BgL_arg1216z00_2313 =
							STRUCT_REF(((obj_t) BgL_setz00_42), (int) (1L));
						BgL_g1043z00_1410 = VECTOR_REF(((obj_t) BgL_arg1216z00_2313), 0L);
					}
					{
						long BgL_iz00_1412;
						obj_t BgL_resz00_1413;

						{	/* Rgc/rgcset.scm 310 */
							obj_t BgL_tmpz00_3166;

							BgL_iz00_1412 = 1L;
							BgL_resz00_1413 = BgL_g1043z00_1410;
						BgL_zc3z04anonymousza31362ze3z87_1414:
							if ((BgL_iz00_1412 == BgL_lenz00_1409))
								{	/* Rgc/rgcset.scm 312 */
									if (((long) CINT(BgL_resz00_1413) < 0L))
										{	/* Rgc/rgcset.scm 313 */
											BgL_tmpz00_3166 = BINT(NEG((long) CINT(BgL_resz00_1413)));
										}
									else
										{	/* Rgc/rgcset.scm 313 */
											BgL_tmpz00_3166 = BgL_resz00_1413;
										}
								}
							else
								{	/* Rgc/rgcset.scm 316 */
									long BgL_vz00_1417;

									{	/* Rgc/rgcset.scm 316 */
										long BgL_arg1370z00_1423;

										{	/* Rgc/rgcset.scm 316 */
											long BgL_arg1371z00_1424;
											obj_t BgL_arg1372z00_1425;

											BgL_arg1371z00_1424 =
												((long) CINT(BgL_resz00_1413) << (int) (3L));
											{	/* Rgc/rgcset.scm 97 */
												obj_t BgL_arg1216z00_2321;

												BgL_arg1216z00_2321 =
													STRUCT_REF(((obj_t) BgL_setz00_42), (int) (1L));
												BgL_arg1372z00_1425 =
													VECTOR_REF(
													((obj_t) BgL_arg1216z00_2321), BgL_iz00_1412);
											}
											BgL_arg1370z00_1423 =
												(BgL_arg1371z00_1424 +
												(long) CINT(BgL_arg1372z00_1425));
										}
										BgL_vz00_1417 =
											((long) CINT(BgL_resz00_1413) + BgL_arg1370z00_1423);
									}
									{	/* Rgc/rgcset.scm 317 */
										long BgL_arg1365z00_1418;
										long BgL_arg1366z00_1419;

										BgL_arg1365z00_1418 = (BgL_iz00_1412 + 1L);
										{	/* Rgc/rgcset.scm 318 */
											bool_t BgL_test1826z00_3188;

											{	/* Rgc/rgcset.scm 318 */
												obj_t BgL_arg1369z00_1422;

												{	/* Rgc/rgcset.scm 97 */
													obj_t BgL_arg1216z00_2330;

													BgL_arg1216z00_2330 =
														STRUCT_REF(((obj_t) BgL_setz00_42), (int) (1L));
													BgL_arg1369z00_1422 =
														VECTOR_REF(
														((obj_t) BgL_arg1216z00_2330), BgL_iz00_1412);
												}
												BgL_test1826z00_3188 =
													((long) CINT(BgL_arg1369z00_1422) == 0L);
											}
											if (BgL_test1826z00_3188)
												{	/* Rgc/rgcset.scm 318 */
													BgL_arg1366z00_1419 = BgL_vz00_1417;
												}
											else
												{	/* Rgc/rgcset.scm 318 */
													BgL_arg1366z00_1419 = (BgL_iz00_1412 + BgL_vz00_1417);
												}
										}
										{
											obj_t BgL_resz00_3198;
											long BgL_iz00_3197;

											BgL_iz00_3197 = BgL_arg1365z00_1418;
											BgL_resz00_3198 = BINT(BgL_arg1366z00_1419);
											BgL_resz00_1413 = BgL_resz00_3198;
											BgL_iz00_1412 = BgL_iz00_3197;
											goto BgL_zc3z04anonymousza31362ze3z87_1414;
										}
									}
								}
							return (long) CINT(BgL_tmpz00_3166);
		}}}}}

	}



/* &rgcset->hash */
	obj_t BGl_z62rgcsetzd2ze3hashz53zz__rgc_setz00(obj_t BgL_envz00_2655,
		obj_t BgL_setz00_2656)
	{
		{	/* Rgc/rgcset.scm 308 */
			return BINT(BGl_rgcsetzd2ze3hashz31zz__rgc_setz00(BgL_setz00_2656));
		}

	}



/* rgcset-remove! */
	BGL_EXPORTED_DEF obj_t BGl_rgcsetzd2removez12zc0zz__rgc_setz00(obj_t
		BgL_setz00_43, long BgL_numz00_44)
	{
		{	/* Rgc/rgcset.scm 325 */
			{	/* Rgc/rgcset.scm 326 */
				long BgL_wordzd2numzd2_2337;

				BgL_wordzd2numzd2_2337 =
					(BgL_numz00_44 / BGl_bitzd2perzd2wordz00zz__rgc_setz00);
				{	/* Rgc/rgcset.scm 326 */
					long BgL_wordzd2bitzd2_2338;

					{	/* Rgc/rgcset.scm 327 */
						long BgL_n1z00_2344;
						long BgL_n2z00_2345;

						BgL_n1z00_2344 = BgL_numz00_44;
						BgL_n2z00_2345 = BGl_bitzd2perzd2wordz00zz__rgc_setz00;
						{	/* Rgc/rgcset.scm 327 */
							bool_t BgL_test1827z00_3204;

							{	/* Rgc/rgcset.scm 327 */
								long BgL_arg1554z00_2347;

								BgL_arg1554z00_2347 =
									(((BgL_n1z00_2344) | (BgL_n2z00_2345)) & -2147483648);
								BgL_test1827z00_3204 = (BgL_arg1554z00_2347 == 0L);
							}
							if (BgL_test1827z00_3204)
								{	/* Rgc/rgcset.scm 327 */
									int32_t BgL_arg1549z00_2348;

									{	/* Rgc/rgcset.scm 327 */
										int32_t BgL_arg1551z00_2349;
										int32_t BgL_arg1552z00_2350;

										BgL_arg1551z00_2349 = (int32_t) (BgL_n1z00_2344);
										BgL_arg1552z00_2350 = (int32_t) (BgL_n2z00_2345);
										BgL_arg1549z00_2348 =
											(BgL_arg1551z00_2349 % BgL_arg1552z00_2350);
									}
									{	/* Rgc/rgcset.scm 327 */
										long BgL_arg1681z00_2355;

										BgL_arg1681z00_2355 = (long) (BgL_arg1549z00_2348);
										BgL_wordzd2bitzd2_2338 = (long) (BgL_arg1681z00_2355);
								}}
							else
								{	/* Rgc/rgcset.scm 327 */
									BgL_wordzd2bitzd2_2338 = (BgL_n1z00_2344 % BgL_n2z00_2345);
								}
						}
					}
					{	/* Rgc/rgcset.scm 327 */
						obj_t BgL_oldz00_2339;

						{	/* Rgc/rgcset.scm 97 */
							obj_t BgL_arg1216z00_2357;

							BgL_arg1216z00_2357 =
								STRUCT_REF(((obj_t) BgL_setz00_43), (int) (1L));
							BgL_oldz00_2339 =
								VECTOR_REF(
								((obj_t) BgL_arg1216z00_2357), BgL_wordzd2numzd2_2337);
						}
						{	/* Rgc/rgcset.scm 328 */

							{	/* Rgc/rgcset.scm 329 */
								long BgL_arg1373z00_2340;

								BgL_arg1373z00_2340 =
									(
									(long) CINT(BgL_oldz00_2339) ^
									(1L << (int) (BgL_wordzd2bitzd2_2338)));
								{	/* Rgc/rgcset.scm 91 */
									obj_t BgL_arg1215z00_2364;

									BgL_arg1215z00_2364 =
										STRUCT_REF(((obj_t) BgL_setz00_43), (int) (1L));
									return
										VECTOR_SET(
										((obj_t) BgL_arg1215z00_2364), BgL_wordzd2numzd2_2337,
										BINT(BgL_arg1373z00_2340));
								}
							}
						}
					}
				}
			}
		}

	}



/* &rgcset-remove! */
	obj_t BGl_z62rgcsetzd2removez12za2zz__rgc_setz00(obj_t BgL_envz00_2657,
		obj_t BgL_setz00_2658, obj_t BgL_numz00_2659)
	{
		{	/* Rgc/rgcset.scm 325 */
			{	/* Rgc/rgcset.scm 326 */
				long BgL_auxz00_3228;

				{	/* Rgc/rgcset.scm 326 */
					obj_t BgL_tmpz00_3229;

					if (INTEGERP(BgL_numz00_2659))
						{	/* Rgc/rgcset.scm 326 */
							BgL_tmpz00_3229 = BgL_numz00_2659;
						}
					else
						{
							obj_t BgL_auxz00_3232;

							BgL_auxz00_3232 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1758z00zz__rgc_setz00,
								BINT(12634L), BGl_string1766z00zz__rgc_setz00,
								BGl_string1760z00zz__rgc_setz00, BgL_numz00_2659);
							FAILURE(BgL_auxz00_3232, BFALSE, BFALSE);
						}
					BgL_auxz00_3228 = (long) CINT(BgL_tmpz00_3229);
				}
				return
					BGl_rgcsetzd2removez12zc0zz__rgc_setz00(BgL_setz00_2658,
					BgL_auxz00_3228);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__rgc_setz00(void)
	{
		{	/* Rgc/rgcset.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__rgc_setz00(void)
	{
		{	/* Rgc/rgcset.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__rgc_setz00(void)
	{
		{	/* Rgc/rgcset.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__rgc_setz00(void)
	{
		{	/* Rgc/rgcset.scm 15 */
			return
				BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1767z00zz__rgc_setz00));
		}

	}

#ifdef __cplusplus
}
#endif
