/*===========================================================================*/
/*   (Rgc/rgcrules.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/rgcrules.scm -indent -o objs/obj_u/Rgc/rgcrules.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_RULES_TYPE_DEFINITIONS
#define BGL___RGC_RULES_TYPE_DEFINITIONS
#endif													// BGL___RGC_RULES_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	extern obj_t BGl_vectorzd2ze3listz31zz__r4_vectors_6_8z00(obj_t);
	static obj_t BGl_expandzd2matchzd2rulez00zz__rgc_rulesz00(long, obj_t, obj_t);
	BGL_EXPORTED_DECL int
		BGl_specialzd2matchzd2charzd2ze3rulezd2numberze3zz__rgc_rulesz00(int);
	static obj_t
		BGl_z62specialzd2matchzd2charzd2ze3rulezd2numberz81zz__rgc_rulesz00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t BGl_specialzd2charzf3z21zz__rgc_rulesz00(int);
	static obj_t BGl_za2specialzd2stopzd2matchzd2charza2zd2zz__rgc_rulesz00 =
		BUNSPEC;
	static obj_t BGl_requirezd2initializa7ationz75zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t BGl_rgcsetzd2notz12zc0zz__rgc_setz00(obj_t);
	static obj_t BGl_expandzd2butzd2zz__rgc_rulesz00(long, obj_t, obj_t, obj_t,
		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_rulesz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgc_posixz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgc_setz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgc_configz00(long, char *);
	static obj_t BGl_expandzd2submatchzd2zz__rgc_rulesz00(long, obj_t, obj_t,
		obj_t);
	static obj_t BGl_charzd2rangeze70z35zz__rgc_rulesz00(obj_t, obj_t, obj_t);
	static obj_t BGl_expandzd2orzd2zz__rgc_rulesz00(long, obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__rgc_rulesz00(void);
	BGL_EXPORTED_DECL obj_t BGl_treezd2maxzd2charz00zz__rgc_rulesz00(void);
	static bool_t BGl_rgczd2charzf3ze70zc6zz__rgc_rulesz00(obj_t);
	static bool_t BGl_za2lockzd2submatchza2zd2zz__rgc_rulesz00;
	static obj_t BGl_z62ruleszd2ze3regularzd2treez81zz__rgc_rulesz00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_rgcsetzd2ze3listz31zz__rgc_setz00(obj_t);
	static obj_t BGl_z62specialzd2charzf3z43zz__rgc_rulesz00(obj_t, obj_t);
	extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__rgc_rulesz00(void);
	extern obj_t bgl_reverse(obj_t);
	static obj_t BGl_symbol2302z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_genericzd2initzd2zz__rgc_rulesz00(void);
	static obj_t BGl_symbol2304z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2306z00zz__rgc_rulesz00 = BUNSPEC;
	static long BGl_za2submatchzd2countza2zd2zz__rgc_rulesz00 = 0L;
	static obj_t BGl_symbol2309z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_makezd2sequencezd2zz__rgc_rulesz00(obj_t);
	BGL_EXPORTED_DECL bool_t
		BGl_specialzd2charzd2matchzf3zf3zz__rgc_rulesz00(int);
	static long BGl_specialzd2charzd2numz00zz__rgc_rulesz00 = 0L;
	static obj_t BGl_importedzd2moduleszd2initz00zz__rgc_rulesz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__rgc_rulesz00(void);
	static obj_t BGl_objectzd2initzd2zz__rgc_rulesz00(void);
	static obj_t
		BGl_z62resetzd2specialzd2matchzd2charz12za2zz__rgc_rulesz00(obj_t);
	extern obj_t BGl_2zb2zb2zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_symbol2313z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t BGl_2zd2zd2zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_symbol2316z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2318z00zz__rgc_rulesz00 = BUNSPEC;
	extern bool_t BGl_2zc3zc3zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern bool_t BGl_2ze3ze3zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_symbol2320z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t bgl_reverse_bang(obj_t);
	extern obj_t BGl_rgczd2downcasezd2zz__rgc_configz00(obj_t);
	static obj_t BGl_stringzd2rangeze70z35zz__rgc_rulesz00(obj_t, obj_t);
	static obj_t BGl_symbol2323z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2326z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t BGl_rgcsetzd2andz12zc0zz__rgc_setz00(obj_t, obj_t);
	static long BGl_za2maxzd2rgczd2zd3zd2numza2z01zz__rgc_rulesz00 = 0L;
	static obj_t BGl_expandzd2uncasezd2zz__rgc_rulesz00(long, obj_t, obj_t);
	static obj_t BGl_z62treezd2maxzd2charz62zz__rgc_rulesz00(obj_t);
	static obj_t BGl_symbol2330z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_expandzd2atomzd2zz__rgc_rulesz00(long, obj_t, obj_t);
	static obj_t BGl_symbol2332z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_expandzd2andzd2zz__rgc_rulesz00(long, obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_list2301z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2335z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2337z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2308z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t bgl_bignum_add(obj_t, obj_t);
	static obj_t BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_expandzd2za2za2zd2zz__rgc_rulesz00(long, obj_t, obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_rgcsetzd2butz12zc0zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_symbol2343z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t make_vector(long, obj_t);
	static obj_t BGl_list2311z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2345z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2312z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2348z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2315z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2267z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2269z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t BGl_rgczd2envzd2zz__rgc_configz00(void);
	BGL_EXPORTED_DECL obj_t
		BGl_resetzd2specialzd2matchzd2charz12zc0zz__rgc_rulesz00(void);
	static obj_t BGl_appendzd221011zd2zz__rgc_rulesz00(obj_t, obj_t);
	static long BGl_getzd2newzd2submatchz00zz__rgc_rulesz00(void);
	extern obj_t BGl_stringzd2ze3listz31zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_symbol2350z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2352z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2271z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_methodzd2initzd2zz__rgc_rulesz00(void);
	static obj_t BGl_symbol2354z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2273z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2322z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_expandzd2rulezd2zz__rgc_rulesz00(long, obj_t, obj_t);
	static obj_t BGl_symbol2356z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2276z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2358z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2325z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2279z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2328z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2329z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t BGl_listzd2ze3rgcsetz31zz__rgc_setz00(obj_t, long);
	static obj_t BGl_symbol2360z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2362z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2364z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2366z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2334z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_loopze70ze7zz__rgc_rulesz00(obj_t, obj_t);
	static obj_t BGl_symbol2368z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_loopze71ze7zz__rgc_rulesz00(obj_t, obj_t, long);
	static obj_t BGl_symbol2289z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2339z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_expandzd2zb2z60zz__rgc_rulesz00(long, obj_t, obj_t);
	extern obj_t BGl_posixzd2ze3rgcz31zz__rgc_posixz00(obj_t);
	static obj_t BGl_symbol2370z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00(long, obj_t);
	static obj_t BGl_symbol2372z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2291z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_expandzd2inzd2zz__rgc_rulesz00(long, obj_t, obj_t, obj_t);
	static obj_t BGl_list2340z00zz__rgc_rulesz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_ruleszd2ze3regularzd2treeze3zz__rgc_rulesz00(obj_t, obj_t);
	static obj_t BGl_symbol2374z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2341z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2293z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_list2342z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_expandzd2dotszd2zz__rgc_rulesz00(long, obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_symbol2376z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2295z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_symbol2297z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_expandzd2zd3z01zz__rgc_rulesz00(long, obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t BGl_rgczd2upcasezd2zz__rgc_configz00(obj_t);
	extern obj_t bgl_bignum_sub(obj_t, obj_t);
	static obj_t BGl_symbol2299z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_za2specialzd2startzd2matchzd2charza2zd2zz__rgc_rulesz00 =
		BUNSPEC;
	extern bool_t BGl_rgczd2alphabeticzf3z21zz__rgc_configz00(obj_t);
	static obj_t BGl_za2predicatesza2z00zz__rgc_rulesz00 = BUNSPEC;
	extern obj_t BGl_rgczd2maxzd2charz00zz__rgc_configz00(void);
	static obj_t BGl_symbol2382z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_explodezd2sequenceze70z35zz__rgc_rulesz00(obj_t, obj_t);
	static obj_t BGl_expandzd2sequencezd2zz__rgc_rulesz00(long, obj_t, obj_t);
	extern obj_t bgl_long_to_bignum(long);
	static bool_t BGl_za2submatchzf3za2zf3zz__rgc_rulesz00;
	static obj_t BGl_z62specialzd2charzd2matchzf3z91zz__rgc_rulesz00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_predicatezd2matchzd2zz__rgc_rulesz00(int);
	static obj_t BGl_list2275z00zz__rgc_rulesz00 = BUNSPEC;
	static obj_t BGl_z62predicatezd2matchzb0zz__rgc_rulesz00(obj_t, obj_t);
	static obj_t BGl_expandzd2stringzd2zz__rgc_rulesz00(obj_t, obj_t);
	static obj_t BGl_makezd2variablezd2envz00zz__rgc_rulesz00(obj_t);
	static obj_t BGl_expandzd2ze3zd3ze2zz__rgc_rulesz00(long, obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ruleszd2ze3regularzd2treezd2envz31zz__rgc_rulesz00,
		BgL_bgl_za762rulesza7d2za7e3re2389za7,
		BGl_z62ruleszd2ze3regularzd2treez81zz__rgc_rulesz00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string2300z00zz__rgc_rulesz00,
		BgL_bgl_string2300za700za7za7_2390za7, "bol", 3);
	      BGL_DEFINE_STRING(BGl_string2303z00zz__rgc_rulesz00,
		BgL_bgl_string2303za700za7za7_2391za7, "rgc-buffer-bol?", 15);
	      BGL_DEFINE_STRING(BGl_string2305z00zz__rgc_rulesz00,
		BgL_bgl_string2305za700za7za7_2392za7, "iport", 5);
	      BGL_DEFINE_STRING(BGl_string2307z00zz__rgc_rulesz00,
		BgL_bgl_string2307za700za7za7_2393za7, "eol", 3);
	      BGL_DEFINE_STRING(BGl_string2310z00zz__rgc_rulesz00,
		BgL_bgl_string2310za700za7za7_2394za7, "let", 3);
	      BGL_DEFINE_STRING(BGl_string2314z00zz__rgc_rulesz00,
		BgL_bgl_string2314za700za7za7_2395za7, "r", 1);
	      BGL_DEFINE_STRING(BGl_string2317z00zz__rgc_rulesz00,
		BgL_bgl_string2317za700za7za7_2396za7, "rgc-buffer-eol?", 15);
	      BGL_DEFINE_STRING(BGl_string2319z00zz__rgc_rulesz00,
		BgL_bgl_string2319za700za7za7_2397za7, "forward", 7);
	      BGL_DEFINE_STRING(BGl_string2321z00zz__rgc_rulesz00,
		BgL_bgl_string2321za700za7za7_2398za7, "bufpos", 6);
	      BGL_DEFINE_STRING(BGl_string2324z00zz__rgc_rulesz00,
		BgL_bgl_string2324za700za7za7_2399za7, "set!", 4);
	      BGL_DEFINE_STRING(BGl_string2327z00zz__rgc_rulesz00,
		BgL_bgl_string2327za700za7za7_2400za7, "rgc-buffer-forward", 18);
	      BGL_DEFINE_STRING(BGl_string2331z00zz__rgc_rulesz00,
		BgL_bgl_string2331za700za7za7_2401za7, "rgc-buffer-bufpos", 17);
	      BGL_DEFINE_STRING(BGl_string2333z00zz__rgc_rulesz00,
		BgL_bgl_string2333za700za7za7_2402za7, "bof", 3);
	      BGL_DEFINE_STRING(BGl_string2336z00zz__rgc_rulesz00,
		BgL_bgl_string2336za700za7za7_2403za7, "rgc-buffer-bof?", 15);
	      BGL_DEFINE_STRING(BGl_string2338z00zz__rgc_rulesz00,
		BgL_bgl_string2338za700za7za7_2404za7, "eof", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_resetzd2specialzd2matchzd2charz12zd2envz12zz__rgc_rulesz00,
		BgL_bgl_za762resetza7d2speci2405z00,
		BGl_z62resetzd2specialzd2matchzd2charz12za2zz__rgc_rulesz00, 0L, BUNSPEC,
		0);
	      BGL_DEFINE_STRING(BGl_string2344z00zz__rgc_rulesz00,
		BgL_bgl_string2344za700za7za7_2406za7, "rgc-buffer-eof2?", 16);
	      BGL_DEFINE_STRING(BGl_string2346z00zz__rgc_rulesz00,
		BgL_bgl_string2346za700za7za7_2407za7, "...", 3);
	      BGL_DEFINE_STRING(BGl_string2347z00zz__rgc_rulesz00,
		BgL_bgl_string2347za700za7za7_2408za7, "RGC:Illegal construction", 24);
	      BGL_DEFINE_STRING(BGl_string2266z00zz__rgc_rulesz00,
		BgL_bgl_string2266za700za7za7_2409za7, "RGC:Illegal clauses", 19);
	      BGL_DEFINE_STRING(BGl_string2349z00zz__rgc_rulesz00,
		BgL_bgl_string2349za700za7za7_2410za7, "uncase", 6);
	      BGL_DEFINE_STRING(BGl_string2268z00zz__rgc_rulesz00,
		BgL_bgl_string2268za700za7za7_2411za7, "in", 2);
	      BGL_DEFINE_STRING(BGl_string2351z00zz__rgc_rulesz00,
		BgL_bgl_string2351za700za7za7_2412za7, "*", 1);
	      BGL_DEFINE_STRING(BGl_string2270z00zz__rgc_rulesz00,
		BgL_bgl_string2270za700za7za7_2413za7, "begin", 5);
	      BGL_DEFINE_STRING(BGl_string2353z00zz__rgc_rulesz00,
		BgL_bgl_string2353za700za7za7_2414za7, "+", 1);
	      BGL_DEFINE_STRING(BGl_string2272z00zz__rgc_rulesz00,
		BgL_bgl_string2272za700za7za7_2415za7, "else", 4);
	      BGL_DEFINE_STRING(BGl_string2355z00zz__rgc_rulesz00,
		BgL_bgl_string2355za700za7za7_2416za7, "?", 1);
	      BGL_DEFINE_STRING(BGl_string2274z00zz__rgc_rulesz00,
		BgL_bgl_string2274za700za7za7_2417za7, "or", 2);
	      BGL_DEFINE_STRING(BGl_string2357z00zz__rgc_rulesz00,
		BgL_bgl_string2357za700za7za7_2418za7, "epsilon", 7);
	      BGL_DEFINE_STRING(BGl_string2277z00zz__rgc_rulesz00,
		BgL_bgl_string2277za700za7za7_2419za7, "the-failure", 11);
	      BGL_DEFINE_STRING(BGl_string2359z00zz__rgc_rulesz00,
		BgL_bgl_string2359za700za7za7_2420za7, "=", 1);
	      BGL_DEFINE_STRING(BGl_string2278z00zz__rgc_rulesz00,
		BgL_bgl_string2278za700za7za7_2421za7, "RGC:Illegal else clause", 23);
	      BGL_DEFINE_STRING(BGl_string2361z00zz__rgc_rulesz00,
		BgL_bgl_string2361za700za7za7_2422za7, ">=", 2);
	      BGL_DEFINE_STRING(BGl_string2280z00zz__rgc_rulesz00,
		BgL_bgl_string2280za700za7za7_2423za7, "define", 6);
	      BGL_DEFINE_STRING(BGl_string2281z00zz__rgc_rulesz00,
		BgL_bgl_string2281za700za7za7_2424za7, "RGC:Illegal clause", 18);
	      BGL_DEFINE_STRING(BGl_string2363z00zz__rgc_rulesz00,
		BgL_bgl_string2363za700za7za7_2425za7, "**", 2);
	      BGL_DEFINE_STRING(BGl_string2282z00zz__rgc_rulesz00,
		BgL_bgl_string2282za700za7za7_2426za7,
		"RGC:Illegal regular variable definition", 39);
	      BGL_DEFINE_STRING(BGl_string2283z00zz__rgc_rulesz00,
		BgL_bgl_string2283za700za7za7_2427za7,
		"/tmp/bigloo/runtime/Rgc/rgcrules.scm", 36);
	      BGL_DEFINE_STRING(BGl_string2365z00zz__rgc_rulesz00,
		BgL_bgl_string2365za700za7za7_2428za7, "out", 3);
	      BGL_DEFINE_STRING(BGl_string2284z00zz__rgc_rulesz00,
		BgL_bgl_string2284za700za7za7_2429za7, "&special-char?", 14);
	      BGL_DEFINE_STRING(BGl_string2285z00zz__rgc_rulesz00,
		BgL_bgl_string2285za700za7za7_2430za7, "bint", 4);
	      BGL_DEFINE_STRING(BGl_string2367z00zz__rgc_rulesz00,
		BgL_bgl_string2367za700za7za7_2431za7, "and", 3);
	      BGL_DEFINE_STRING(BGl_string2286z00zz__rgc_rulesz00,
		BgL_bgl_string2286za700za7za7_2432za7, "&special-char-match?", 20);
	      BGL_DEFINE_STRING(BGl_string2287z00zz__rgc_rulesz00,
		BgL_bgl_string2287za700za7za7_2433za7, "&special-match-char->rule-number",
		32);
	      BGL_DEFINE_STRING(BGl_string2369z00zz__rgc_rulesz00,
		BgL_bgl_string2369za700za7za7_2434za7, "but", 3);
	      BGL_DEFINE_STRING(BGl_string2288z00zz__rgc_rulesz00,
		BgL_bgl_string2288za700za7za7_2435za7, "&predicate-match", 16);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_specialzd2charzd2matchzf3zd2envz21zz__rgc_rulesz00,
		BgL_bgl_za762specialza7d2cha2436z00,
		BGl_z62specialzd2charzd2matchzf3z91zz__rgc_rulesz00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_predicatezd2matchzd2envz00zz__rgc_rulesz00,
		BgL_bgl_za762predicateza7d2m2437z00,
		BGl_z62predicatezd2matchzb0zz__rgc_rulesz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string2371z00zz__rgc_rulesz00,
		BgL_bgl_string2371za700za7za7_2438za7, "submatch", 8);
	      BGL_DEFINE_STRING(BGl_string2290z00zz__rgc_rulesz00,
		BgL_bgl_string2290za700za7za7_2439za7, "when", 4);
	      BGL_DEFINE_STRING(BGl_string2373z00zz__rgc_rulesz00,
		BgL_bgl_string2373za700za7za7_2440za7, ":", 1);
	      BGL_DEFINE_STRING(BGl_string2292z00zz__rgc_rulesz00,
		BgL_bgl_string2292za700za7za7_2441za7, "context", 7);
	      BGL_DEFINE_STRING(BGl_string2375z00zz__rgc_rulesz00,
		BgL_bgl_string2375za700za7za7_2442za7, "seq", 3);
	      BGL_DEFINE_STRING(BGl_string2294z00zz__rgc_rulesz00,
		BgL_bgl_string2294za700za7za7_2443za7, "quote", 5);
	      BGL_DEFINE_STRING(BGl_string2377z00zz__rgc_rulesz00,
		BgL_bgl_string2377za700za7za7_2444za7, "posix", 5);
	      BGL_DEFINE_STRING(BGl_string2296z00zz__rgc_rulesz00,
		BgL_bgl_string2296za700za7za7_2445za7, "the-rgc-context", 15);
	      BGL_DEFINE_STRING(BGl_string2378z00zz__rgc_rulesz00,
		BgL_bgl_string2378za700za7za7_2446za7, "RGC:illegal atom", 16);
	      BGL_DEFINE_STRING(BGl_string2379z00zz__rgc_rulesz00,
		BgL_bgl_string2379za700za7za7_2447za7, "RGC:regular variable unbound", 28);
	      BGL_DEFINE_STRING(BGl_string2298z00zz__rgc_rulesz00,
		BgL_bgl_string2298za700za7za7_2448za7, "eq?", 3);
	      BGL_DEFINE_STRING(BGl_string2380z00zz__rgc_rulesz00,
		BgL_bgl_string2380za700za7za7_2449za7, "RGC:Illegal regular expression",
		30);
	      BGL_DEFINE_STRING(BGl_string2381z00zz__rgc_rulesz00,
		BgL_bgl_string2381za700za7za7_2450za7, "RGC:Illegal empty string", 24);
	      BGL_DEFINE_STRING(BGl_string2383z00zz__rgc_rulesz00,
		BgL_bgl_string2383za700za7za7_2451za7, "sequence", 8);
	      BGL_DEFINE_STRING(BGl_string2384z00zz__rgc_rulesz00,
		BgL_bgl_string2384za700za7za7_2452za7, "RGC:Illegal regular range", 25);
	      BGL_DEFINE_STRING(BGl_string2385z00zz__rgc_rulesz00,
		BgL_bgl_string2385za700za7za7_2453za7, "RGC:Illegal range string", 24);
	      BGL_DEFINE_STRING(BGl_string2386z00zz__rgc_rulesz00,
		BgL_bgl_string2386za700za7za7_2454za7, "RGC:Illegal range", 17);
	      BGL_DEFINE_STRING(BGl_string2387z00zz__rgc_rulesz00,
		BgL_bgl_string2387za700za7za7_2455za7, "RGC:Illegal nested submatches", 29);
	      BGL_DEFINE_STRING(BGl_string2388z00zz__rgc_rulesz00,
		BgL_bgl_string2388za700za7za7_2456za7, "__rgc_rules", 11);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_treezd2maxzd2charzd2envzd2zz__rgc_rulesz00,
		BgL_bgl_za762treeza7d2maxza7d22457za7,
		BGl_z62treezd2maxzd2charz62zz__rgc_rulesz00, 0L, BUNSPEC, 0);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_specialzd2matchzd2charzd2ze3rulezd2numberzd2envz31zz__rgc_rulesz00,
		BgL_bgl_za762specialza7d2mat2458z00,
		BGl_z62specialzd2matchzd2charzd2ze3rulezd2numberz81zz__rgc_rulesz00, 0L,
		BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_specialzd2charzf3zd2envzf3zz__rgc_rulesz00,
		BgL_bgl_za762specialza7d2cha2459z00,
		BGl_z62specialzd2charzf3z43zz__rgc_rulesz00, 0L, BUNSPEC, 1);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_specialzd2charzf3zd2envzf3zz__rgc_rulesz00,
			BgL_bgl_za762specialza7d2cha2459z00);
		BGL_BIND_PROCEDURE
			(BGl_specialzd2matchzd2charzd2ze3rulezd2numberzd2envz31zz__rgc_rulesz00,
			BgL_bgl_za762specialza7d2mat2458z00);
		BGL_BIND_PROCEDURE(BGl_treezd2maxzd2charzd2envzd2zz__rgc_rulesz00,
			BgL_bgl_za762treeza7d2maxza7d22457za7);
		BGL_BIND_STRING(BGl_string2388z00zz__rgc_rulesz00,
			BgL_bgl_string2388za700za7za7_2456za7);
		BGL_BIND_STRING(BGl_string2387z00zz__rgc_rulesz00,
			BgL_bgl_string2387za700za7za7_2455za7);
		BGL_BIND_STRING(BGl_string2386z00zz__rgc_rulesz00,
			BgL_bgl_string2386za700za7za7_2454za7);
		BGL_BIND_STRING(BGl_string2385z00zz__rgc_rulesz00,
			BgL_bgl_string2385za700za7za7_2453za7);
		BGL_BIND_STRING(BGl_string2384z00zz__rgc_rulesz00,
			BgL_bgl_string2384za700za7za7_2452za7);
		BGL_BIND_STRING(BGl_string2383z00zz__rgc_rulesz00,
			BgL_bgl_string2383za700za7za7_2451za7);
		BGL_BIND_STRING(BGl_string2381z00zz__rgc_rulesz00,
			BgL_bgl_string2381za700za7za7_2450za7);
		BGL_BIND_STRING(BGl_string2380z00zz__rgc_rulesz00,
			BgL_bgl_string2380za700za7za7_2449za7);
		BGL_BIND_STRING(BGl_string2298z00zz__rgc_rulesz00,
			BgL_bgl_string2298za700za7za7_2448za7);
		BGL_BIND_STRING(BGl_string2379z00zz__rgc_rulesz00,
			BgL_bgl_string2379za700za7za7_2447za7);
		BGL_BIND_STRING(BGl_string2378z00zz__rgc_rulesz00,
			BgL_bgl_string2378za700za7za7_2446za7);
		BGL_BIND_STRING(BGl_string2296z00zz__rgc_rulesz00,
			BgL_bgl_string2296za700za7za7_2445za7);
		BGL_BIND_STRING(BGl_string2377z00zz__rgc_rulesz00,
			BgL_bgl_string2377za700za7za7_2444za7);
		BGL_BIND_STRING(BGl_string2294z00zz__rgc_rulesz00,
			BgL_bgl_string2294za700za7za7_2443za7);
		BGL_BIND_STRING(BGl_string2375z00zz__rgc_rulesz00,
			BgL_bgl_string2375za700za7za7_2442za7);
		BGL_BIND_STRING(BGl_string2292z00zz__rgc_rulesz00,
			BgL_bgl_string2292za700za7za7_2441za7);
		BGL_BIND_STRING(BGl_string2373z00zz__rgc_rulesz00,
			BgL_bgl_string2373za700za7za7_2440za7);
		BGL_BIND_STRING(BGl_string2290z00zz__rgc_rulesz00,
			BgL_bgl_string2290za700za7za7_2439za7);
		BGL_BIND_STRING(BGl_string2371z00zz__rgc_rulesz00,
			BgL_bgl_string2371za700za7za7_2438za7);
		BGL_BIND_PROCEDURE(BGl_predicatezd2matchzd2envz00zz__rgc_rulesz00,
			BgL_bgl_za762predicateza7d2m2437z00);
		BGL_BIND_PROCEDURE(BGl_specialzd2charzd2matchzf3zd2envz21zz__rgc_rulesz00,
			BgL_bgl_za762specialza7d2cha2436z00);
		BGL_BIND_STRING(BGl_string2288z00zz__rgc_rulesz00,
			BgL_bgl_string2288za700za7za7_2435za7);
		BGL_BIND_STRING(BGl_string2369z00zz__rgc_rulesz00,
			BgL_bgl_string2369za700za7za7_2434za7);
		BGL_BIND_STRING(BGl_string2287z00zz__rgc_rulesz00,
			BgL_bgl_string2287za700za7za7_2433za7);
		BGL_BIND_STRING(BGl_string2286z00zz__rgc_rulesz00,
			BgL_bgl_string2286za700za7za7_2432za7);
		BGL_BIND_STRING(BGl_string2367z00zz__rgc_rulesz00,
			BgL_bgl_string2367za700za7za7_2431za7);
		BGL_BIND_STRING(BGl_string2285z00zz__rgc_rulesz00,
			BgL_bgl_string2285za700za7za7_2430za7);
		BGL_BIND_STRING(BGl_string2284z00zz__rgc_rulesz00,
			BgL_bgl_string2284za700za7za7_2429za7);
		BGL_BIND_STRING(BGl_string2365z00zz__rgc_rulesz00,
			BgL_bgl_string2365za700za7za7_2428za7);
		BGL_BIND_STRING(BGl_string2283z00zz__rgc_rulesz00,
			BgL_bgl_string2283za700za7za7_2427za7);
		BGL_BIND_STRING(BGl_string2282z00zz__rgc_rulesz00,
			BgL_bgl_string2282za700za7za7_2426za7);
		BGL_BIND_STRING(BGl_string2363z00zz__rgc_rulesz00,
			BgL_bgl_string2363za700za7za7_2425za7);
		BGL_BIND_STRING(BGl_string2281z00zz__rgc_rulesz00,
			BgL_bgl_string2281za700za7za7_2424za7);
		BGL_BIND_STRING(BGl_string2280z00zz__rgc_rulesz00,
			BgL_bgl_string2280za700za7za7_2423za7);
		BGL_BIND_STRING(BGl_string2361z00zz__rgc_rulesz00,
			BgL_bgl_string2361za700za7za7_2422za7);
		BGL_BIND_STRING(BGl_string2278z00zz__rgc_rulesz00,
			BgL_bgl_string2278za700za7za7_2421za7);
		BGL_BIND_STRING(BGl_string2359z00zz__rgc_rulesz00,
			BgL_bgl_string2359za700za7za7_2420za7);
		BGL_BIND_STRING(BGl_string2277z00zz__rgc_rulesz00,
			BgL_bgl_string2277za700za7za7_2419za7);
		BGL_BIND_STRING(BGl_string2357z00zz__rgc_rulesz00,
			BgL_bgl_string2357za700za7za7_2418za7);
		BGL_BIND_STRING(BGl_string2274z00zz__rgc_rulesz00,
			BgL_bgl_string2274za700za7za7_2417za7);
		BGL_BIND_STRING(BGl_string2355z00zz__rgc_rulesz00,
			BgL_bgl_string2355za700za7za7_2416za7);
		BGL_BIND_STRING(BGl_string2272z00zz__rgc_rulesz00,
			BgL_bgl_string2272za700za7za7_2415za7);
		BGL_BIND_STRING(BGl_string2353z00zz__rgc_rulesz00,
			BgL_bgl_string2353za700za7za7_2414za7);
		BGL_BIND_STRING(BGl_string2270z00zz__rgc_rulesz00,
			BgL_bgl_string2270za700za7za7_2413za7);
		BGL_BIND_STRING(BGl_string2351z00zz__rgc_rulesz00,
			BgL_bgl_string2351za700za7za7_2412za7);
		BGL_BIND_STRING(BGl_string2268z00zz__rgc_rulesz00,
			BgL_bgl_string2268za700za7za7_2411za7);
		BGL_BIND_STRING(BGl_string2349z00zz__rgc_rulesz00,
			BgL_bgl_string2349za700za7za7_2410za7);
		BGL_BIND_STRING(BGl_string2266z00zz__rgc_rulesz00,
			BgL_bgl_string2266za700za7za7_2409za7);
		BGL_BIND_STRING(BGl_string2347z00zz__rgc_rulesz00,
			BgL_bgl_string2347za700za7za7_2408za7);
		BGL_BIND_STRING(BGl_string2346z00zz__rgc_rulesz00,
			BgL_bgl_string2346za700za7za7_2407za7);
		BGL_BIND_STRING(BGl_string2344z00zz__rgc_rulesz00,
			BgL_bgl_string2344za700za7za7_2406za7);
		BGL_BIND_PROCEDURE
			(BGl_resetzd2specialzd2matchzd2charz12zd2envz12zz__rgc_rulesz00,
			BgL_bgl_za762resetza7d2speci2405z00);
		BGL_BIND_STRING(BGl_string2338z00zz__rgc_rulesz00,
			BgL_bgl_string2338za700za7za7_2404za7);
		BGL_BIND_STRING(BGl_string2336z00zz__rgc_rulesz00,
			BgL_bgl_string2336za700za7za7_2403za7);
		BGL_BIND_STRING(BGl_string2333z00zz__rgc_rulesz00,
			BgL_bgl_string2333za700za7za7_2402za7);
		BGL_BIND_STRING(BGl_string2331z00zz__rgc_rulesz00,
			BgL_bgl_string2331za700za7za7_2401za7);
		BGL_BIND_STRING(BGl_string2327z00zz__rgc_rulesz00,
			BgL_bgl_string2327za700za7za7_2400za7);
		BGL_BIND_STRING(BGl_string2324z00zz__rgc_rulesz00,
			BgL_bgl_string2324za700za7za7_2399za7);
		BGL_BIND_STRING(BGl_string2321z00zz__rgc_rulesz00,
			BgL_bgl_string2321za700za7za7_2398za7);
		BGL_BIND_STRING(BGl_string2319z00zz__rgc_rulesz00,
			BgL_bgl_string2319za700za7za7_2397za7);
		BGL_BIND_STRING(BGl_string2317z00zz__rgc_rulesz00,
			BgL_bgl_string2317za700za7za7_2396za7);
		BGL_BIND_STRING(BGl_string2314z00zz__rgc_rulesz00,
			BgL_bgl_string2314za700za7za7_2395za7);
		BGL_BIND_STRING(BGl_string2310z00zz__rgc_rulesz00,
			BgL_bgl_string2310za700za7za7_2394za7);
		BGL_BIND_STRING(BGl_string2307z00zz__rgc_rulesz00,
			BgL_bgl_string2307za700za7za7_2393za7);
		BGL_BIND_STRING(BGl_string2305z00zz__rgc_rulesz00,
			BgL_bgl_string2305za700za7za7_2392za7);
		BGL_BIND_STRING(BGl_string2303z00zz__rgc_rulesz00,
			BgL_bgl_string2303za700za7za7_2391za7);
		BGL_BIND_STRING(BGl_string2300z00zz__rgc_rulesz00,
			BgL_bgl_string2300za700za7za7_2390za7);
		BGL_BIND_PROCEDURE(BGl_ruleszd2ze3regularzd2treezd2envz31zz__rgc_rulesz00,
			BgL_bgl_za762rulesza7d2za7e3re2389za7);
	}

/* 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_za2specialzd2stopzd2matchzd2charza2zd2zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2302z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2304z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2306z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2309z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2313z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2316z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2318z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2320z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2323z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2326z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2330z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2332z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2301z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2335z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2337z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2308z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2343z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2311z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2345z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2312z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2348z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2315z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2267z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2269z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2350z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2352z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2271z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2354z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2273z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2322z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2356z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2276z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2358z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2325z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2279z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2328z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2329z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2360z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2362z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2364z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2366z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2334z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2368z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2289z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2339z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2370z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2372z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2291z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2340z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2374z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2341z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2293z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2342z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2376z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2295z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2297z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2299z00zz__rgc_rulesz00));
		ADD_ROOT((void
				*) (&BGl_za2specialzd2startzd2matchzd2charza2zd2zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_za2predicatesza2z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_symbol2382z00zz__rgc_rulesz00));
		ADD_ROOT((void *) (&BGl_list2275z00zz__rgc_rulesz00));
#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_rulesz00(long
		BgL_checksumz00_3642, char *BgL_fromz00_3643)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__rgc_rulesz00))
				{
					BGl_requirezd2initializa7ationz75zz__rgc_rulesz00 =
						BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__rgc_rulesz00();
					BGl_cnstzd2initzd2zz__rgc_rulesz00();
					BGl_importedzd2moduleszd2initz00zz__rgc_rulesz00();
					return BGl_toplevelzd2initzd2zz__rgc_rulesz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 24 */
			BGl_symbol2267z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2268z00zz__rgc_rulesz00);
			BGl_symbol2269z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2270z00zz__rgc_rulesz00);
			BGl_symbol2271z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2272z00zz__rgc_rulesz00);
			BGl_symbol2273z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2274z00zz__rgc_rulesz00);
			BGl_symbol2276z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2277z00zz__rgc_rulesz00);
			BGl_list2275z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2276z00zz__rgc_rulesz00, BNIL);
			BGl_symbol2279z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2280z00zz__rgc_rulesz00);
			BGl_symbol2289z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2290z00zz__rgc_rulesz00);
			BGl_symbol2291z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2292z00zz__rgc_rulesz00);
			BGl_symbol2293z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2294z00zz__rgc_rulesz00);
			BGl_symbol2295z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2296z00zz__rgc_rulesz00);
			BGl_symbol2297z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2298z00zz__rgc_rulesz00);
			BGl_symbol2299z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2300z00zz__rgc_rulesz00);
			BGl_symbol2302z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2303z00zz__rgc_rulesz00);
			BGl_symbol2304z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2305z00zz__rgc_rulesz00);
			BGl_list2301z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2302z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2304z00zz__rgc_rulesz00, BNIL));
			BGl_symbol2306z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2307z00zz__rgc_rulesz00);
			BGl_symbol2309z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2310z00zz__rgc_rulesz00);
			BGl_symbol2313z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2314z00zz__rgc_rulesz00);
			BGl_symbol2316z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2317z00zz__rgc_rulesz00);
			BGl_symbol2318z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2319z00zz__rgc_rulesz00);
			BGl_symbol2320z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2321z00zz__rgc_rulesz00);
			BGl_list2315z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2316z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2304z00zz__rgc_rulesz00,
					MAKE_YOUNG_PAIR(BGl_symbol2318z00zz__rgc_rulesz00,
						MAKE_YOUNG_PAIR(BGl_symbol2320z00zz__rgc_rulesz00, BNIL))));
			BGl_list2312z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2313z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_list2315z00zz__rgc_rulesz00, BNIL));
			BGl_list2311z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_list2312z00zz__rgc_rulesz00, BNIL);
			BGl_symbol2323z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2324z00zz__rgc_rulesz00);
			BGl_symbol2326z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2327z00zz__rgc_rulesz00);
			BGl_list2325z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2326z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2304z00zz__rgc_rulesz00, BNIL));
			BGl_list2322z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2323z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2318z00zz__rgc_rulesz00,
					MAKE_YOUNG_PAIR(BGl_list2325z00zz__rgc_rulesz00, BNIL)));
			BGl_symbol2330z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2331z00zz__rgc_rulesz00);
			BGl_list2329z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2330z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2304z00zz__rgc_rulesz00, BNIL));
			BGl_list2328z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2323z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2320z00zz__rgc_rulesz00,
					MAKE_YOUNG_PAIR(BGl_list2329z00zz__rgc_rulesz00, BNIL)));
			BGl_list2308z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2309z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_list2311z00zz__rgc_rulesz00,
					MAKE_YOUNG_PAIR(BGl_list2322z00zz__rgc_rulesz00,
						MAKE_YOUNG_PAIR(BGl_list2328z00zz__rgc_rulesz00,
							MAKE_YOUNG_PAIR(BGl_symbol2313z00zz__rgc_rulesz00, BNIL)))));
			BGl_symbol2332z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2333z00zz__rgc_rulesz00);
			BGl_symbol2335z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2336z00zz__rgc_rulesz00);
			BGl_list2334z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2335z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2304z00zz__rgc_rulesz00, BNIL));
			BGl_symbol2337z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2338z00zz__rgc_rulesz00);
			BGl_symbol2343z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2344z00zz__rgc_rulesz00);
			BGl_list2342z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2343z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_symbol2304z00zz__rgc_rulesz00,
					MAKE_YOUNG_PAIR(BGl_symbol2318z00zz__rgc_rulesz00,
						MAKE_YOUNG_PAIR(BGl_symbol2320z00zz__rgc_rulesz00, BNIL))));
			BGl_list2341z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2313z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_list2342z00zz__rgc_rulesz00, BNIL));
			BGl_list2340z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_list2341z00zz__rgc_rulesz00, BNIL);
			BGl_list2339z00zz__rgc_rulesz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2309z00zz__rgc_rulesz00,
				MAKE_YOUNG_PAIR(BGl_list2340z00zz__rgc_rulesz00,
					MAKE_YOUNG_PAIR(BGl_list2322z00zz__rgc_rulesz00,
						MAKE_YOUNG_PAIR(BGl_list2328z00zz__rgc_rulesz00,
							MAKE_YOUNG_PAIR(BGl_symbol2313z00zz__rgc_rulesz00, BNIL)))));
			BGl_symbol2345z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2346z00zz__rgc_rulesz00);
			BGl_symbol2348z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2349z00zz__rgc_rulesz00);
			BGl_symbol2350z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2351z00zz__rgc_rulesz00);
			BGl_symbol2352z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2353z00zz__rgc_rulesz00);
			BGl_symbol2354z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2355z00zz__rgc_rulesz00);
			BGl_symbol2356z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2357z00zz__rgc_rulesz00);
			BGl_symbol2358z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2359z00zz__rgc_rulesz00);
			BGl_symbol2360z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2361z00zz__rgc_rulesz00);
			BGl_symbol2362z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2363z00zz__rgc_rulesz00);
			BGl_symbol2364z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2365z00zz__rgc_rulesz00);
			BGl_symbol2366z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2367z00zz__rgc_rulesz00);
			BGl_symbol2368z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2369z00zz__rgc_rulesz00);
			BGl_symbol2370z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2371z00zz__rgc_rulesz00);
			BGl_symbol2372z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2373z00zz__rgc_rulesz00);
			BGl_symbol2374z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2375z00zz__rgc_rulesz00);
			BGl_symbol2376z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2377z00zz__rgc_rulesz00);
			return (BGl_symbol2382z00zz__rgc_rulesz00 =
				bstring_to_symbol(BGl_string2383z00zz__rgc_rulesz00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 24 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 24 */
			BGl_za2maxzd2rgczd2zd3zd2numza2z01zz__rgc_rulesz00 = 81L;
			{	/* Rgc/rgcrules.scm 163 */
				obj_t BgL_arg1239z00_1263;

				BgL_arg1239z00_1263 = BGl_rgczd2maxzd2charz00zz__rgc_configz00();
				BGl_specialzd2charzd2numz00zz__rgc_rulesz00 =
					((long) CINT(BgL_arg1239z00_1263) - 1L);
			}
			BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00 = BNIL;
			BGl_za2specialzd2startzd2matchzd2charza2zd2zz__rgc_rulesz00 = BNIL;
			BGl_za2specialzd2stopzd2matchzd2charza2zd2zz__rgc_rulesz00 = BNIL;
			BGl_za2predicatesza2z00zz__rgc_rulesz00 = BNIL;
			BGl_za2submatchzf3za2zf3zz__rgc_rulesz00 = ((bool_t) 0);
			BGl_za2submatchzd2countza2zd2zz__rgc_rulesz00 = 0L;
			return (BGl_za2lockzd2submatchza2zd2zz__rgc_rulesz00 =
				((bool_t) 0), BUNSPEC);
		}

	}



/* append-21011 */
	obj_t BGl_appendzd221011zd2zz__rgc_rulesz00(obj_t BgL_l1z00_1,
		obj_t BgL_l2z00_2)
	{
		{
			if (NULLP(BgL_l1z00_1))
				{
					return BgL_l2z00_2;
				}
			else
				{
					obj_t BgL_headz00_1265;

					BgL_headz00_1265 = MAKE_YOUNG_PAIR(BNIL, BgL_l2z00_2);
					{
						obj_t BgL_prevz00_2590;
						obj_t BgL_tailz00_2591;

						BgL_prevz00_2590 = BgL_headz00_1265;
						BgL_tailz00_2591 = BgL_l1z00_1;
					BgL_loopz00_2589:
						if (PAIRP(BgL_tailz00_2591))
							{
								obj_t BgL_newzd2prevzd2_2597;

								BgL_newzd2prevzd2_2597 =
									MAKE_YOUNG_PAIR(CAR(BgL_tailz00_2591), BgL_l2z00_2);
								SET_CDR(BgL_prevz00_2590, BgL_newzd2prevzd2_2597);
								{
									obj_t BgL_tailz00_3748;
									obj_t BgL_prevz00_3747;

									BgL_prevz00_3747 = BgL_newzd2prevzd2_2597;
									BgL_tailz00_3748 = CDR(BgL_tailz00_2591);
									BgL_tailz00_2591 = BgL_tailz00_3748;
									BgL_prevz00_2590 = BgL_prevz00_3747;
									goto BgL_loopz00_2589;
								}
							}
						else
							{
								BNIL;
							}
					}
					return CDR(BgL_headz00_1265);
				}
		}

	}



/* rules->regular-tree */
	BGL_EXPORTED_DEF obj_t BGl_ruleszd2ze3regularzd2treeze3zz__rgc_rulesz00(obj_t
		BgL_userzd2envzd2_3, obj_t BgL_clausesz00_4)
	{
		{	/* Rgc/rgcrules.scm 80 */
			BGl_resetzd2specialzd2matchzd2charz12zc0zz__rgc_rulesz00();
			if (NULLP(BgL_clausesz00_4))
				{	/* Rgc/rgcrules.scm 82 */
					return
						BGl_errorz00zz__errorz00(BFALSE, BGl_string2266z00zz__rgc_rulesz00,
						BgL_clausesz00_4);
				}
			else
				{	/* Rgc/rgcrules.scm 84 */
					obj_t BgL_envz00_1274;
					obj_t BgL_dfltz00_1275;

					BgL_envz00_1274 =
						BGl_makezd2variablezd2envz00zz__rgc_rulesz00
						(BGl_appendzd221011zd2zz__rgc_rulesz00(BgL_userzd2envzd2_3,
							BGl_rgczd2envzd2zz__rgc_configz00()));
					{	/* Rgc/rgcrules.scm 85 */
						obj_t BgL_arg1296z00_1334;

						{	/* Rgc/rgcrules.scm 85 */
							obj_t BgL_arg1298z00_1335;

							{	/* Rgc/rgcrules.scm 85 */
								obj_t BgL_arg1301z00_1336;

								{	/* Rgc/rgcrules.scm 85 */
									obj_t BgL_arg1322z00_1337;

									{	/* Rgc/rgcrules.scm 85 */
										obj_t BgL_a1101z00_1338;

										BgL_a1101z00_1338 =
											BGl_rgczd2maxzd2charz00zz__rgc_configz00();
										if (INTEGERP(BgL_a1101z00_1338))
											{	/* Rgc/rgcrules.scm 85 */
												obj_t BgL_tmpz00_2606;

												BgL_tmpz00_2606 = BINT(0L);
												{	/* Rgc/rgcrules.scm 85 */
													bool_t BgL_test2465z00_3762;

													{	/* Rgc/rgcrules.scm 85 */
														obj_t BgL_tmpz00_3763;

														BgL_tmpz00_3763 = BINT(1L);
														BgL_test2465z00_3762 =
															BGL_SUBFX_OV(BgL_a1101z00_1338, BgL_tmpz00_3763,
															BgL_tmpz00_2606);
													}
													if (BgL_test2465z00_3762)
														{	/* Rgc/rgcrules.scm 85 */
															BgL_arg1322z00_1337 =
																bgl_bignum_sub(bgl_long_to_bignum(
																	(long) CINT(BgL_a1101z00_1338)),
																bgl_long_to_bignum(1L));
														}
													else
														{	/* Rgc/rgcrules.scm 85 */
															BgL_arg1322z00_1337 = BgL_tmpz00_2606;
														}
												}
											}
										else
											{	/* Rgc/rgcrules.scm 85 */
												BgL_arg1322z00_1337 =
													BGl_2zd2zd2zz__r4_numbers_6_5z00(BgL_a1101z00_1338,
													BINT(1L));
											}
									}
									BgL_arg1301z00_1336 =
										MAKE_YOUNG_PAIR(BgL_arg1322z00_1337, BNIL);
								}
								BgL_arg1298z00_1335 =
									MAKE_YOUNG_PAIR(BINT(0L), BgL_arg1301z00_1336);
							}
							BgL_arg1296z00_1334 = MAKE_YOUNG_PAIR(BgL_arg1298z00_1335, BNIL);
						}
						BgL_dfltz00_1275 =
							MAKE_YOUNG_PAIR(BGl_symbol2267z00zz__rgc_rulesz00,
							BgL_arg1296z00_1334);
					}
					{
						obj_t BgL_clausesz00_1280;
						long BgL_matchz00_1281;
						obj_t BgL_branchesz00_1282;
						obj_t BgL_actionsz00_1283;
						obj_t BgL_defsz00_1284;

						BgL_clausesz00_1280 = BgL_clausesz00_4;
						BgL_matchz00_1281 = 0L;
						BgL_branchesz00_1282 = BNIL;
						BgL_actionsz00_1283 = BNIL;
						BgL_defsz00_1284 = BNIL;
					BgL_zc3z04anonymousza31250ze3z87_1285:
						{
							obj_t BgL_rulez00_1287;
							obj_t BgL_actsz00_1288;

							{	/* Rgc/rgcrules.scm 91 */
								obj_t BgL_ezd2104zd2_1291;

								BgL_ezd2104zd2_1291 = CAR(((obj_t) BgL_clausesz00_1280));
								if (PAIRP(BgL_ezd2104zd2_1291))
									{	/* Rgc/rgcrules.scm 86 */
										if (
											(CAR(BgL_ezd2104zd2_1291) ==
												BGl_symbol2279z00zz__rgc_rulesz00))
											{	/* Rgc/rgcrules.scm 86 */
												{	/* Rgc/rgcrules.scm 93 */
													obj_t BgL_arg1261z00_1299;
													obj_t BgL_arg1262z00_1300;

													BgL_arg1261z00_1299 =
														CDR(((obj_t) BgL_clausesz00_1280));
													{	/* Rgc/rgcrules.scm 97 */
														obj_t BgL_arg1263z00_1301;

														BgL_arg1263z00_1301 =
															CAR(((obj_t) BgL_clausesz00_1280));
														BgL_arg1262z00_1300 =
															MAKE_YOUNG_PAIR(BgL_arg1263z00_1301,
															BgL_defsz00_1284);
													}
													{
														obj_t BgL_defsz00_3790;
														obj_t BgL_clausesz00_3789;

														BgL_clausesz00_3789 = BgL_arg1261z00_1299;
														BgL_defsz00_3790 = BgL_arg1262z00_1300;
														BgL_defsz00_1284 = BgL_defsz00_3790;
														BgL_clausesz00_1280 = BgL_clausesz00_3789;
														goto BgL_zc3z04anonymousza31250ze3z87_1285;
													}
												}
											}
										else
											{	/* Rgc/rgcrules.scm 86 */
												obj_t BgL_cdrzd2114zd2_1295;

												BgL_cdrzd2114zd2_1295 = CDR(BgL_ezd2104zd2_1291);
												if (PAIRP(BgL_cdrzd2114zd2_1295))
													{	/* Rgc/rgcrules.scm 86 */
														BgL_rulez00_1287 = CAR(BgL_ezd2104zd2_1291);
														BgL_actsz00_1288 = BgL_cdrzd2114zd2_1295;
														{	/* Rgc/rgcrules.scm 99 */
															obj_t BgL_actz00_1302;

															BgL_actz00_1302 =
																MAKE_YOUNG_PAIR
																(BGl_symbol2269z00zz__rgc_rulesz00,
																BgL_actsz00_1288);
															if (NULLP(CDR(((obj_t) BgL_clausesz00_1280))))
																{	/* Rgc/rgcrules.scm 100 */
																	if (
																		(BgL_rulez00_1287 ==
																			BGl_symbol2271z00zz__rgc_rulesz00))
																		{	/* Rgc/rgcrules.scm 103 */
																			obj_t BgL_val0_1102z00_1305;
																			obj_t BgL_val1_1103z00_1306;
																			bool_t BgL_val3_1105z00_1308;

																			{	/* Rgc/rgcrules.scm 103 */
																				obj_t BgL_arg1267z00_1310;

																				BgL_arg1267z00_1310 =
																					MAKE_YOUNG_PAIR
																					(BGl_expandzd2matchzd2rulez00zz__rgc_rulesz00
																					(BgL_matchz00_1281, BgL_envz00_1274,
																						BgL_dfltz00_1275),
																					BgL_branchesz00_1282);
																				BgL_val0_1102z00_1305 =
																					MAKE_YOUNG_PAIR
																					(BGl_symbol2273z00zz__rgc_rulesz00,
																					BgL_arg1267z00_1310);
																			}
																			{	/* Rgc/rgcrules.scm 105 */
																				obj_t BgL_arg1271z00_1312;

																				BgL_arg1271z00_1312 =
																					MAKE_YOUNG_PAIR(BgL_actz00_1302,
																					BgL_actionsz00_1283);
																				BgL_val1_1103z00_1306 =
																					bgl_reverse_bang(BgL_arg1271z00_1312);
																			}
																			BgL_val3_1105z00_1308 =
																				BGl_za2submatchzf3za2zf3zz__rgc_rulesz00;
																			{	/* Rgc/rgcrules.scm 103 */
																				int BgL_tmpz00_3806;

																				BgL_tmpz00_3806 = (int) (5L);
																				BGL_MVALUES_NUMBER_SET(BgL_tmpz00_3806);
																			}
																			{	/* Rgc/rgcrules.scm 103 */
																				int BgL_tmpz00_3809;

																				BgL_tmpz00_3809 = (int) (1L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3809,
																					BgL_val1_1103z00_1306);
																			}
																			{	/* Rgc/rgcrules.scm 103 */
																				obj_t BgL_auxz00_3814;
																				int BgL_tmpz00_3812;

																				BgL_auxz00_3814 =
																					BINT(BgL_matchz00_1281);
																				BgL_tmpz00_3812 = (int) (2L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3812,
																					BgL_auxz00_3814);
																			}
																			{	/* Rgc/rgcrules.scm 103 */
																				obj_t BgL_auxz00_3819;
																				int BgL_tmpz00_3817;

																				BgL_auxz00_3819 =
																					BBOOL(BgL_val3_1105z00_1308);
																				BgL_tmpz00_3817 = (int) (3L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3817,
																					BgL_auxz00_3819);
																			}
																			{	/* Rgc/rgcrules.scm 103 */
																				int BgL_tmpz00_3822;

																				BgL_tmpz00_3822 = (int) (4L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3822,
																					BgL_defsz00_1284);
																			}
																			return BgL_val0_1102z00_1305;
																		}
																	else
																		{	/* Rgc/rgcrules.scm 109 */
																			obj_t BgL_val0_1107z00_1313;
																			obj_t BgL_val1_1108z00_1314;
																			long BgL_val2_1109z00_1315;
																			bool_t BgL_val3_1110z00_1316;

																			{	/* Rgc/rgcrules.scm 109 */
																				obj_t BgL_arg1274z00_1318;

																				{	/* Rgc/rgcrules.scm 109 */
																					obj_t BgL_arg1276z00_1319;
																					obj_t BgL_arg1278z00_1320;

																					BgL_arg1276z00_1319 =
																						BGl_expandzd2matchzd2rulez00zz__rgc_rulesz00
																						((BgL_matchz00_1281 + 1L),
																						BgL_envz00_1274, BgL_dfltz00_1275);
																					BgL_arg1278z00_1320 =
																						MAKE_YOUNG_PAIR
																						(BGl_expandzd2matchzd2rulez00zz__rgc_rulesz00
																						(BgL_matchz00_1281, BgL_envz00_1274,
																							BgL_rulez00_1287),
																						BgL_branchesz00_1282);
																					BgL_arg1274z00_1318 =
																						MAKE_YOUNG_PAIR(BgL_arg1276z00_1319,
																						BgL_arg1278z00_1320);
																				}
																				BgL_val0_1107z00_1313 =
																					MAKE_YOUNG_PAIR
																					(BGl_symbol2273z00zz__rgc_rulesz00,
																					BgL_arg1274z00_1318);
																			}
																			{	/* Rgc/rgcrules.scm 114 */
																				obj_t BgL_arg1281z00_1323;

																				{	/* Rgc/rgcrules.scm 114 */
																					obj_t BgL_arg1282z00_1324;

																					BgL_arg1282z00_1324 =
																						MAKE_YOUNG_PAIR(BgL_actz00_1302,
																						BgL_actionsz00_1283);
																					BgL_arg1281z00_1323 =
																						MAKE_YOUNG_PAIR
																						(BGl_list2275z00zz__rgc_rulesz00,
																						BgL_arg1282z00_1324);
																				}
																				BgL_val1_1108z00_1314 =
																					bgl_reverse_bang(BgL_arg1281z00_1323);
																			}
																			BgL_val2_1109z00_1315 =
																				(1L + BgL_matchz00_1281);
																			BgL_val3_1110z00_1316 =
																				BGl_za2submatchzf3za2zf3zz__rgc_rulesz00;
																			{	/* Rgc/rgcrules.scm 109 */
																				int BgL_tmpz00_3835;

																				BgL_tmpz00_3835 = (int) (5L);
																				BGL_MVALUES_NUMBER_SET(BgL_tmpz00_3835);
																			}
																			{	/* Rgc/rgcrules.scm 109 */
																				int BgL_tmpz00_3838;

																				BgL_tmpz00_3838 = (int) (1L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3838,
																					BgL_val1_1108z00_1314);
																			}
																			{	/* Rgc/rgcrules.scm 109 */
																				obj_t BgL_auxz00_3843;
																				int BgL_tmpz00_3841;

																				BgL_auxz00_3843 =
																					BINT(BgL_val2_1109z00_1315);
																				BgL_tmpz00_3841 = (int) (2L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3841,
																					BgL_auxz00_3843);
																			}
																			{	/* Rgc/rgcrules.scm 109 */
																				obj_t BgL_auxz00_3848;
																				int BgL_tmpz00_3846;

																				BgL_auxz00_3848 =
																					BBOOL(BgL_val3_1110z00_1316);
																				BgL_tmpz00_3846 = (int) (3L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3846,
																					BgL_auxz00_3848);
																			}
																			{	/* Rgc/rgcrules.scm 109 */
																				int BgL_tmpz00_3851;

																				BgL_tmpz00_3851 = (int) (4L);
																				BGL_MVALUES_VAL_SET(BgL_tmpz00_3851,
																					BgL_defsz00_1284);
																			}
																			return BgL_val0_1107z00_1313;
																		}
																}
															else
																{	/* Rgc/rgcrules.scm 100 */
																	if (
																		(BgL_rulez00_1287 ==
																			BGl_symbol2271z00zz__rgc_rulesz00))
																		{	/* Rgc/rgcrules.scm 121 */
																			return
																				BGl_errorz00zz__errorz00(BFALSE,
																				BGl_string2278z00zz__rgc_rulesz00,
																				BgL_clausesz00_1280);
																		}
																	else
																		{	/* Rgc/rgcrules.scm 123 */
																			obj_t BgL_erulez00_1325;

																			BgL_erulez00_1325 =
																				BGl_expandzd2matchzd2rulez00zz__rgc_rulesz00
																				(BgL_matchz00_1281, BgL_envz00_1274,
																				BgL_rulez00_1287);
																			{	/* Rgc/rgcrules.scm 124 */
																				obj_t BgL_arg1283z00_1326;
																				long BgL_arg1285z00_1327;
																				obj_t BgL_arg1287z00_1328;
																				obj_t BgL_arg1291z00_1329;

																				BgL_arg1283z00_1326 =
																					CDR(((obj_t) BgL_clausesz00_1280));
																				BgL_arg1285z00_1327 =
																					(BgL_matchz00_1281 + 1L);
																				BgL_arg1287z00_1328 =
																					MAKE_YOUNG_PAIR(BgL_erulez00_1325,
																					BgL_branchesz00_1282);
																				BgL_arg1291z00_1329 =
																					MAKE_YOUNG_PAIR(BgL_actz00_1302,
																					BgL_actionsz00_1283);
																				{
																					obj_t BgL_actionsz00_3866;
																					obj_t BgL_branchesz00_3865;
																					long BgL_matchz00_3864;
																					obj_t BgL_clausesz00_3863;

																					BgL_clausesz00_3863 =
																						BgL_arg1283z00_1326;
																					BgL_matchz00_3864 =
																						BgL_arg1285z00_1327;
																					BgL_branchesz00_3865 =
																						BgL_arg1287z00_1328;
																					BgL_actionsz00_3866 =
																						BgL_arg1291z00_1329;
																					BgL_actionsz00_1283 =
																						BgL_actionsz00_3866;
																					BgL_branchesz00_1282 =
																						BgL_branchesz00_3865;
																					BgL_matchz00_1281 = BgL_matchz00_3864;
																					BgL_clausesz00_1280 =
																						BgL_clausesz00_3863;
																					goto
																						BgL_zc3z04anonymousza31250ze3z87_1285;
																				}
																			}
																		}
																}
														}
													}
												else
													{	/* Rgc/rgcrules.scm 86 */
														return
															BGl_errorz00zz__errorz00(BFALSE,
															BGl_string2281z00zz__rgc_rulesz00,
															BgL_clausesz00_1280);
													}
											}
									}
								else
									{	/* Rgc/rgcrules.scm 86 */
										return
											BGl_errorz00zz__errorz00(BFALSE,
											BGl_string2281z00zz__rgc_rulesz00, BgL_clausesz00_1280);
									}
							}
						}
					}
				}
		}

	}



/* &rules->regular-tree */
	obj_t BGl_z62ruleszd2ze3regularzd2treez81zz__rgc_rulesz00(obj_t
		BgL_envz00_3577, obj_t BgL_userzd2envzd2_3578, obj_t BgL_clausesz00_3579)
	{
		{	/* Rgc/rgcrules.scm 80 */
			return
				BGl_ruleszd2ze3regularzd2treeze3zz__rgc_rulesz00(BgL_userzd2envzd2_3578,
				BgL_clausesz00_3579);
		}

	}



/* make-variable-env */
	obj_t BGl_makezd2variablezd2envz00zz__rgc_rulesz00(obj_t BgL_bindingsz00_5)
	{
		{	/* Rgc/rgcrules.scm 138 */
			if (NULLP(BgL_bindingsz00_5))
				{	/* Rgc/rgcrules.scm 139 */
					return BNIL;
				}
			else
				{	/* Rgc/rgcrules.scm 141 */
					obj_t BgL_ezd2125zd2_1344;

					BgL_ezd2125zd2_1344 = CAR(((obj_t) BgL_bindingsz00_5));
					if (PAIRP(BgL_ezd2125zd2_1344))
						{	/* Rgc/rgcrules.scm 141 */
							obj_t BgL_carzd2130zd2_1346;
							obj_t BgL_cdrzd2131zd2_1347;

							BgL_carzd2130zd2_1346 = CAR(BgL_ezd2125zd2_1344);
							BgL_cdrzd2131zd2_1347 = CDR(BgL_ezd2125zd2_1344);
							if (SYMBOLP(BgL_carzd2130zd2_1346))
								{	/* Rgc/rgcrules.scm 141 */
									if (PAIRP(BgL_cdrzd2131zd2_1347))
										{	/* Rgc/rgcrules.scm 141 */
											if (NULLP(CDR(BgL_cdrzd2131zd2_1347)))
												{	/* Rgc/rgcrules.scm 141 */
													obj_t BgL_arg1331z00_1352;

													BgL_arg1331z00_1352 = CAR(BgL_cdrzd2131zd2_1347);
													{	/* Rgc/rgcrules.scm 143 */
														obj_t BgL_envz00_2636;

														{	/* Rgc/rgcrules.scm 143 */
															obj_t BgL_arg1334z00_2637;

															BgL_arg1334z00_2637 =
																CDR(((obj_t) BgL_bindingsz00_5));
															BgL_envz00_2636 =
																BGl_makezd2variablezd2envz00zz__rgc_rulesz00
																(BgL_arg1334z00_2637);
														}
														{	/* Rgc/rgcrules.scm 144 */
															obj_t BgL_arg1333z00_2638;

															BgL_arg1333z00_2638 =
																MAKE_YOUNG_PAIR(BgL_carzd2130zd2_1346,
																BgL_arg1331z00_1352);
															return MAKE_YOUNG_PAIR(BgL_arg1333z00_2638,
																BgL_envz00_2636);
														}
													}
												}
											else
												{	/* Rgc/rgcrules.scm 141 */
													return
														BGl_errorz00zz__errorz00(BFALSE,
														BGl_string2282z00zz__rgc_rulesz00,
														BgL_ezd2125zd2_1344);
												}
										}
									else
										{	/* Rgc/rgcrules.scm 141 */
											return
												BGl_errorz00zz__errorz00(BFALSE,
												BGl_string2282z00zz__rgc_rulesz00, BgL_ezd2125zd2_1344);
										}
								}
							else
								{	/* Rgc/rgcrules.scm 141 */
									return
										BGl_errorz00zz__errorz00(BFALSE,
										BGl_string2282z00zz__rgc_rulesz00, BgL_ezd2125zd2_1344);
								}
						}
					else
						{	/* Rgc/rgcrules.scm 141 */
							return
								BGl_errorz00zz__errorz00(BFALSE,
								BGl_string2282z00zz__rgc_rulesz00, BgL_ezd2125zd2_1344);
						}
				}
		}

	}



/* special-char? */
	BGL_EXPORTED_DEF bool_t BGl_specialzd2charzf3z21zz__rgc_rulesz00(int
		BgL_charz00_6)
	{
		{	/* Rgc/rgcrules.scm 171 */
			{	/* Rgc/rgcrules.scm 172 */
				obj_t BgL_arg1336z00_2649;

				BgL_arg1336z00_2649 = BGl_rgczd2maxzd2charz00zz__rgc_configz00();
				return ((long) (BgL_charz00_6) >= (long) CINT(BgL_arg1336z00_2649));
		}}

	}



/* &special-char? */
	obj_t BGl_z62specialzd2charzf3z43zz__rgc_rulesz00(obj_t BgL_envz00_3580,
		obj_t BgL_charz00_3581)
	{
		{	/* Rgc/rgcrules.scm 171 */
			{	/* Rgc/rgcrules.scm 172 */
				bool_t BgL_tmpz00_3900;

				{	/* Rgc/rgcrules.scm 172 */
					int BgL_auxz00_3901;

					{	/* Rgc/rgcrules.scm 172 */
						obj_t BgL_tmpz00_3902;

						if (INTEGERP(BgL_charz00_3581))
							{	/* Rgc/rgcrules.scm 172 */
								BgL_tmpz00_3902 = BgL_charz00_3581;
							}
						else
							{
								obj_t BgL_auxz00_3905;

								BgL_auxz00_3905 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string2283z00zz__rgc_rulesz00, BINT(6901L),
									BGl_string2284z00zz__rgc_rulesz00,
									BGl_string2285z00zz__rgc_rulesz00, BgL_charz00_3581);
								FAILURE(BgL_auxz00_3905, BFALSE, BFALSE);
							}
						BgL_auxz00_3901 = CINT(BgL_tmpz00_3902);
					}
					BgL_tmpz00_3900 =
						BGl_specialzd2charzf3z21zz__rgc_rulesz00(BgL_auxz00_3901);
				}
				return BBOOL(BgL_tmpz00_3900);
			}
		}

	}



/* tree-max-char */
	BGL_EXPORTED_DEF obj_t BGl_treezd2maxzd2charz00zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 181 */
			{	/* Rgc/rgcrules.scm 182 */
				long BgL_za72za7_2652;

				BgL_za72za7_2652 = BGl_specialzd2charzd2numz00zz__rgc_rulesz00;
				return BINT((1L + BgL_za72za7_2652));
			}
		}

	}



/* &tree-max-char */
	obj_t BGl_z62treezd2maxzd2charz62zz__rgc_rulesz00(obj_t BgL_envz00_3582)
	{
		{	/* Rgc/rgcrules.scm 181 */
			return BGl_treezd2maxzd2charz00zz__rgc_rulesz00();
		}

	}



/* reset-special-match-char! */
	BGL_EXPORTED_DEF obj_t
		BGl_resetzd2specialzd2matchzd2charz12zc0zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 196 */
			BGl_za2submatchzf3za2zf3zz__rgc_rulesz00 = ((bool_t) 0);
			BGl_za2predicatesza2z00zz__rgc_rulesz00 = BNIL;
			return (BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00 =
				BNIL, BUNSPEC);
		}

	}



/* &reset-special-match-char! */
	obj_t BGl_z62resetzd2specialzd2matchzd2charz12za2zz__rgc_rulesz00(obj_t
		BgL_envz00_3583)
	{
		{	/* Rgc/rgcrules.scm 196 */
			return BGl_resetzd2specialzd2matchzd2charz12zc0zz__rgc_rulesz00();
		}

	}



/* special-char-match? */
	BGL_EXPORTED_DEF bool_t BGl_specialzd2charzd2matchzf3zf3zz__rgc_rulesz00(int
		BgL_charz00_9)
	{
		{	/* Rgc/rgcrules.scm 210 */
			{	/* Rgc/rgcrules.scm 211 */
				obj_t BgL_tmpz00_3916;

				BgL_tmpz00_3916 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT(BgL_charz00_9),
					BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00);
				return PAIRP(BgL_tmpz00_3916);
			}
		}

	}



/* &special-char-match? */
	obj_t BGl_z62specialzd2charzd2matchzf3z91zz__rgc_rulesz00(obj_t
		BgL_envz00_3584, obj_t BgL_charz00_3585)
	{
		{	/* Rgc/rgcrules.scm 210 */
			{	/* Rgc/rgcrules.scm 211 */
				bool_t BgL_tmpz00_3920;

				{	/* Rgc/rgcrules.scm 211 */
					int BgL_auxz00_3921;

					{	/* Rgc/rgcrules.scm 211 */
						obj_t BgL_tmpz00_3922;

						if (INTEGERP(BgL_charz00_3585))
							{	/* Rgc/rgcrules.scm 211 */
								BgL_tmpz00_3922 = BgL_charz00_3585;
							}
						else
							{
								obj_t BgL_auxz00_3925;

								BgL_auxz00_3925 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string2283z00zz__rgc_rulesz00, BINT(8835L),
									BGl_string2286z00zz__rgc_rulesz00,
									BGl_string2285z00zz__rgc_rulesz00, BgL_charz00_3585);
								FAILURE(BgL_auxz00_3925, BFALSE, BFALSE);
							}
						BgL_auxz00_3921 = CINT(BgL_tmpz00_3922);
					}
					BgL_tmpz00_3920 =
						BGl_specialzd2charzd2matchzf3zf3zz__rgc_rulesz00(BgL_auxz00_3921);
				}
				return BBOOL(BgL_tmpz00_3920);
			}
		}

	}



/* special-match-char->rule-number */
	BGL_EXPORTED_DEF int
		BGl_specialzd2matchzd2charzd2ze3rulezd2numberze3zz__rgc_rulesz00(int
		BgL_charz00_10)
	{
		{	/* Rgc/rgcrules.scm 216 */
			{	/* Rgc/rgcrules.scm 217 */
				obj_t BgL_arg1339z00_2655;

				BgL_arg1339z00_2655 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT(BgL_charz00_10),
					BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00);
				return CINT(CDR(((obj_t) BgL_arg1339z00_2655)));
			}
		}

	}



/* &special-match-char->rule-number */
	obj_t
		BGl_z62specialzd2matchzd2charzd2ze3rulezd2numberz81zz__rgc_rulesz00(obj_t
		BgL_envz00_3586, obj_t BgL_charz00_3587)
	{
		{	/* Rgc/rgcrules.scm 216 */
			{	/* Rgc/rgcrules.scm 217 */
				int BgL_tmpz00_3937;

				{	/* Rgc/rgcrules.scm 217 */
					int BgL_auxz00_3938;

					{	/* Rgc/rgcrules.scm 217 */
						obj_t BgL_tmpz00_3939;

						if (INTEGERP(BgL_charz00_3587))
							{	/* Rgc/rgcrules.scm 217 */
								BgL_tmpz00_3939 = BgL_charz00_3587;
							}
						else
							{
								obj_t BgL_auxz00_3942;

								BgL_auxz00_3942 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string2283z00zz__rgc_rulesz00, BINT(9148L),
									BGl_string2287z00zz__rgc_rulesz00,
									BGl_string2285z00zz__rgc_rulesz00, BgL_charz00_3587);
								FAILURE(BgL_auxz00_3942, BFALSE, BFALSE);
							}
						BgL_auxz00_3938 = CINT(BgL_tmpz00_3939);
					}
					BgL_tmpz00_3937 =
						BGl_specialzd2matchzd2charzd2ze3rulezd2numberze3zz__rgc_rulesz00
						(BgL_auxz00_3938);
				}
				return BINT(BgL_tmpz00_3937);
			}
		}

	}



/* get-new-submatch */
	long BGl_getzd2newzd2submatchz00zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 233 */
			BGl_za2submatchzf3za2zf3zz__rgc_rulesz00 = ((bool_t) 1);
			BGl_za2submatchzd2countza2zd2zz__rgc_rulesz00 =
				(1L + BGl_za2submatchzd2countza2zd2zz__rgc_rulesz00);
			return BGl_za2submatchzd2countza2zd2zz__rgc_rulesz00;
		}

	}



/* add-predicate-match! */
	obj_t BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00(long BgL_matchz00_11,
		obj_t BgL_predicatez00_12)
	{
		{	/* Rgc/rgcrules.scm 241 */
			{	/* Rgc/rgcrules.scm 242 */
				obj_t BgL_cellz00_1362;

				BgL_cellz00_1362 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT(BgL_matchz00_11),
					BGl_za2predicatesza2z00zz__rgc_rulesz00);
				if (PAIRP(BgL_cellz00_1362))
					{	/* Rgc/rgcrules.scm 244 */
						obj_t BgL_arg1341z00_1364;

						BgL_arg1341z00_1364 =
							MAKE_YOUNG_PAIR(BgL_predicatez00_12, CDR(BgL_cellz00_1362));
						return SET_CDR(BgL_cellz00_1362, BgL_arg1341z00_1364);
					}
				else
					{	/* Rgc/rgcrules.scm 245 */
						obj_t BgL_arg1343z00_1366;

						{	/* Rgc/rgcrules.scm 245 */
							obj_t BgL_arg1345z00_1367;

							{	/* Rgc/rgcrules.scm 245 */
								obj_t BgL_list1346z00_1368;

								BgL_list1346z00_1368 =
									MAKE_YOUNG_PAIR(BgL_predicatez00_12, BNIL);
								BgL_arg1345z00_1367 = BgL_list1346z00_1368;
							}
							BgL_arg1343z00_1366 =
								MAKE_YOUNG_PAIR(BINT(BgL_matchz00_11), BgL_arg1345z00_1367);
						}
						return (BGl_za2predicatesza2z00zz__rgc_rulesz00 =
							MAKE_YOUNG_PAIR(BgL_arg1343z00_1366,
								BGl_za2predicatesza2z00zz__rgc_rulesz00), BUNSPEC);
					}
			}
		}

	}



/* predicate-match */
	BGL_EXPORTED_DEF obj_t BGl_predicatezd2matchzd2zz__rgc_rulesz00(int
		BgL_matchz00_13)
	{
		{	/* Rgc/rgcrules.scm 251 */
			{	/* Rgc/rgcrules.scm 252 */
				obj_t BgL_cellz00_2661;

				BgL_cellz00_2661 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT(BgL_matchz00_13),
					BGl_za2predicatesza2z00zz__rgc_rulesz00);
				if (PAIRP(BgL_cellz00_2661))
					{	/* Rgc/rgcrules.scm 253 */
						return CDR(BgL_cellz00_2661);
					}
				else
					{	/* Rgc/rgcrules.scm 253 */
						return BFALSE;
					}
			}
		}

	}



/* &predicate-match */
	obj_t BGl_z62predicatezd2matchzb0zz__rgc_rulesz00(obj_t BgL_envz00_3588,
		obj_t BgL_matchz00_3589)
	{
		{	/* Rgc/rgcrules.scm 251 */
			{	/* Rgc/rgcrules.scm 252 */
				int BgL_auxz00_3966;

				{	/* Rgc/rgcrules.scm 252 */
					obj_t BgL_tmpz00_3967;

					if (INTEGERP(BgL_matchz00_3589))
						{	/* Rgc/rgcrules.scm 252 */
							BgL_tmpz00_3967 = BgL_matchz00_3589;
						}
					else
						{
							obj_t BgL_auxz00_3970;

							BgL_auxz00_3970 =
								BGl_typezd2errorzd2zz__errorz00
								(BGl_string2283z00zz__rgc_rulesz00, BINT(10790L),
								BGl_string2288z00zz__rgc_rulesz00,
								BGl_string2285z00zz__rgc_rulesz00, BgL_matchz00_3589);
							FAILURE(BgL_auxz00_3970, BFALSE, BFALSE);
						}
					BgL_auxz00_3966 = CINT(BgL_tmpz00_3967);
				}
				return BGl_predicatezd2matchzd2zz__rgc_rulesz00(BgL_auxz00_3966);
			}
		}

	}



/* expand-match-rule */
	obj_t BGl_expandzd2matchzd2rulez00zz__rgc_rulesz00(long BgL_matchz00_14,
		obj_t BgL_envz00_15, obj_t BgL_rulez00_16)
	{
		{	/* Rgc/rgcrules.scm 264 */
			BGl_za2submatchzd2countza2zd2zz__rgc_rulesz00 = 0L;
			{	/* Rgc/rgcrules.scm 266 */
				long BgL_specialzd2charzd2_1371;

				BGl_specialzd2charzd2numz00zz__rgc_rulesz00 =
					(1L + BGl_specialzd2charzd2numz00zz__rgc_rulesz00);
				BgL_specialzd2charzd2_1371 =
					BGl_specialzd2charzd2numz00zz__rgc_rulesz00;
				{	/* Rgc/rgcrules.scm 205 */
					obj_t BgL_arg1337z00_2665;

					BgL_arg1337z00_2665 =
						MAKE_YOUNG_PAIR(BINT(BgL_specialzd2charzd2_1371),
						BINT(BgL_matchz00_14));
					BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00 =
						MAKE_YOUNG_PAIR(BgL_arg1337z00_2665,
						BGl_za2specialzd2matchzd2charza2z00zz__rgc_rulesz00);
				}
				{
					obj_t BgL_rulez00_1373;

					BgL_rulez00_1373 = BgL_rulez00_16;
					{	/* Rgc/rgcrules.scm 272 */
						obj_t BgL_arg1349z00_1375;

						{	/* Rgc/rgcrules.scm 272 */
							obj_t BgL_arg1351z00_1376;

							{
								obj_t BgL_rulez00_1380;

								BgL_rulez00_1380 = BgL_rulez00_1373;
							BgL_zc3z04anonymousza31354ze3z87_1381:
								if (PAIRP(BgL_rulez00_1380))
									{	/* Rgc/rgcrules.scm 272 */
										obj_t BgL_cdrzd2153zd2_1399;

										BgL_cdrzd2153zd2_1399 = CDR(((obj_t) BgL_rulez00_1380));
										if (
											(CAR(
													((obj_t) BgL_rulez00_1380)) ==
												BGl_symbol2289z00zz__rgc_rulesz00))
											{	/* Rgc/rgcrules.scm 272 */
												if (PAIRP(BgL_cdrzd2153zd2_1399))
													{	/* Rgc/rgcrules.scm 272 */
														obj_t BgL_cdrzd2157zd2_1403;

														BgL_cdrzd2157zd2_1403 = CDR(BgL_cdrzd2153zd2_1399);
														if (PAIRP(BgL_cdrzd2157zd2_1403))
															{	/* Rgc/rgcrules.scm 272 */
																if (NULLP(CDR(BgL_cdrzd2157zd2_1403)))
																	{	/* Rgc/rgcrules.scm 272 */
																		obj_t BgL_arg1362z00_1407;
																		obj_t BgL_arg1363z00_1408;

																		BgL_arg1362z00_1407 =
																			CAR(BgL_cdrzd2153zd2_1399);
																		BgL_arg1363z00_1408 =
																			CAR(BgL_cdrzd2157zd2_1403);
																		BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00
																			(BgL_matchz00_14, BgL_arg1362z00_1407);
																		{
																			obj_t BgL_rulez00_4000;

																			BgL_rulez00_4000 = BgL_arg1363z00_1408;
																			BgL_rulez00_1380 = BgL_rulez00_4000;
																			goto
																				BgL_zc3z04anonymousza31354ze3z87_1381;
																		}
																	}
																else
																	{	/* Rgc/rgcrules.scm 272 */
																		BgL_arg1351z00_1376 =
																			BGl_expandzd2rulezd2zz__rgc_rulesz00
																			(BgL_matchz00_14, BgL_envz00_15,
																			BgL_rulez00_1380);
																	}
															}
														else
															{	/* Rgc/rgcrules.scm 272 */
																BgL_arg1351z00_1376 =
																	BGl_expandzd2rulezd2zz__rgc_rulesz00
																	(BgL_matchz00_14, BgL_envz00_15,
																	BgL_rulez00_1380);
															}
													}
												else
													{	/* Rgc/rgcrules.scm 272 */
														BgL_arg1351z00_1376 =
															BGl_expandzd2rulezd2zz__rgc_rulesz00
															(BgL_matchz00_14, BgL_envz00_15,
															BgL_rulez00_1380);
													}
											}
										else
											{	/* Rgc/rgcrules.scm 272 */
												if (
													(CAR(
															((obj_t) BgL_rulez00_1380)) ==
														BGl_symbol2291z00zz__rgc_rulesz00))
													{	/* Rgc/rgcrules.scm 272 */
														if (PAIRP(BgL_cdrzd2153zd2_1399))
															{	/* Rgc/rgcrules.scm 272 */
																obj_t BgL_cdrzd2208zd2_1414;

																BgL_cdrzd2208zd2_1414 =
																	CDR(BgL_cdrzd2153zd2_1399);
																if (PAIRP(BgL_cdrzd2208zd2_1414))
																	{	/* Rgc/rgcrules.scm 272 */
																		if (NULLP(CDR(BgL_cdrzd2208zd2_1414)))
																			{	/* Rgc/rgcrules.scm 272 */
																				obj_t BgL_arg1371z00_1418;
																				obj_t BgL_arg1372z00_1419;

																				BgL_arg1371z00_1418 =
																					CAR(BgL_cdrzd2153zd2_1399);
																				BgL_arg1372z00_1419 =
																					CAR(BgL_cdrzd2208zd2_1414);
																				{	/* Rgc/rgcrules.scm 279 */
																					obj_t BgL_arg1411z00_2727;

																					{	/* Rgc/rgcrules.scm 279 */
																						obj_t BgL_arg1412z00_2728;

																						{	/* Rgc/rgcrules.scm 279 */
																							obj_t BgL_arg1413z00_2729;

																							{	/* Rgc/rgcrules.scm 279 */
																								obj_t BgL_arg1414z00_2730;

																								{	/* Rgc/rgcrules.scm 279 */
																									obj_t BgL_arg1415z00_2731;

																									BgL_arg1415z00_2731 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg1371z00_1418, BNIL);
																									BgL_arg1414z00_2730 =
																										MAKE_YOUNG_PAIR
																										(BGl_symbol2293z00zz__rgc_rulesz00,
																										BgL_arg1415z00_2731);
																								}
																								BgL_arg1413z00_2729 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1414z00_2730, BNIL);
																							}
																							BgL_arg1412z00_2728 =
																								MAKE_YOUNG_PAIR
																								(BGl_symbol2295z00zz__rgc_rulesz00,
																								BgL_arg1413z00_2729);
																						}
																						BgL_arg1411z00_2727 =
																							MAKE_YOUNG_PAIR
																							(BGl_symbol2297z00zz__rgc_rulesz00,
																							BgL_arg1412z00_2728);
																					}
																					BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00
																						(BgL_matchz00_14,
																						BgL_arg1411z00_2727);
																				}
																				{
																					obj_t BgL_rulez00_4024;

																					BgL_rulez00_4024 =
																						BgL_arg1372z00_1419;
																					BgL_rulez00_1380 = BgL_rulez00_4024;
																					goto
																						BgL_zc3z04anonymousza31354ze3z87_1381;
																				}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 272 */
																				BgL_arg1351z00_1376 =
																					BGl_expandzd2rulezd2zz__rgc_rulesz00
																					(BgL_matchz00_14, BgL_envz00_15,
																					BgL_rulez00_1380);
																			}
																	}
																else
																	{	/* Rgc/rgcrules.scm 272 */
																		BgL_arg1351z00_1376 =
																			BGl_expandzd2rulezd2zz__rgc_rulesz00
																			(BgL_matchz00_14, BgL_envz00_15,
																			BgL_rulez00_1380);
																	}
															}
														else
															{	/* Rgc/rgcrules.scm 272 */
																BgL_arg1351z00_1376 =
																	BGl_expandzd2rulezd2zz__rgc_rulesz00
																	(BgL_matchz00_14, BgL_envz00_15,
																	BgL_rulez00_1380);
															}
													}
												else
													{	/* Rgc/rgcrules.scm 272 */
														obj_t BgL_cdrzd2241zd2_1421;

														BgL_cdrzd2241zd2_1421 =
															CDR(((obj_t) BgL_rulez00_1380));
														if (
															(CAR(
																	((obj_t) BgL_rulez00_1380)) ==
																BGl_symbol2299z00zz__rgc_rulesz00))
															{	/* Rgc/rgcrules.scm 272 */
																if (PAIRP(BgL_cdrzd2241zd2_1421))
																	{	/* Rgc/rgcrules.scm 272 */
																		if (NULLP(CDR(BgL_cdrzd2241zd2_1421)))
																			{	/* Rgc/rgcrules.scm 272 */
																				obj_t BgL_arg1379z00_1427;

																				BgL_arg1379z00_1427 =
																					CAR(BgL_cdrzd2241zd2_1421);
																				BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00
																					(BgL_matchz00_14,
																					BGl_list2301z00zz__rgc_rulesz00);
																				{
																					obj_t BgL_rulez00_4041;

																					BgL_rulez00_4041 =
																						BgL_arg1379z00_1427;
																					BgL_rulez00_1380 = BgL_rulez00_4041;
																					goto
																						BgL_zc3z04anonymousza31354ze3z87_1381;
																				}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 272 */
																				BgL_arg1351z00_1376 =
																					BGl_expandzd2rulezd2zz__rgc_rulesz00
																					(BgL_matchz00_14, BgL_envz00_15,
																					BgL_rulez00_1380);
																			}
																	}
																else
																	{	/* Rgc/rgcrules.scm 272 */
																		BgL_arg1351z00_1376 =
																			BGl_expandzd2rulezd2zz__rgc_rulesz00
																			(BgL_matchz00_14, BgL_envz00_15,
																			BgL_rulez00_1380);
																	}
															}
														else
															{	/* Rgc/rgcrules.scm 272 */
																if (
																	(CAR(
																			((obj_t) BgL_rulez00_1380)) ==
																		BGl_symbol2306z00zz__rgc_rulesz00))
																	{	/* Rgc/rgcrules.scm 272 */
																		if (PAIRP(BgL_cdrzd2241zd2_1421))
																			{	/* Rgc/rgcrules.scm 272 */
																				if (NULLP(CDR(BgL_cdrzd2241zd2_1421)))
																					{	/* Rgc/rgcrules.scm 272 */
																						obj_t BgL_arg1386z00_1435;

																						BgL_arg1386z00_1435 =
																							CAR(BgL_cdrzd2241zd2_1421);
																						BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00
																							(BgL_matchz00_14,
																							BGl_list2308z00zz__rgc_rulesz00);
																						{
																							obj_t BgL_rulez00_4055;

																							BgL_rulez00_4055 =
																								BgL_arg1386z00_1435;
																							BgL_rulez00_1380 =
																								BgL_rulez00_4055;
																							goto
																								BgL_zc3z04anonymousza31354ze3z87_1381;
																						}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 272 */
																						BgL_arg1351z00_1376 =
																							BGl_expandzd2rulezd2zz__rgc_rulesz00
																							(BgL_matchz00_14, BgL_envz00_15,
																							BgL_rulez00_1380);
																					}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 272 */
																				BgL_arg1351z00_1376 =
																					BGl_expandzd2rulezd2zz__rgc_rulesz00
																					(BgL_matchz00_14, BgL_envz00_15,
																					BgL_rulez00_1380);
																			}
																	}
																else
																	{	/* Rgc/rgcrules.scm 272 */
																		obj_t BgL_cdrzd2277zd2_1437;

																		BgL_cdrzd2277zd2_1437 =
																			CDR(((obj_t) BgL_rulez00_1380));
																		if (
																			(CAR(
																					((obj_t) BgL_rulez00_1380)) ==
																				BGl_symbol2332z00zz__rgc_rulesz00))
																			{	/* Rgc/rgcrules.scm 272 */
																				if (PAIRP(BgL_cdrzd2277zd2_1437))
																					{	/* Rgc/rgcrules.scm 272 */
																						if (NULLP(CDR
																								(BgL_cdrzd2277zd2_1437)))
																							{	/* Rgc/rgcrules.scm 272 */
																								obj_t BgL_arg1395z00_1443;

																								BgL_arg1395z00_1443 =
																									CAR(BgL_cdrzd2277zd2_1437);
																								BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00
																									(BgL_matchz00_14,
																									BGl_list2334z00zz__rgc_rulesz00);
																								{
																									obj_t BgL_rulez00_4071;

																									BgL_rulez00_4071 =
																										BgL_arg1395z00_1443;
																									BgL_rulez00_1380 =
																										BgL_rulez00_4071;
																									goto
																										BgL_zc3z04anonymousza31354ze3z87_1381;
																								}
																							}
																						else
																							{	/* Rgc/rgcrules.scm 272 */
																								BgL_arg1351z00_1376 =
																									BGl_expandzd2rulezd2zz__rgc_rulesz00
																									(BgL_matchz00_14,
																									BgL_envz00_15,
																									BgL_rulez00_1380);
																							}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 272 */
																						BgL_arg1351z00_1376 =
																							BGl_expandzd2rulezd2zz__rgc_rulesz00
																							(BgL_matchz00_14, BgL_envz00_15,
																							BgL_rulez00_1380);
																					}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 272 */
																				if (
																					(CAR(
																							((obj_t) BgL_rulez00_1380)) ==
																						BGl_symbol2337z00zz__rgc_rulesz00))
																					{	/* Rgc/rgcrules.scm 272 */
																						if (PAIRP(BgL_cdrzd2277zd2_1437))
																							{	/* Rgc/rgcrules.scm 272 */
																								if (NULLP(CDR
																										(BgL_cdrzd2277zd2_1437)))
																									{	/* Rgc/rgcrules.scm 272 */
																										obj_t BgL_arg1402z00_1451;

																										BgL_arg1402z00_1451 =
																											CAR
																											(BgL_cdrzd2277zd2_1437);
																										BGl_addzd2predicatezd2matchz12z12zz__rgc_rulesz00
																											(BgL_matchz00_14,
																											BGl_list2339z00zz__rgc_rulesz00);
																										{
																											obj_t BgL_rulez00_4085;

																											BgL_rulez00_4085 =
																												BgL_arg1402z00_1451;
																											BgL_rulez00_1380 =
																												BgL_rulez00_4085;
																											goto
																												BgL_zc3z04anonymousza31354ze3z87_1381;
																										}
																									}
																								else
																									{	/* Rgc/rgcrules.scm 272 */
																										BgL_arg1351z00_1376 =
																											BGl_expandzd2rulezd2zz__rgc_rulesz00
																											(BgL_matchz00_14,
																											BgL_envz00_15,
																											BgL_rulez00_1380);
																									}
																							}
																						else
																							{	/* Rgc/rgcrules.scm 272 */
																								BgL_arg1351z00_1376 =
																									BGl_expandzd2rulezd2zz__rgc_rulesz00
																									(BgL_matchz00_14,
																									BgL_envz00_15,
																									BgL_rulez00_1380);
																							}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 272 */
																						BgL_arg1351z00_1376 =
																							BGl_expandzd2rulezd2zz__rgc_rulesz00
																							(BgL_matchz00_14, BgL_envz00_15,
																							BgL_rulez00_1380);
																					}
																			}
																	}
															}
													}
											}
									}
								else
									{	/* Rgc/rgcrules.scm 272 */
										BgL_arg1351z00_1376 =
											BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_14,
											BgL_envz00_15, BgL_rulez00_1380);
									}
							}
							{	/* Rgc/rgcrules.scm 272 */
								obj_t BgL_list1352z00_1377;

								{	/* Rgc/rgcrules.scm 272 */
									obj_t BgL_arg1353z00_1378;

									BgL_arg1353z00_1378 =
										MAKE_YOUNG_PAIR(BINT(BgL_specialzd2charzd2_1371), BNIL);
									BgL_list1352z00_1377 =
										MAKE_YOUNG_PAIR(BgL_arg1351z00_1376, BgL_arg1353z00_1378);
								}
								BgL_arg1349z00_1375 = BgL_list1352z00_1377;
							}
						}
						return BGl_makezd2sequencezd2zz__rgc_rulesz00(BgL_arg1349z00_1375);
					}
				}
			}
		}

	}



/* expand-rule */
	obj_t BGl_expandzd2rulezd2zz__rgc_rulesz00(long BgL_matchz00_17,
		obj_t BgL_envz00_18, obj_t BgL_rulez00_19)
	{
		{	/* Rgc/rgcrules.scm 312 */
		BGl_expandzd2rulezd2zz__rgc_rulesz00:
			if (PAIRP(BgL_rulez00_19))
				{	/* Rgc/rgcrules.scm 315 */
					obj_t BgL_cdrzd2337zd2_1509;

					BgL_cdrzd2337zd2_1509 = CDR(BgL_rulez00_19);
					if ((CAR(BgL_rulez00_19) == BGl_symbol2345z00zz__rgc_rulesz00))
						{	/* Rgc/rgcrules.scm 315 */
							if (PAIRP(BgL_cdrzd2337zd2_1509))
								{	/* Rgc/rgcrules.scm 315 */
									obj_t BgL_cdrzd2341zd2_1513;

									BgL_cdrzd2341zd2_1513 = CDR(BgL_cdrzd2337zd2_1509);
									if (PAIRP(BgL_cdrzd2341zd2_1513))
										{	/* Rgc/rgcrules.scm 315 */
											if (NULLP(CDR(BgL_cdrzd2341zd2_1513)))
												{	/* Rgc/rgcrules.scm 315 */
													return
														BGl_expandzd2dotszd2zz__rgc_rulesz00
														(BgL_matchz00_17, BgL_envz00_18,
														CAR(BgL_cdrzd2337zd2_1509),
														CAR(BgL_cdrzd2341zd2_1513), BgL_rulez00_19);
												}
											else
												{	/* Rgc/rgcrules.scm 315 */
													return
														BGl_errorz00zz__errorz00(BFALSE,
														BGl_string2347z00zz__rgc_rulesz00, BgL_rulez00_19);
												}
										}
									else
										{	/* Rgc/rgcrules.scm 315 */
											return
												BGl_errorz00zz__errorz00(BFALSE,
												BGl_string2347z00zz__rgc_rulesz00, BgL_rulez00_19);
										}
								}
							else
								{	/* Rgc/rgcrules.scm 315 */
									return
										BGl_errorz00zz__errorz00(BFALSE,
										BGl_string2347z00zz__rgc_rulesz00, BgL_rulez00_19);
								}
						}
					else
						{	/* Rgc/rgcrules.scm 315 */
							if ((CAR(BgL_rulez00_19) == BGl_symbol2348z00zz__rgc_rulesz00))
								{	/* Rgc/rgcrules.scm 315 */
									if (PAIRP(BgL_cdrzd2337zd2_1509))
										{	/* Rgc/rgcrules.scm 315 */
											if (NULLP(CDR(BgL_cdrzd2337zd2_1509)))
												{	/* Rgc/rgcrules.scm 315 */
													BGL_TAIL return
														BGl_expandzd2uncasezd2zz__rgc_rulesz00
														(BgL_matchz00_17, BgL_envz00_18,
														CAR(BgL_cdrzd2337zd2_1509));
												}
											else
												{	/* Rgc/rgcrules.scm 315 */
													return
														BGl_errorz00zz__errorz00(BFALSE,
														BGl_string2347z00zz__rgc_rulesz00, BgL_rulez00_19);
												}
										}
									else
										{	/* Rgc/rgcrules.scm 315 */
											return
												BGl_errorz00zz__errorz00(BFALSE,
												BGl_string2347z00zz__rgc_rulesz00, BgL_rulez00_19);
										}
								}
							else
								{	/* Rgc/rgcrules.scm 315 */
									obj_t BgL_cdrzd2994zd2_1528;

									BgL_cdrzd2994zd2_1528 = CDR(BgL_rulez00_19);
									if (
										(CAR(BgL_rulez00_19) == BGl_symbol2350z00zz__rgc_rulesz00))
										{	/* Rgc/rgcrules.scm 315 */
											if (PAIRP(BgL_cdrzd2994zd2_1528))
												{	/* Rgc/rgcrules.scm 315 */
													if (NULLP(CDR(BgL_cdrzd2994zd2_1528)))
														{	/* Rgc/rgcrules.scm 315 */
															obj_t BgL_arg1442z00_1534;

															BgL_arg1442z00_1534 = CAR(BgL_cdrzd2994zd2_1528);
															{	/* Rgc/rgcrules.scm 459 */
																obj_t BgL_arg1671z00_2821;

																BgL_arg1671z00_2821 =
																	MAKE_YOUNG_PAIR
																	(BGl_expandzd2rulezd2zz__rgc_rulesz00
																	(BgL_matchz00_17, BgL_envz00_18,
																		BgL_arg1442z00_1534), BNIL);
																return
																	MAKE_YOUNG_PAIR
																	(BGl_symbol2350z00zz__rgc_rulesz00,
																	BgL_arg1671z00_2821);
															}
														}
													else
														{	/* Rgc/rgcrules.scm 315 */
															return
																BGl_errorz00zz__errorz00(BFALSE,
																BGl_string2347z00zz__rgc_rulesz00,
																BgL_rulez00_19);
														}
												}
											else
												{	/* Rgc/rgcrules.scm 315 */
													return
														BGl_errorz00zz__errorz00(BFALSE,
														BGl_string2347z00zz__rgc_rulesz00, BgL_rulez00_19);
												}
										}
									else
										{	/* Rgc/rgcrules.scm 315 */
											if (
												(CAR(BgL_rulez00_19) ==
													BGl_symbol2352z00zz__rgc_rulesz00))
												{	/* Rgc/rgcrules.scm 315 */
													if (PAIRP(BgL_cdrzd2994zd2_1528))
														{	/* Rgc/rgcrules.scm 315 */
															if (NULLP(CDR(BgL_cdrzd2994zd2_1528)))
																{	/* Rgc/rgcrules.scm 315 */
																	BGL_TAIL return
																		BGl_expandzd2zb2z60zz__rgc_rulesz00
																		(BgL_matchz00_17, BgL_envz00_18,
																		CAR(BgL_cdrzd2994zd2_1528));
																}
															else
																{	/* Rgc/rgcrules.scm 315 */
																	return
																		BGl_errorz00zz__errorz00(BFALSE,
																		BGl_string2347z00zz__rgc_rulesz00,
																		BgL_rulez00_19);
																}
														}
													else
														{	/* Rgc/rgcrules.scm 315 */
															return
																BGl_errorz00zz__errorz00(BFALSE,
																BGl_string2347z00zz__rgc_rulesz00,
																BgL_rulez00_19);
														}
												}
											else
												{	/* Rgc/rgcrules.scm 315 */
													obj_t BgL_cdrzd21430zd2_1544;

													BgL_cdrzd21430zd2_1544 = CDR(BgL_rulez00_19);
													if (
														(CAR(BgL_rulez00_19) ==
															BGl_symbol2354z00zz__rgc_rulesz00))
														{	/* Rgc/rgcrules.scm 315 */
															if (PAIRP(BgL_cdrzd21430zd2_1544))
																{	/* Rgc/rgcrules.scm 315 */
																	if (NULLP(CDR(BgL_cdrzd21430zd2_1544)))
																		{	/* Rgc/rgcrules.scm 315 */
																			obj_t BgL_arg1457z00_1550;

																			BgL_arg1457z00_1550 =
																				CAR(BgL_cdrzd21430zd2_1544);
																			{	/* Rgc/rgcrules.scm 472 */
																				obj_t BgL_arg1683z00_2831;

																				{	/* Rgc/rgcrules.scm 472 */
																					obj_t BgL_arg1687z00_2832;

																					BgL_arg1687z00_2832 =
																						MAKE_YOUNG_PAIR
																						(BGl_expandzd2rulezd2zz__rgc_rulesz00
																						(BgL_matchz00_17, BgL_envz00_18,
																							BgL_arg1457z00_1550), BNIL);
																					BgL_arg1683z00_2831 =
																						MAKE_YOUNG_PAIR
																						(BGl_symbol2356z00zz__rgc_rulesz00,
																						BgL_arg1687z00_2832);
																				}
																				return
																					MAKE_YOUNG_PAIR
																					(BGl_symbol2273z00zz__rgc_rulesz00,
																					BgL_arg1683z00_2831);
																			}
																		}
																	else
																		{	/* Rgc/rgcrules.scm 315 */
																			return
																				BGl_errorz00zz__errorz00(BFALSE,
																				BGl_string2347z00zz__rgc_rulesz00,
																				BgL_rulez00_19);
																		}
																}
															else
																{	/* Rgc/rgcrules.scm 315 */
																	return
																		BGl_errorz00zz__errorz00(BFALSE,
																		BGl_string2347z00zz__rgc_rulesz00,
																		BgL_rulez00_19);
																}
														}
													else
														{	/* Rgc/rgcrules.scm 315 */
															if (
																(CAR(BgL_rulez00_19) ==
																	BGl_symbol2273z00zz__rgc_rulesz00))
																{	/* Rgc/rgcrules.scm 315 */
																	BGL_TAIL return
																		BGl_expandzd2orzd2zz__rgc_rulesz00
																		(BgL_matchz00_17, BgL_envz00_18,
																		BgL_cdrzd21430zd2_1544);
																}
															else
																{	/* Rgc/rgcrules.scm 315 */
																	if (
																		(CAR(BgL_rulez00_19) ==
																			BGl_symbol2358z00zz__rgc_rulesz00))
																		{	/* Rgc/rgcrules.scm 315 */
																			if (PAIRP(BgL_cdrzd21430zd2_1544))
																				{	/* Rgc/rgcrules.scm 315 */
																					obj_t BgL_cdrzd21632zd2_1559;

																					BgL_cdrzd21632zd2_1559 =
																						CDR(BgL_cdrzd21430zd2_1544);
																					if (PAIRP(BgL_cdrzd21632zd2_1559))
																						{	/* Rgc/rgcrules.scm 315 */
																							if (NULLP(CDR
																									(BgL_cdrzd21632zd2_1559)))
																								{	/* Rgc/rgcrules.scm 315 */
																									return
																										BGl_expandzd2zd3z01zz__rgc_rulesz00
																										(BgL_matchz00_17,
																										BgL_envz00_18,
																										CAR(BgL_cdrzd21430zd2_1544),
																										CAR(BgL_cdrzd21632zd2_1559),
																										BgL_rulez00_19);
																								}
																							else
																								{	/* Rgc/rgcrules.scm 315 */
																									return
																										BGl_errorz00zz__errorz00
																										(BFALSE,
																										BGl_string2347z00zz__rgc_rulesz00,
																										BgL_rulez00_19);
																								}
																						}
																					else
																						{	/* Rgc/rgcrules.scm 315 */
																							return
																								BGl_errorz00zz__errorz00(BFALSE,
																								BGl_string2347z00zz__rgc_rulesz00,
																								BgL_rulez00_19);
																						}
																				}
																			else
																				{	/* Rgc/rgcrules.scm 315 */
																					return
																						BGl_errorz00zz__errorz00(BFALSE,
																						BGl_string2347z00zz__rgc_rulesz00,
																						BgL_rulez00_19);
																				}
																		}
																	else
																		{	/* Rgc/rgcrules.scm 315 */
																			obj_t BgL_cdrzd21839zd2_1566;

																			BgL_cdrzd21839zd2_1566 =
																				CDR(BgL_rulez00_19);
																			if (
																				(CAR(BgL_rulez00_19) ==
																					BGl_symbol2360z00zz__rgc_rulesz00))
																				{	/* Rgc/rgcrules.scm 315 */
																					if (PAIRP(BgL_cdrzd21839zd2_1566))
																						{	/* Rgc/rgcrules.scm 315 */
																							obj_t BgL_cdrzd21843zd2_1570;

																							BgL_cdrzd21843zd2_1570 =
																								CDR(BgL_cdrzd21839zd2_1566);
																							if (PAIRP(BgL_cdrzd21843zd2_1570))
																								{	/* Rgc/rgcrules.scm 315 */
																									if (NULLP(CDR
																											(BgL_cdrzd21843zd2_1570)))
																										{	/* Rgc/rgcrules.scm 315 */
																											return
																												BGl_expandzd2ze3zd3ze2zz__rgc_rulesz00
																												(BgL_matchz00_17,
																												BgL_envz00_18,
																												CAR
																												(BgL_cdrzd21839zd2_1566),
																												CAR
																												(BgL_cdrzd21843zd2_1570),
																												BgL_rulez00_19);
																										}
																									else
																										{	/* Rgc/rgcrules.scm 315 */
																											return
																												BGl_errorz00zz__errorz00
																												(BFALSE,
																												BGl_string2347z00zz__rgc_rulesz00,
																												BgL_rulez00_19);
																										}
																								}
																							else
																								{	/* Rgc/rgcrules.scm 315 */
																									return
																										BGl_errorz00zz__errorz00
																										(BFALSE,
																										BGl_string2347z00zz__rgc_rulesz00,
																										BgL_rulez00_19);
																								}
																						}
																					else
																						{	/* Rgc/rgcrules.scm 315 */
																							return
																								BGl_errorz00zz__errorz00(BFALSE,
																								BGl_string2347z00zz__rgc_rulesz00,
																								BgL_rulez00_19);
																						}
																				}
																			else
																				{	/* Rgc/rgcrules.scm 315 */
																					if (
																						(CAR(BgL_rulez00_19) ==
																							BGl_symbol2362z00zz__rgc_rulesz00))
																						{	/* Rgc/rgcrules.scm 315 */
																							if (PAIRP(BgL_cdrzd21839zd2_1566))
																								{	/* Rgc/rgcrules.scm 315 */
																									obj_t BgL_cdrzd22022zd2_1581;

																									BgL_cdrzd22022zd2_1581 =
																										CDR(BgL_cdrzd21839zd2_1566);
																									if (PAIRP
																										(BgL_cdrzd22022zd2_1581))
																										{	/* Rgc/rgcrules.scm 315 */
																											obj_t
																												BgL_cdrzd22027zd2_1583;
																											BgL_cdrzd22027zd2_1583 =
																												CDR
																												(BgL_cdrzd22022zd2_1581);
																											if (PAIRP
																												(BgL_cdrzd22027zd2_1583))
																												{	/* Rgc/rgcrules.scm 315 */
																													if (NULLP(CDR
																															(BgL_cdrzd22027zd2_1583)))
																														{	/* Rgc/rgcrules.scm 315 */
																															return
																																BGl_expandzd2za2za2zd2zz__rgc_rulesz00
																																(BgL_matchz00_17,
																																BgL_envz00_18,
																																CAR
																																(BgL_cdrzd21839zd2_1566),
																																CAR
																																(BgL_cdrzd22022zd2_1581),
																																CAR
																																(BgL_cdrzd22027zd2_1583),
																																BgL_rulez00_19);
																														}
																													else
																														{	/* Rgc/rgcrules.scm 315 */
																															return
																																BGl_errorz00zz__errorz00
																																(BFALSE,
																																BGl_string2347z00zz__rgc_rulesz00,
																																BgL_rulez00_19);
																														}
																												}
																											else
																												{	/* Rgc/rgcrules.scm 315 */
																													return
																														BGl_errorz00zz__errorz00
																														(BFALSE,
																														BGl_string2347z00zz__rgc_rulesz00,
																														BgL_rulez00_19);
																												}
																										}
																									else
																										{	/* Rgc/rgcrules.scm 315 */
																											return
																												BGl_errorz00zz__errorz00
																												(BFALSE,
																												BGl_string2347z00zz__rgc_rulesz00,
																												BgL_rulez00_19);
																										}
																								}
																							else
																								{	/* Rgc/rgcrules.scm 315 */
																									return
																										BGl_errorz00zz__errorz00
																										(BFALSE,
																										BGl_string2347z00zz__rgc_rulesz00,
																										BgL_rulez00_19);
																								}
																						}
																					else
																						{	/* Rgc/rgcrules.scm 315 */
																							if (
																								(CAR(BgL_rulez00_19) ==
																									BGl_symbol2267z00zz__rgc_rulesz00))
																								{	/* Rgc/rgcrules.scm 315 */
																									return
																										BGl_expandzd2inzd2zz__rgc_rulesz00
																										(BgL_matchz00_17,
																										BgL_envz00_18,
																										CDR(BgL_rulez00_19),
																										BgL_rulez00_19);
																								}
																							else
																								{	/* Rgc/rgcrules.scm 315 */
																									if (
																										(CAR(BgL_rulez00_19) ==
																											BGl_symbol2364z00zz__rgc_rulesz00))
																										{	/* Rgc/rgcrules.scm 315 */
																											obj_t BgL_arg1500z00_1596;

																											BgL_arg1500z00_1596 =
																												CDR(BgL_rulez00_19);
																											{	/* Rgc/rgcrules.scm 636 */
																												obj_t BgL_inz00_2860;

																												BgL_inz00_2860 =
																													BGl_expandzd2inzd2zz__rgc_rulesz00
																													(BgL_matchz00_17,
																													BgL_envz00_18,
																													BgL_arg1500z00_1596,
																													BgL_rulez00_19);
																												{	/* Rgc/rgcrules.scm 636 */
																													obj_t BgL_bcz00_2861;

																													{	/* Rgc/rgcrules.scm 637 */
																														obj_t
																															BgL_arg1868z00_2862;
																														obj_t
																															BgL_arg1869z00_2863;
																														BgL_arg1868z00_2862
																															=
																															CDR(((obj_t)
																																BgL_inz00_2860));
																														BgL_arg1869z00_2863
																															=
																															BGl_rgczd2maxzd2charz00zz__rgc_configz00
																															();
																														BgL_bcz00_2861 =
																															BGl_listzd2ze3rgcsetz31zz__rgc_setz00
																															(BgL_arg1868z00_2862,
																															(long)
																															CINT
																															(BgL_arg1869z00_2863));
																													}
																													{	/* Rgc/rgcrules.scm 637 */

																														BGl_rgcsetzd2notz12zc0zz__rgc_setz00
																															(BgL_bcz00_2861);
																														{	/* Rgc/rgcrules.scm 639 */
																															obj_t
																																BgL_arg1867z00_2864;
																															BgL_arg1867z00_2864
																																=
																																BGl_rgcsetzd2ze3listz31zz__rgc_setz00
																																(BgL_bcz00_2861);
																															return
																																MAKE_YOUNG_PAIR
																																(BGl_symbol2273z00zz__rgc_rulesz00,
																																BgL_arg1867z00_2864);
																														}
																													}
																												}
																											}
																										}
																									else
																										{	/* Rgc/rgcrules.scm 315 */
																											obj_t
																												BgL_cdrzd22225zd2_1597;
																											BgL_cdrzd22225zd2_1597 =
																												CDR(BgL_rulez00_19);
																											if ((CAR(BgL_rulez00_19)
																													==
																													BGl_symbol2366z00zz__rgc_rulesz00))
																												{	/* Rgc/rgcrules.scm 315 */
																													if (PAIRP
																														(BgL_cdrzd22225zd2_1597))
																														{	/* Rgc/rgcrules.scm 315 */
																															obj_t
																																BgL_cdrzd22229zd2_1601;
																															BgL_cdrzd22229zd2_1601
																																=
																																CDR
																																(BgL_cdrzd22225zd2_1597);
																															if (PAIRP
																																(BgL_cdrzd22229zd2_1601))
																																{	/* Rgc/rgcrules.scm 315 */
																																	if (NULLP(CDR
																																			(BgL_cdrzd22229zd2_1601)))
																																		{	/* Rgc/rgcrules.scm 315 */
																																			return
																																				BGl_expandzd2andzd2zz__rgc_rulesz00
																																				(BgL_matchz00_17,
																																				BgL_envz00_18,
																																				CAR
																																				(BgL_cdrzd22225zd2_1597),
																																				CAR
																																				(BgL_cdrzd22229zd2_1601),
																																				BgL_rulez00_19);
																																		}
																																	else
																																		{	/* Rgc/rgcrules.scm 315 */
																																			return
																																				BGl_errorz00zz__errorz00
																																				(BFALSE,
																																				BGl_string2347z00zz__rgc_rulesz00,
																																				BgL_rulez00_19);
																																		}
																																}
																															else
																																{	/* Rgc/rgcrules.scm 315 */
																																	return
																																		BGl_errorz00zz__errorz00
																																		(BFALSE,
																																		BGl_string2347z00zz__rgc_rulesz00,
																																		BgL_rulez00_19);
																																}
																														}
																													else
																														{	/* Rgc/rgcrules.scm 315 */
																															return
																																BGl_errorz00zz__errorz00
																																(BFALSE,
																																BGl_string2347z00zz__rgc_rulesz00,
																																BgL_rulez00_19);
																														}
																												}
																											else
																												{	/* Rgc/rgcrules.scm 315 */
																													if (
																														(CAR(BgL_rulez00_19)
																															==
																															BGl_symbol2368z00zz__rgc_rulesz00))
																														{	/* Rgc/rgcrules.scm 315 */
																															if (PAIRP
																																(BgL_cdrzd22225zd2_1597))
																																{	/* Rgc/rgcrules.scm 315 */
																																	obj_t
																																		BgL_cdrzd22307zd2_1612;
																																	BgL_cdrzd22307zd2_1612
																																		=
																																		CDR
																																		(BgL_cdrzd22225zd2_1597);
																																	if (PAIRP
																																		(BgL_cdrzd22307zd2_1612))
																																		{	/* Rgc/rgcrules.scm 315 */
																																			if (NULLP
																																				(CDR
																																					(BgL_cdrzd22307zd2_1612)))
																																				{	/* Rgc/rgcrules.scm 315 */
																																					return
																																						BGl_expandzd2butzd2zz__rgc_rulesz00
																																						(BgL_matchz00_17,
																																						BgL_envz00_18,
																																						CAR
																																						(BgL_cdrzd22225zd2_1597),
																																						CAR
																																						(BgL_cdrzd22307zd2_1612),
																																						BgL_rulez00_19);
																																				}
																																			else
																																				{	/* Rgc/rgcrules.scm 315 */
																																					return
																																						BGl_errorz00zz__errorz00
																																						(BFALSE,
																																						BGl_string2347z00zz__rgc_rulesz00,
																																						BgL_rulez00_19);
																																				}
																																		}
																																	else
																																		{	/* Rgc/rgcrules.scm 315 */
																																			return
																																				BGl_errorz00zz__errorz00
																																				(BFALSE,
																																				BGl_string2347z00zz__rgc_rulesz00,
																																				BgL_rulez00_19);
																																		}
																																}
																															else
																																{	/* Rgc/rgcrules.scm 315 */
																																	return
																																		BGl_errorz00zz__errorz00
																																		(BFALSE,
																																		BGl_string2347z00zz__rgc_rulesz00,
																																		BgL_rulez00_19);
																																}
																														}
																													else
																														{	/* Rgc/rgcrules.scm 315 */
																															obj_t
																																BgL_cdrzd22357zd2_1619;
																															BgL_cdrzd22357zd2_1619
																																=
																																CDR
																																(BgL_rulez00_19);
																															if ((CAR
																																	(BgL_rulez00_19)
																																	==
																																	BGl_symbol2370z00zz__rgc_rulesz00))
																																{	/* Rgc/rgcrules.scm 315 */
																																	if (PAIRP
																																		(BgL_cdrzd22357zd2_1619))
																																		{	/* Rgc/rgcrules.scm 315 */
																																			if (NULLP
																																				(CDR
																																					(BgL_cdrzd22357zd2_1619)))
																																				{	/* Rgc/rgcrules.scm 315 */
																																					return
																																						BGl_expandzd2submatchzd2zz__rgc_rulesz00
																																						(BgL_matchz00_17,
																																						BgL_envz00_18,
																																						CAR
																																						(BgL_cdrzd22357zd2_1619),
																																						BgL_rulez00_19);
																																				}
																																			else
																																				{	/* Rgc/rgcrules.scm 315 */
																																					return
																																						BGl_errorz00zz__errorz00
																																						(BFALSE,
																																						BGl_string2347z00zz__rgc_rulesz00,
																																						BgL_rulez00_19);
																																				}
																																		}
																																	else
																																		{	/* Rgc/rgcrules.scm 315 */
																																			return
																																				BGl_errorz00zz__errorz00
																																				(BFALSE,
																																				BGl_string2347z00zz__rgc_rulesz00,
																																				BgL_rulez00_19);
																																		}
																																}
																															else
																																{	/* Rgc/rgcrules.scm 315 */
																																	obj_t
																																		BgL_carzd22383zd2_1627;
																																	BgL_carzd22383zd2_1627
																																		=
																																		CAR
																																		(BgL_rulez00_19);
																																	if (
																																		(BgL_carzd22383zd2_1627
																																			==
																																			BGl_symbol2372z00zz__rgc_rulesz00))
																																		{	/* Rgc/rgcrules.scm 315 */
																																			return
																																				BGl_expandzd2sequencezd2zz__rgc_rulesz00
																																				(BgL_matchz00_17,
																																				BgL_envz00_18,
																																				BgL_cdrzd22357zd2_1619);
																																		}
																																	else
																																		{	/* Rgc/rgcrules.scm 315 */
																																			if (
																																				(BgL_carzd22383zd2_1627
																																					==
																																					BGl_symbol2374z00zz__rgc_rulesz00))
																																				{	/* Rgc/rgcrules.scm 315 */
																																					return
																																						BGl_expandzd2sequencezd2zz__rgc_rulesz00
																																						(BgL_matchz00_17,
																																						BgL_envz00_18,
																																						BgL_cdrzd22357zd2_1619);
																																				}
																																			else
																																				{	/* Rgc/rgcrules.scm 315 */
																																					obj_t
																																						BgL_cdrzd22390zd2_1629;
																																					BgL_cdrzd22390zd2_1629
																																						=
																																						CDR
																																						(BgL_rulez00_19);
																																					if (
																																						(CAR
																																							(BgL_rulez00_19)
																																							==
																																							BGl_symbol2376z00zz__rgc_rulesz00))
																																						{	/* Rgc/rgcrules.scm 315 */
																																							if (PAIRP(BgL_cdrzd22390zd2_1629))
																																								{	/* Rgc/rgcrules.scm 315 */
																																									if (NULLP(CDR(BgL_cdrzd22390zd2_1629)))
																																										{	/* Rgc/rgcrules.scm 315 */
																																											obj_t
																																												BgL_arg1534z00_1635;
																																											BgL_arg1534z00_1635
																																												=
																																												CAR
																																												(BgL_cdrzd22390zd2_1629);
																																											if (STRINGP(BgL_arg1534z00_1635))
																																												{
																																													obj_t
																																														BgL_rulez00_4315;
																																													BgL_rulez00_4315
																																														=
																																														BGl_posixzd2ze3rgcz31zz__rgc_posixz00
																																														(BgL_arg1534z00_1635);
																																													BgL_rulez00_19
																																														=
																																														BgL_rulez00_4315;
																																													goto
																																														BGl_expandzd2rulezd2zz__rgc_rulesz00;
																																												}
																																											else
																																												{	/* Rgc/rgcrules.scm 728 */
																																													return
																																														BGl_errorz00zz__errorz00
																																														(BFALSE,
																																														BGl_string2347z00zz__rgc_rulesz00,
																																														BgL_rulez00_19);
																																												}
																																										}
																																									else
																																										{	/* Rgc/rgcrules.scm 315 */
																																											return
																																												BGl_errorz00zz__errorz00
																																												(BFALSE,
																																												BGl_string2347z00zz__rgc_rulesz00,
																																												BgL_rulez00_19);
																																										}
																																								}
																																							else
																																								{	/* Rgc/rgcrules.scm 315 */
																																									return
																																										BGl_errorz00zz__errorz00
																																										(BFALSE,
																																										BGl_string2347z00zz__rgc_rulesz00,
																																										BgL_rulez00_19);
																																								}
																																						}
																																					else
																																						{	/* Rgc/rgcrules.scm 315 */
																																							return
																																								BGl_errorz00zz__errorz00
																																								(BFALSE,
																																								BGl_string2347z00zz__rgc_rulesz00,
																																								BgL_rulez00_19);
																																						}
																																				}
																																		}
																																}
																														}
																												}
																										}
																								}
																						}
																				}
																		}
																}
														}
												}
										}
								}
						}
				}
			else
				{	/* Rgc/rgcrules.scm 313 */
					BGL_TAIL return
						BGl_expandzd2atomzd2zz__rgc_rulesz00(BgL_matchz00_17, BgL_envz00_18,
						BgL_rulez00_19);
				}
		}

	}



/* expand-atom */
	obj_t BGl_expandzd2atomzd2zz__rgc_rulesz00(long BgL_matchz00_20,
		obj_t BgL_envz00_21, obj_t BgL_rulez00_22)
	{
		{	/* Rgc/rgcrules.scm 340 */
			if (CHARP(BgL_rulez00_22))
				{	/* Rgc/rgcrules.scm 342 */
					return BINT((CCHAR(BgL_rulez00_22)));
				}
			else
				{	/* Rgc/rgcrules.scm 344 */
					bool_t BgL_test2555z00_4327;

					if (INTEGERP(BgL_rulez00_22))
						{	/* Rgc/rgcrules.scm 344 */
							if (((long) CINT(BgL_rulez00_22) >= 0L))
								{	/* Rgc/rgcrules.scm 346 */
									obj_t BgL_b1112z00_1665;

									BgL_b1112z00_1665 =
										BGl_rgczd2maxzd2charz00zz__rgc_configz00();
									if (INTEGERP(BgL_b1112z00_1665))
										{	/* Rgc/rgcrules.scm 346 */
											BgL_test2555z00_4327 =
												(
												(long) CINT(BgL_rulez00_22) <
												(long) CINT(BgL_b1112z00_1665));
										}
									else
										{	/* Rgc/rgcrules.scm 346 */
											BgL_test2555z00_4327 =
												BGl_2zc3zc3zz__r4_numbers_6_5z00(BgL_rulez00_22,
												BgL_b1112z00_1665);
										}
								}
							else
								{	/* Rgc/rgcrules.scm 345 */
									BgL_test2555z00_4327 = ((bool_t) 0);
								}
						}
					else
						{	/* Rgc/rgcrules.scm 344 */
							BgL_test2555z00_4327 = ((bool_t) 0);
						}
					if (BgL_test2555z00_4327)
						{	/* Rgc/rgcrules.scm 344 */
							return
								BGl_errorz00zz__errorz00(BFALSE,
								BGl_string2378z00zz__rgc_rulesz00, BgL_rulez00_22);
						}
					else
						{	/* Rgc/rgcrules.scm 344 */
							if (STRINGP(BgL_rulez00_22))
								{	/* Rgc/rgcrules.scm 348 */
									return
										BGl_expandzd2stringzd2zz__rgc_rulesz00(BgL_envz00_21,
										BgL_rulez00_22);
								}
							else
								{	/* Rgc/rgcrules.scm 348 */
									if (SYMBOLP(BgL_rulez00_22))
										{	/* Rgc/rgcrules.scm 351 */
											obj_t BgL_cellz00_1660;

											BgL_cellz00_1660 =
												BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_rulez00_22,
												BgL_envz00_21);
											if (PAIRP(BgL_cellz00_1660))
												{	/* Rgc/rgcrules.scm 352 */
													BGL_TAIL return
														BGl_expandzd2rulezd2zz__rgc_rulesz00
														(BgL_matchz00_20, BgL_envz00_21,
														CDR(BgL_cellz00_1660));
												}
											else
												{	/* Rgc/rgcrules.scm 352 */
													return
														BGl_errorz00zz__errorz00(BFALSE,
														BGl_string2379z00zz__rgc_rulesz00, BgL_rulez00_22);
												}
										}
									else
										{	/* Rgc/rgcrules.scm 350 */
											return
												BGl_errorz00zz__errorz00(BFALSE,
												BGl_string2380z00zz__rgc_rulesz00, BgL_rulez00_22);
										}
								}
						}
				}
		}

	}



/* expand-string */
	obj_t BGl_expandzd2stringzd2zz__rgc_rulesz00(obj_t BgL_envz00_23,
		obj_t BgL_rulez00_24)
	{
		{	/* Rgc/rgcrules.scm 367 */
			if ((STRING_LENGTH(BgL_rulez00_24) == 0L))
				{	/* Rgc/rgcrules.scm 368 */
					return
						BGl_errorz00zz__errorz00(BFALSE, BGl_string2381z00zz__rgc_rulesz00,
						BgL_rulez00_24);
				}
			else
				{	/* Rgc/rgcrules.scm 370 */
					obj_t BgL_arg1573z00_1669;

					{	/* Rgc/rgcrules.scm 370 */
						obj_t BgL_l1113z00_1670;

						BgL_l1113z00_1670 =
							BGl_stringzd2ze3listz31zz__r4_strings_6_7z00(BgL_rulez00_24);
						if (NULLP(BgL_l1113z00_1670))
							{	/* Rgc/rgcrules.scm 370 */
								BgL_arg1573z00_1669 = BNIL;
							}
						else
							{	/* Rgc/rgcrules.scm 370 */
								obj_t BgL_head1115z00_1672;

								{	/* Rgc/rgcrules.scm 370 */
									long BgL_arg1580z00_1684;

									BgL_arg1580z00_1684 = (CCHAR(CAR(BgL_l1113z00_1670)));
									BgL_head1115z00_1672 =
										MAKE_YOUNG_PAIR(BINT(BgL_arg1580z00_1684), BNIL);
								}
								{	/* Rgc/rgcrules.scm 370 */
									obj_t BgL_g1118z00_1673;

									BgL_g1118z00_1673 = CDR(BgL_l1113z00_1670);
									{
										obj_t BgL_l1113z00_2919;
										obj_t BgL_tail1116z00_2920;

										BgL_l1113z00_2919 = BgL_g1118z00_1673;
										BgL_tail1116z00_2920 = BgL_head1115z00_1672;
									BgL_zc3z04anonymousza31575ze3z87_2918:
										if (NULLP(BgL_l1113z00_2919))
											{	/* Rgc/rgcrules.scm 370 */
												BgL_arg1573z00_1669 = BgL_head1115z00_1672;
											}
										else
											{	/* Rgc/rgcrules.scm 370 */
												obj_t BgL_newtail1117z00_2927;

												{	/* Rgc/rgcrules.scm 370 */
													long BgL_arg1578z00_2928;

													BgL_arg1578z00_2928 =
														(CCHAR(CAR(((obj_t) BgL_l1113z00_2919))));
													BgL_newtail1117z00_2927 =
														MAKE_YOUNG_PAIR(BINT(BgL_arg1578z00_2928), BNIL);
												}
												SET_CDR(BgL_tail1116z00_2920, BgL_newtail1117z00_2927);
												{	/* Rgc/rgcrules.scm 370 */
													obj_t BgL_arg1577z00_2930;

													BgL_arg1577z00_2930 =
														CDR(((obj_t) BgL_l1113z00_2919));
													{
														obj_t BgL_tail1116z00_4378;
														obj_t BgL_l1113z00_4377;

														BgL_l1113z00_4377 = BgL_arg1577z00_2930;
														BgL_tail1116z00_4378 = BgL_newtail1117z00_2927;
														BgL_tail1116z00_2920 = BgL_tail1116z00_4378;
														BgL_l1113z00_2919 = BgL_l1113z00_4377;
														goto BgL_zc3z04anonymousza31575ze3z87_2918;
													}
												}
											}
									}
								}
							}
					}
					return BGl_makezd2sequencezd2zz__rgc_rulesz00(BgL_arg1573z00_1669);
				}
		}

	}



/* expand-dots */
	obj_t BGl_expandzd2dotszd2zz__rgc_rulesz00(long BgL_matchz00_25,
		obj_t BgL_envz00_26, obj_t BgL_numz00_27, obj_t BgL_rulez00_28,
		obj_t BgL_errz00_29)
	{
		{	/* Rgc/rgcrules.scm 385 */
			{	/* Rgc/rgcrules.scm 395 */
				bool_t BgL_test2565z00_4380;

				if (INTEGERP(BgL_numz00_27))
					{	/* Rgc/rgcrules.scm 395 */
						if (((long) CINT(BgL_numz00_27) > 0L))
							{	/* Rgc/rgcrules.scm 395 */
								BgL_test2565z00_4380 = ((long) CINT(BgL_numz00_27) < 81L);
							}
						else
							{	/* Rgc/rgcrules.scm 395 */
								BgL_test2565z00_4380 = ((bool_t) 0);
							}
					}
				else
					{	/* Rgc/rgcrules.scm 395 */
						BgL_test2565z00_4380 = ((bool_t) 0);
					}
				if (BgL_test2565z00_4380)
					{
						obj_t BgL_rulesz00_1692;

						{	/* Rgc/rgcrules.scm 397 */
							obj_t BgL_ezd22521zd2_1695;

							BgL_ezd22521zd2_1695 =
								BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_25,
								BgL_envz00_26, BgL_rulez00_28);
							if (PAIRP(BgL_ezd22521zd2_1695))
								{	/* Rgc/rgcrules.scm 397 */
									if (
										(CAR(BgL_ezd22521zd2_1695) ==
											BGl_symbol2382z00zz__rgc_rulesz00))
										{	/* Rgc/rgcrules.scm 397 */
											BgL_rulesz00_1692 = CDR(BgL_ezd22521zd2_1695);
											{	/* Rgc/rgcrules.scm 399 */
												obj_t BgL_arg1597z00_1701;

												{	/* Rgc/rgcrules.scm 399 */
													obj_t BgL_l1124z00_1702;

													BgL_l1124z00_1702 =
														BGl_explodezd2sequenceze70z35zz__rgc_rulesz00
														(BgL_numz00_27, BgL_rulesz00_1692);
													if (NULLP(BgL_l1124z00_1702))
														{	/* Rgc/rgcrules.scm 399 */
															BgL_arg1597z00_1701 = BNIL;
														}
													else
														{	/* Rgc/rgcrules.scm 399 */
															obj_t BgL_head1126z00_1704;

															BgL_head1126z00_1704 =
																MAKE_YOUNG_PAIR
																(BGl_makezd2sequencezd2zz__rgc_rulesz00(CAR
																	(BgL_l1124z00_1702)), BNIL);
															{	/* Rgc/rgcrules.scm 399 */
																obj_t BgL_g1129z00_1705;

																BgL_g1129z00_1705 = CDR(BgL_l1124z00_1702);
																{
																	obj_t BgL_l1124z00_2997;
																	obj_t BgL_tail1127z00_2998;

																	BgL_l1124z00_2997 = BgL_g1129z00_1705;
																	BgL_tail1127z00_2998 = BgL_head1126z00_1704;
																BgL_zc3z04anonymousza31599ze3z87_2996:
																	if (NULLP(BgL_l1124z00_2997))
																		{	/* Rgc/rgcrules.scm 399 */
																			BgL_arg1597z00_1701 =
																				BgL_head1126z00_1704;
																		}
																	else
																		{	/* Rgc/rgcrules.scm 399 */
																			obj_t BgL_newtail1128z00_3005;

																			{	/* Rgc/rgcrules.scm 399 */
																				obj_t BgL_arg1603z00_3006;

																				{	/* Rgc/rgcrules.scm 399 */
																					obj_t BgL_arg1604z00_3007;

																					BgL_arg1604z00_3007 =
																						CAR(((obj_t) BgL_l1124z00_2997));
																					BgL_arg1603z00_3006 =
																						BGl_makezd2sequencezd2zz__rgc_rulesz00
																						(BgL_arg1604z00_3007);
																				}
																				BgL_newtail1128z00_3005 =
																					MAKE_YOUNG_PAIR(BgL_arg1603z00_3006,
																					BNIL);
																			}
																			SET_CDR(BgL_tail1127z00_2998,
																				BgL_newtail1128z00_3005);
																			{	/* Rgc/rgcrules.scm 399 */
																				obj_t BgL_arg1602z00_3008;

																				BgL_arg1602z00_3008 =
																					CDR(((obj_t) BgL_l1124z00_2997));
																				{
																					obj_t BgL_tail1127z00_4411;
																					obj_t BgL_l1124z00_4410;

																					BgL_l1124z00_4410 =
																						BgL_arg1602z00_3008;
																					BgL_tail1127z00_4411 =
																						BgL_newtail1128z00_3005;
																					BgL_tail1127z00_2998 =
																						BgL_tail1127z00_4411;
																					BgL_l1124z00_2997 = BgL_l1124z00_4410;
																					goto
																						BgL_zc3z04anonymousza31599ze3z87_2996;
																				}
																			}
																		}
																}
															}
														}
												}
												return
													MAKE_YOUNG_PAIR(BGl_symbol2273z00zz__rgc_rulesz00,
													BgL_arg1597z00_1701);
											}
										}
									else
										{	/* Rgc/rgcrules.scm 397 */
											return
												BGl_errorz00zz__errorz00(BFALSE,
												BGl_string2380z00zz__rgc_rulesz00, BgL_errz00_29);
										}
								}
							else
								{	/* Rgc/rgcrules.scm 397 */
									return
										BGl_errorz00zz__errorz00(BFALSE,
										BGl_string2380z00zz__rgc_rulesz00, BgL_errz00_29);
								}
						}
					}
				else
					{	/* Rgc/rgcrules.scm 395 */
						return
							BGl_errorz00zz__errorz00(BFALSE,
							BGl_string2384z00zz__rgc_rulesz00, BgL_errz00_29);
					}
			}
		}

	}



/* loop~1 */
	obj_t BGl_loopze71ze7zz__rgc_rulesz00(obj_t BgL_numz00_3592,
		obj_t BgL_rulesz00_1724, long BgL_iz00_1725)
	{
		{	/* Rgc/rgcrules.scm 387 */
			{	/* Rgc/rgcrules.scm 389 */
				bool_t BgL_test2572z00_4417;

				if (NULLP(BgL_rulesz00_1724))
					{	/* Rgc/rgcrules.scm 389 */
						BgL_test2572z00_4417 = ((bool_t) 1);
					}
				else
					{	/* Rgc/rgcrules.scm 389 */
						BgL_test2572z00_4417 =
							(BgL_iz00_1725 == (long) CINT(BgL_numz00_3592));
					}
				if (BgL_test2572z00_4417)
					{	/* Rgc/rgcrules.scm 389 */
						return BNIL;
					}
				else
					{	/* Rgc/rgcrules.scm 391 */
						obj_t BgL_firstz00_1729;

						BgL_firstz00_1729 = CAR(((obj_t) BgL_rulesz00_1724));
						{	/* Rgc/rgcrules.scm 392 */
							obj_t BgL_arg1613z00_1730;
							obj_t BgL_arg1614z00_1731;

							{	/* Rgc/rgcrules.scm 392 */
								obj_t BgL_list1615z00_1732;

								BgL_list1615z00_1732 = MAKE_YOUNG_PAIR(BgL_firstz00_1729, BNIL);
								BgL_arg1613z00_1730 = BgL_list1615z00_1732;
							}
							{	/* Rgc/rgcrules.scm 393 */
								obj_t BgL_l1119z00_1733;

								{	/* Rgc/rgcrules.scm 394 */
									obj_t BgL_arg1621z00_1746;
									long BgL_arg1622z00_1747;

									BgL_arg1621z00_1746 = CDR(((obj_t) BgL_rulesz00_1724));
									BgL_arg1622z00_1747 = (BgL_iz00_1725 + 1L);
									BgL_l1119z00_1733 =
										BGl_loopze71ze7zz__rgc_rulesz00(BgL_numz00_3592,
										BgL_arg1621z00_1746, BgL_arg1622z00_1747);
								}
								if (NULLP(BgL_l1119z00_1733))
									{	/* Rgc/rgcrules.scm 393 */
										BgL_arg1614z00_1731 = BNIL;
									}
								else
									{	/* Rgc/rgcrules.scm 393 */
										obj_t BgL_head1121z00_1735;

										BgL_head1121z00_1735 = MAKE_YOUNG_PAIR(BNIL, BNIL);
										{
											obj_t BgL_l1119z00_2960;
											obj_t BgL_tail1122z00_2961;

											BgL_l1119z00_2960 = BgL_l1119z00_1733;
											BgL_tail1122z00_2961 = BgL_head1121z00_1735;
										BgL_zc3z04anonymousza31617ze3z87_2959:
											if (NULLP(BgL_l1119z00_2960))
												{	/* Rgc/rgcrules.scm 393 */
													BgL_arg1614z00_1731 = CDR(BgL_head1121z00_1735);
												}
											else
												{	/* Rgc/rgcrules.scm 393 */
													obj_t BgL_newtail1123z00_2968;

													{	/* Rgc/rgcrules.scm 393 */
														obj_t BgL_arg1620z00_2969;

														{	/* Rgc/rgcrules.scm 393 */
															obj_t BgL_rz00_2970;

															BgL_rz00_2970 = CAR(((obj_t) BgL_l1119z00_2960));
															BgL_arg1620z00_2969 =
																MAKE_YOUNG_PAIR(BgL_firstz00_1729,
																BgL_rz00_2970);
														}
														BgL_newtail1123z00_2968 =
															MAKE_YOUNG_PAIR(BgL_arg1620z00_2969, BNIL);
													}
													SET_CDR(BgL_tail1122z00_2961,
														BgL_newtail1123z00_2968);
													{	/* Rgc/rgcrules.scm 393 */
														obj_t BgL_arg1619z00_2971;

														BgL_arg1619z00_2971 =
															CDR(((obj_t) BgL_l1119z00_2960));
														{
															obj_t BgL_tail1122z00_4443;
															obj_t BgL_l1119z00_4442;

															BgL_l1119z00_4442 = BgL_arg1619z00_2971;
															BgL_tail1122z00_4443 = BgL_newtail1123z00_2968;
															BgL_tail1122z00_2961 = BgL_tail1122z00_4443;
															BgL_l1119z00_2960 = BgL_l1119z00_4442;
															goto BgL_zc3z04anonymousza31617ze3z87_2959;
														}
													}
												}
										}
									}
							}
							return MAKE_YOUNG_PAIR(BgL_arg1613z00_1730, BgL_arg1614z00_1731);
						}
					}
			}
		}

	}



/* explode-sequence~0 */
	obj_t BGl_explodezd2sequenceze70z35zz__rgc_rulesz00(obj_t BgL_numz00_3593,
		obj_t BgL_rulesz00_1721)
	{
		{	/* Rgc/rgcrules.scm 394 */
			return
				BGl_loopze71ze7zz__rgc_rulesz00(BgL_numz00_3593, BgL_rulesz00_1721, 0L);
		}

	}



/* expand-uncase */
	obj_t BGl_expandzd2uncasezd2zz__rgc_rulesz00(long BgL_matchz00_30,
		obj_t BgL_envz00_31, obj_t BgL_rulez00_32)
	{
		{	/* Rgc/rgcrules.scm 422 */
			return
				BGl_loopze70ze7zz__rgc_rulesz00(BGl_expandzd2rulezd2zz__rgc_rulesz00
				(BgL_matchz00_30, BgL_envz00_31, BgL_rulez00_32), BNIL);
		}

	}



/* loop~0 */
	obj_t BGl_loopze70ze7zz__rgc_rulesz00(obj_t BgL_rulez00_1754,
		obj_t BgL_resz00_1755)
	{
		{	/* Rgc/rgcrules.scm 423 */
		BGl_loopze70ze7zz__rgc_rulesz00:
			if (NULLP(BgL_rulez00_1754))
				{	/* Rgc/rgcrules.scm 426 */
					return bgl_reverse_bang(BgL_resz00_1755);
				}
			else
				{	/* Rgc/rgcrules.scm 426 */
					if (PAIRP(BgL_rulez00_1754))
						{	/* Rgc/rgcrules.scm 437 */
							bool_t BgL_test2578z00_4453;

							{	/* Rgc/rgcrules.scm 437 */
								obj_t BgL_tmpz00_4454;

								BgL_tmpz00_4454 = CAR(BgL_rulez00_1754);
								BgL_test2578z00_4453 = PAIRP(BgL_tmpz00_4454);
							}
							if (BgL_test2578z00_4453)
								{	/* Rgc/rgcrules.scm 438 */
									obj_t BgL_arg1628z00_1761;
									obj_t BgL_arg1629z00_1762;

									BgL_arg1628z00_1761 = CDR(BgL_rulez00_1754);
									BgL_arg1629z00_1762 =
										MAKE_YOUNG_PAIR(BGl_loopze70ze7zz__rgc_rulesz00(CAR
											(BgL_rulez00_1754), BNIL), BgL_resz00_1755);
									{
										obj_t BgL_resz00_4462;
										obj_t BgL_rulez00_4461;

										BgL_rulez00_4461 = BgL_arg1628z00_1761;
										BgL_resz00_4462 = BgL_arg1629z00_1762;
										BgL_resz00_1755 = BgL_resz00_4462;
										BgL_rulez00_1754 = BgL_rulez00_4461;
										goto BGl_loopze70ze7zz__rgc_rulesz00;
									}
								}
							else
								{	/* Rgc/rgcrules.scm 437 */
									if (INTEGERP(CAR(BgL_rulez00_1754)))
										{	/* Rgc/rgcrules.scm 440 */
											if (BGl_rgczd2alphabeticzf3z21zz__rgc_configz00(CAR
													(BgL_rulez00_1754)))
												{	/* Rgc/rgcrules.scm 445 */
													obj_t BgL_arg1636z00_1769;
													obj_t BgL_arg1637z00_1770;

													BgL_arg1636z00_1769 = CDR(BgL_rulez00_1754);
													{	/* Rgc/rgcrules.scm 446 */
														obj_t BgL_arg1639z00_1771;

														{	/* Rgc/rgcrules.scm 446 */
															obj_t BgL_arg1641z00_1772;

															{	/* Rgc/rgcrules.scm 446 */
																obj_t BgL_arg1642z00_1773;
																obj_t BgL_arg1643z00_1774;

																BgL_arg1642z00_1773 =
																	BGl_rgczd2upcasezd2zz__rgc_configz00(CAR
																	(BgL_rulez00_1754));
																BgL_arg1643z00_1774 =
																	MAKE_YOUNG_PAIR
																	(BGl_rgczd2downcasezd2zz__rgc_configz00(CAR
																		(BgL_rulez00_1754)), BNIL);
																BgL_arg1641z00_1772 =
																	MAKE_YOUNG_PAIR(BgL_arg1642z00_1773,
																	BgL_arg1643z00_1774);
															}
															BgL_arg1639z00_1771 =
																MAKE_YOUNG_PAIR
																(BGl_symbol2273z00zz__rgc_rulesz00,
																BgL_arg1641z00_1772);
														}
														BgL_arg1637z00_1770 =
															MAKE_YOUNG_PAIR(BgL_arg1639z00_1771,
															BgL_resz00_1755);
													}
													{
														obj_t BgL_resz00_4479;
														obj_t BgL_rulez00_4478;

														BgL_rulez00_4478 = BgL_arg1636z00_1769;
														BgL_resz00_4479 = BgL_arg1637z00_1770;
														BgL_resz00_1755 = BgL_resz00_4479;
														BgL_rulez00_1754 = BgL_rulez00_4478;
														goto BGl_loopze70ze7zz__rgc_rulesz00;
													}
												}
											else
												{	/* Rgc/rgcrules.scm 449 */
													obj_t BgL_arg1647z00_1778;
													obj_t BgL_arg1649z00_1779;

													BgL_arg1647z00_1778 = CDR(BgL_rulez00_1754);
													BgL_arg1649z00_1779 =
														MAKE_YOUNG_PAIR(CAR(BgL_rulez00_1754),
														BgL_resz00_1755);
													{
														obj_t BgL_resz00_4484;
														obj_t BgL_rulez00_4483;

														BgL_rulez00_4483 = BgL_arg1647z00_1778;
														BgL_resz00_4484 = BgL_arg1649z00_1779;
														BgL_resz00_1755 = BgL_resz00_4484;
														BgL_rulez00_1754 = BgL_rulez00_4483;
														goto BGl_loopze70ze7zz__rgc_rulesz00;
													}
												}
										}
									else
										{	/* Rgc/rgcrules.scm 452 */
											obj_t BgL_arg1653z00_1782;
											obj_t BgL_arg1655z00_1783;

											BgL_arg1653z00_1782 = CDR(BgL_rulez00_1754);
											BgL_arg1655z00_1783 =
												MAKE_YOUNG_PAIR(CAR(BgL_rulez00_1754), BgL_resz00_1755);
											{
												obj_t BgL_resz00_4489;
												obj_t BgL_rulez00_4488;

												BgL_rulez00_4488 = BgL_arg1653z00_1782;
												BgL_resz00_4489 = BgL_arg1655z00_1783;
												BgL_resz00_1755 = BgL_resz00_4489;
												BgL_rulez00_1754 = BgL_rulez00_4488;
												goto BGl_loopze70ze7zz__rgc_rulesz00;
											}
										}
								}
						}
					else
						{	/* Rgc/rgcrules.scm 428 */
							if (INTEGERP(BgL_rulez00_1754))
								{	/* Rgc/rgcrules.scm 429 */
									if (BGl_rgczd2alphabeticzf3z21zz__rgc_configz00
										(BgL_rulez00_1754))
										{	/* Rgc/rgcrules.scm 434 */
											obj_t BgL_arg1664z00_1789;

											{	/* Rgc/rgcrules.scm 434 */
												obj_t BgL_arg1665z00_1790;
												obj_t BgL_arg1666z00_1791;

												BgL_arg1665z00_1790 =
													BGl_rgczd2upcasezd2zz__rgc_configz00
													(BgL_rulez00_1754);
												BgL_arg1666z00_1791 =
													MAKE_YOUNG_PAIR(BGl_rgczd2downcasezd2zz__rgc_configz00
													(BgL_rulez00_1754), BgL_resz00_1755);
												BgL_arg1664z00_1789 =
													MAKE_YOUNG_PAIR(BgL_arg1665z00_1790,
													BgL_arg1666z00_1791);
											}
											return
												MAKE_YOUNG_PAIR(BGl_symbol2273z00zz__rgc_rulesz00,
												BgL_arg1664z00_1789);
										}
									else
										{	/* Rgc/rgcrules.scm 430 */
											return BgL_rulez00_1754;
										}
								}
							else
								{	/* Rgc/rgcrules.scm 429 */
									return BgL_rulez00_1754;
								}
						}
				}
		}

	}



/* expand-+ */
	obj_t BGl_expandzd2zb2z60zz__rgc_rulesz00(long BgL_matchz00_36,
		obj_t BgL_envz00_37, obj_t BgL_rulez00_38)
	{
		{	/* Rgc/rgcrules.scm 464 */
			{	/* Rgc/rgcrules.scm 465 */
				obj_t BgL_erulez00_3028;

				BgL_erulez00_3028 =
					BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_36, BgL_envz00_37,
					BgL_rulez00_38);
				{	/* Rgc/rgcrules.scm 466 */
					obj_t BgL_arg1673z00_3029;

					{	/* Rgc/rgcrules.scm 466 */
						obj_t BgL_arg1674z00_3030;

						{	/* Rgc/rgcrules.scm 466 */
							obj_t BgL_arg1675z00_3031;

							{	/* Rgc/rgcrules.scm 466 */
								obj_t BgL_arg1681z00_3032;

								BgL_arg1681z00_3032 = MAKE_YOUNG_PAIR(BgL_erulez00_3028, BNIL);
								BgL_arg1675z00_3031 =
									MAKE_YOUNG_PAIR(BGl_symbol2350z00zz__rgc_rulesz00,
									BgL_arg1681z00_3032);
							}
							BgL_arg1674z00_3030 = MAKE_YOUNG_PAIR(BgL_arg1675z00_3031, BNIL);
						}
						BgL_arg1673z00_3029 =
							MAKE_YOUNG_PAIR(BgL_erulez00_3028, BgL_arg1674z00_3030);
					}
					return
						MAKE_YOUNG_PAIR(BGl_symbol2382z00zz__rgc_rulesz00,
						BgL_arg1673z00_3029);
				}
			}
		}

	}



/* expand-or */
	obj_t BGl_expandzd2orzd2zz__rgc_rulesz00(long BgL_matchz00_42,
		obj_t BgL_envz00_43, obj_t BgL_rulesz00_44)
	{
		{	/* Rgc/rgcrules.scm 477 */
			if (NULLP(BgL_rulesz00_44))
				{	/* Rgc/rgcrules.scm 478 */
					return BGl_symbol2356z00zz__rgc_rulesz00;
				}
			else
				{
					obj_t BgL_rulesz00_1807;
					obj_t BgL_resz00_1808;

					BgL_rulesz00_1807 = BgL_rulesz00_44;
					BgL_resz00_1808 = BNIL;
				BgL_zc3z04anonymousza31691ze3z87_1809:
					if (NULLP(BgL_rulesz00_1807))
						{	/* Rgc/rgcrules.scm 483 */
							obj_t BgL_arg1697z00_1811;

							BgL_arg1697z00_1811 = bgl_reverse_bang(BgL_resz00_1808);
							return
								MAKE_YOUNG_PAIR(BGl_symbol2273z00zz__rgc_rulesz00,
								BgL_arg1697z00_1811);
						}
					else
						{	/* Rgc/rgcrules.scm 484 */
							obj_t BgL_rulez00_1812;

							{	/* Rgc/rgcrules.scm 484 */
								obj_t BgL_arg1712z00_1824;

								BgL_arg1712z00_1824 = CAR(((obj_t) BgL_rulesz00_1807));
								BgL_rulez00_1812 =
									BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_42,
									BgL_envz00_43, BgL_arg1712z00_1824);
							}
							{	/* Rgc/rgcrules.scm 485 */
								bool_t BgL_test2585z00_4514;

								if (PAIRP(BgL_rulez00_1812))
									{	/* Rgc/rgcrules.scm 485 */
										BgL_test2585z00_4514 =
											(CAR(BgL_rulez00_1812) ==
											BGl_symbol2273z00zz__rgc_rulesz00);
									}
								else
									{	/* Rgc/rgcrules.scm 485 */
										BgL_test2585z00_4514 = ((bool_t) 0);
									}
								if (BgL_test2585z00_4514)
									{	/* Rgc/rgcrules.scm 486 */
										obj_t BgL_arg1705z00_1816;
										obj_t BgL_arg1706z00_1817;

										BgL_arg1705z00_1816 = CDR(((obj_t) BgL_rulesz00_1807));
										BgL_arg1706z00_1817 =
											BGl_appendzd221011zd2zz__rgc_rulesz00(bgl_reverse_bang(CDR
												(BgL_rulez00_1812)), BgL_resz00_1808);
										{
											obj_t BgL_resz00_4525;
											obj_t BgL_rulesz00_4524;

											BgL_rulesz00_4524 = BgL_arg1705z00_1816;
											BgL_resz00_4525 = BgL_arg1706z00_1817;
											BgL_resz00_1808 = BgL_resz00_4525;
											BgL_rulesz00_1807 = BgL_rulesz00_4524;
											goto BgL_zc3z04anonymousza31691ze3z87_1809;
										}
									}
								else
									{	/* Rgc/rgcrules.scm 487 */
										obj_t BgL_arg1709z00_1820;
										obj_t BgL_arg1710z00_1821;

										BgL_arg1709z00_1820 = CDR(((obj_t) BgL_rulesz00_1807));
										BgL_arg1710z00_1821 =
											MAKE_YOUNG_PAIR(BgL_rulez00_1812, BgL_resz00_1808);
										{
											obj_t BgL_resz00_4530;
											obj_t BgL_rulesz00_4529;

											BgL_rulesz00_4529 = BgL_arg1709z00_1820;
											BgL_resz00_4530 = BgL_arg1710z00_1821;
											BgL_resz00_1808 = BgL_resz00_4530;
											BgL_rulesz00_1807 = BgL_rulesz00_4529;
											goto BgL_zc3z04anonymousza31691ze3z87_1809;
										}
									}
							}
						}
				}
		}

	}



/* expand-= */
	obj_t BGl_expandzd2zd3z01zz__rgc_rulesz00(long BgL_matchz00_45,
		obj_t BgL_envz00_46, obj_t BgL_numz00_47, obj_t BgL_rulez00_48,
		obj_t BgL_errz00_49)
	{
		{	/* Rgc/rgcrules.scm 497 */
			{	/* Rgc/rgcrules.scm 498 */
				bool_t BgL_test2587z00_4531;

				if (INTEGERP(BgL_numz00_47))
					{	/* Rgc/rgcrules.scm 498 */
						if (((long) CINT(BgL_numz00_47) > 0L))
							{	/* Rgc/rgcrules.scm 498 */
								BgL_test2587z00_4531 = ((long) CINT(BgL_numz00_47) < 81L);
							}
						else
							{	/* Rgc/rgcrules.scm 498 */
								BgL_test2587z00_4531 = ((bool_t) 0);
							}
					}
				else
					{	/* Rgc/rgcrules.scm 498 */
						BgL_test2587z00_4531 = ((bool_t) 0);
					}
				if (BgL_test2587z00_4531)
					{	/* Rgc/rgcrules.scm 500 */
						obj_t BgL_erulez00_1830;

						BgL_erulez00_1830 =
							BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_45,
							BgL_envz00_46, BgL_rulez00_48);
						return
							BGl_makezd2sequencezd2zz__rgc_rulesz00
							(BGl_vectorzd2ze3listz31zz__r4_vectors_6_8z00(make_vector((long)
									CINT(BgL_numz00_47), BgL_erulez00_1830)));
					}
				else
					{	/* Rgc/rgcrules.scm 498 */
						return
							BGl_errorz00zz__errorz00(BFALSE,
							BGl_string2384z00zz__rgc_rulesz00, BgL_errz00_49);
					}
			}
		}

	}



/* expand->= */
	obj_t BGl_expandzd2ze3zd3ze2zz__rgc_rulesz00(long BgL_matchz00_50,
		obj_t BgL_envz00_51, obj_t BgL_numz00_52, obj_t BgL_rulez00_53,
		obj_t BgL_errz00_54)
	{
		{	/* Rgc/rgcrules.scm 511 */
			{	/* Rgc/rgcrules.scm 512 */
				bool_t BgL_test2590z00_4545;

				if (INTEGERP(BgL_numz00_52))
					{	/* Rgc/rgcrules.scm 512 */
						if (((long) CINT(BgL_numz00_52) > 0L))
							{	/* Rgc/rgcrules.scm 512 */
								BgL_test2590z00_4545 = ((long) CINT(BgL_numz00_52) < 81L);
							}
						else
							{	/* Rgc/rgcrules.scm 512 */
								BgL_test2590z00_4545 = ((bool_t) 0);
							}
					}
				else
					{	/* Rgc/rgcrules.scm 512 */
						BgL_test2590z00_4545 = ((bool_t) 0);
					}
				if (BgL_test2590z00_4545)
					{	/* Rgc/rgcrules.scm 514 */
						obj_t BgL_erulez00_1840;

						BgL_erulez00_1840 =
							BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_50,
							BgL_envz00_51, BgL_rulez00_53);
						{	/* Rgc/rgcrules.scm 515 */
							obj_t BgL_arg1724z00_1841;

							{	/* Rgc/rgcrules.scm 515 */
								obj_t BgL_arg1725z00_1842;
								obj_t BgL_arg1726z00_1843;

								BgL_arg1725z00_1842 =
									BGl_vectorzd2ze3listz31zz__r4_vectors_6_8z00(make_vector(
										(long) CINT(BgL_numz00_52), BgL_erulez00_1840));
								{	/* Rgc/rgcrules.scm 516 */
									obj_t BgL_arg1728z00_1845;

									{	/* Rgc/rgcrules.scm 516 */
										obj_t BgL_arg1729z00_1846;

										BgL_arg1729z00_1846 =
											MAKE_YOUNG_PAIR(BgL_erulez00_1840, BNIL);
										BgL_arg1728z00_1845 =
											MAKE_YOUNG_PAIR(BGl_symbol2350z00zz__rgc_rulesz00,
											BgL_arg1729z00_1846);
									}
									BgL_arg1726z00_1843 =
										MAKE_YOUNG_PAIR(BgL_arg1728z00_1845, BNIL);
								}
								BgL_arg1724z00_1841 =
									BGl_appendzd221011zd2zz__rgc_rulesz00(BgL_arg1725z00_1842,
									BgL_arg1726z00_1843);
							}
							return
								BGl_makezd2sequencezd2zz__rgc_rulesz00(BgL_arg1724z00_1841);
						}
					}
				else
					{	/* Rgc/rgcrules.scm 512 */
						return
							BGl_errorz00zz__errorz00(BFALSE,
							BGl_string2384z00zz__rgc_rulesz00, BgL_errz00_54);
					}
			}
		}

	}



/* expand-** */
	obj_t BGl_expandzd2za2za2zd2zz__rgc_rulesz00(long BgL_matchz00_55,
		obj_t BgL_envz00_56, obj_t BgL_minz00_57, obj_t BgL_maxz00_58,
		obj_t BgL_rulez00_59, obj_t BgL_errz00_60)
	{
		{	/* Rgc/rgcrules.scm 526 */
			{	/* Rgc/rgcrules.scm 527 */
				bool_t BgL_test2593z00_4563;

				if (INTEGERP(BgL_minz00_57))
					{	/* Rgc/rgcrules.scm 527 */
						if (((long) CINT(BgL_minz00_57) > 0L))
							{	/* Rgc/rgcrules.scm 528 */
								if (INTEGERP(BgL_maxz00_58))
									{	/* Rgc/rgcrules.scm 529 */
										if (
											((long) CINT(BgL_maxz00_58) > (long) CINT(BgL_minz00_57)))
											{	/* Rgc/rgcrules.scm 530 */
												BgL_test2593z00_4563 =
													((long) CINT(BgL_maxz00_58) < 81L);
											}
										else
											{	/* Rgc/rgcrules.scm 530 */
												BgL_test2593z00_4563 = ((bool_t) 0);
											}
									}
								else
									{	/* Rgc/rgcrules.scm 529 */
										BgL_test2593z00_4563 = ((bool_t) 0);
									}
							}
						else
							{	/* Rgc/rgcrules.scm 528 */
								BgL_test2593z00_4563 = ((bool_t) 0);
							}
					}
				else
					{	/* Rgc/rgcrules.scm 527 */
						BgL_test2593z00_4563 = ((bool_t) 0);
					}
				if (BgL_test2593z00_4563)
					{	/* Rgc/rgcrules.scm 533 */
						obj_t BgL_erulez00_1858;

						BgL_erulez00_1858 =
							BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_55,
							BgL_envz00_56, BgL_rulez00_59);
						{
							obj_t BgL_minz00_1861;
							obj_t BgL_resz00_1862;

							BgL_minz00_1861 = BgL_minz00_57;
							BgL_resz00_1862 = BNIL;
						BgL_zc3z04anonymousza31737ze3z87_1863:
							{	/* Rgc/rgcrules.scm 536 */
								bool_t BgL_test2598z00_4578;

								{	/* Rgc/rgcrules.scm 536 */
									bool_t BgL_test2599z00_4579;

									if (INTEGERP(BgL_minz00_1861))
										{	/* Rgc/rgcrules.scm 536 */
											BgL_test2599z00_4579 = INTEGERP(BgL_maxz00_58);
										}
									else
										{	/* Rgc/rgcrules.scm 536 */
											BgL_test2599z00_4579 = ((bool_t) 0);
										}
									if (BgL_test2599z00_4579)
										{	/* Rgc/rgcrules.scm 536 */
											BgL_test2598z00_4578 =
												(
												(long) CINT(BgL_minz00_1861) >
												(long) CINT(BgL_maxz00_58));
										}
									else
										{	/* Rgc/rgcrules.scm 536 */
											BgL_test2598z00_4578 =
												BGl_2ze3ze3zz__r4_numbers_6_5z00(BgL_minz00_1861,
												BgL_maxz00_58);
										}
								}
								if (BgL_test2598z00_4578)
									{	/* Rgc/rgcrules.scm 537 */
										obj_t BgL_arg1740z00_1866;

										BgL_arg1740z00_1866 = bgl_reverse_bang(BgL_resz00_1862);
										return
											MAKE_YOUNG_PAIR(BGl_symbol2273z00zz__rgc_rulesz00,
											BgL_arg1740z00_1866);
									}
								else
									{	/* Rgc/rgcrules.scm 538 */
										obj_t BgL_arg1741z00_1867;
										obj_t BgL_arg1742z00_1868;

										if (INTEGERP(BgL_minz00_1861))
											{	/* Rgc/rgcrules.scm 538 */
												obj_t BgL_tmpz00_3053;

												BgL_tmpz00_3053 = BINT(0L);
												{	/* Rgc/rgcrules.scm 538 */
													bool_t BgL_test2602z00_4592;

													{	/* Rgc/rgcrules.scm 538 */
														obj_t BgL_tmpz00_4593;

														BgL_tmpz00_4593 = BINT(1L);
														BgL_test2602z00_4592 =
															BGL_ADDFX_OV(BgL_minz00_1861, BgL_tmpz00_4593,
															BgL_tmpz00_3053);
													}
													if (BgL_test2602z00_4592)
														{	/* Rgc/rgcrules.scm 538 */
															BgL_arg1741z00_1867 =
																bgl_bignum_add(bgl_long_to_bignum(
																	(long) CINT(BgL_minz00_1861)),
																bgl_long_to_bignum(1L));
														}
													else
														{	/* Rgc/rgcrules.scm 538 */
															BgL_arg1741z00_1867 = BgL_tmpz00_3053;
														}
												}
											}
										else
											{	/* Rgc/rgcrules.scm 538 */
												BgL_arg1741z00_1867 =
													BGl_2zb2zb2zz__r4_numbers_6_5z00(BgL_minz00_1861,
													BINT(1L));
											}
										BgL_arg1742z00_1868 =
											MAKE_YOUNG_PAIR(BGl_makezd2sequencezd2zz__rgc_rulesz00
											(BGl_vectorzd2ze3listz31zz__r4_vectors_6_8z00(make_vector(
														(long) CINT(BgL_minz00_1861), BgL_erulez00_1858))),
											BgL_resz00_1862);
										{
											obj_t BgL_resz00_4608;
											obj_t BgL_minz00_4607;

											BgL_minz00_4607 = BgL_arg1741z00_1867;
											BgL_resz00_4608 = BgL_arg1742z00_1868;
											BgL_resz00_1862 = BgL_resz00_4608;
											BgL_minz00_1861 = BgL_minz00_4607;
											goto BgL_zc3z04anonymousza31737ze3z87_1863;
										}
									}
							}
						}
					}
				else
					{	/* Rgc/rgcrules.scm 527 */
						return
							BGl_errorz00zz__errorz00(BFALSE,
							BGl_string2384z00zz__rgc_rulesz00, BgL_errz00_60);
					}
			}
		}

	}



/* expand-in */
	obj_t BGl_expandzd2inzd2zz__rgc_rulesz00(long BgL_matchz00_61,
		obj_t BgL_envz00_62, obj_t BgL_valuesz00_63, obj_t BgL_errz00_64)
	{
		{	/* Rgc/rgcrules.scm 554 */
			if (NULLP(BgL_valuesz00_63))
				{	/* Rgc/rgcrules.scm 586 */
					return BGl_symbol2356z00zz__rgc_rulesz00;
				}
			else
				{
					obj_t BgL_valuesz00_1886;
					obj_t BgL_charsz00_1887;

					BgL_valuesz00_1886 = BgL_valuesz00_63;
					BgL_charsz00_1887 = BNIL;
				BgL_zc3z04anonymousza31747ze3z87_1888:
					if (NULLP(BgL_valuesz00_1886))
						{	/* Rgc/rgcrules.scm 590 */
							return
								MAKE_YOUNG_PAIR(BGl_symbol2273z00zz__rgc_rulesz00,
								BgL_charsz00_1887);
						}
					else
						{	/* Rgc/rgcrules.scm 592 */
							obj_t BgL_valuez00_1890;

							BgL_valuez00_1890 = CAR(((obj_t) BgL_valuesz00_1886));
							{
								obj_t BgL_orzd2charszd2_1898;

								if (BGl_rgczd2charzf3ze70zc6zz__rgc_rulesz00(BgL_valuez00_1890))
									{	/* Rgc/rgcrules.scm 593 */
										{	/* Rgc/rgcrules.scm 595 */
											obj_t BgL_arg1792z00_1948;
											obj_t BgL_arg1793z00_1949;

											BgL_arg1792z00_1948 = CDR(((obj_t) BgL_valuesz00_1886));
											{	/* Rgc/rgcrules.scm 595 */
												obj_t BgL_arg1794z00_1950;

												if (CHARP(BgL_valuez00_1890))
													{	/* Rgc/rgcrules.scm 595 */
														BgL_arg1794z00_1950 =
															BINT((CCHAR(BgL_valuez00_1890)));
													}
												else
													{	/* Rgc/rgcrules.scm 595 */
														BgL_arg1794z00_1950 = BgL_valuez00_1890;
													}
												BgL_arg1793z00_1949 =
													MAKE_YOUNG_PAIR(BgL_arg1794z00_1950,
													BgL_charsz00_1887);
											}
											{
												obj_t BgL_charsz00_4628;
												obj_t BgL_valuesz00_4627;

												BgL_valuesz00_4627 = BgL_arg1792z00_1948;
												BgL_charsz00_4628 = BgL_arg1793z00_1949;
												BgL_charsz00_1887 = BgL_charsz00_4628;
												BgL_valuesz00_1886 = BgL_valuesz00_4627;
												goto BgL_zc3z04anonymousza31747ze3z87_1888;
											}
										}
									}
								else
									{	/* Rgc/rgcrules.scm 593 */
										if (STRINGP(BgL_valuez00_1890))
											{	/* Rgc/rgcrules.scm 593 */
												if ((STRING_LENGTH(((obj_t) BgL_valuez00_1890)) == 0L))
													{	/* Rgc/rgcrules.scm 600 */
														return BGl_symbol2356z00zz__rgc_rulesz00;
													}
												else
													{	/* Rgc/rgcrules.scm 602 */
														obj_t BgL_arg1798z00_1954;
														obj_t BgL_arg1799z00_1955;

														BgL_arg1798z00_1954 =
															CDR(((obj_t) BgL_valuesz00_1886));
														{	/* Rgc/rgcrules.scm 603 */
															obj_t BgL_arg1800z00_1956;

															{	/* Rgc/rgcrules.scm 603 */
																obj_t BgL_l1131z00_1957;

																BgL_l1131z00_1957 =
																	BGl_stringzd2ze3listz31zz__r4_strings_6_7z00
																	(BgL_valuez00_1890);
																if (NULLP(BgL_l1131z00_1957))
																	{	/* Rgc/rgcrules.scm 603 */
																		BgL_arg1800z00_1956 = BNIL;
																	}
																else
																	{	/* Rgc/rgcrules.scm 603 */
																		obj_t BgL_head1133z00_1959;

																		{	/* Rgc/rgcrules.scm 603 */
																			long BgL_arg1808z00_1971;

																			BgL_arg1808z00_1971 =
																				(CCHAR(CAR(BgL_l1131z00_1957)));
																			BgL_head1133z00_1959 =
																				MAKE_YOUNG_PAIR(BINT
																				(BgL_arg1808z00_1971), BNIL);
																		}
																		{	/* Rgc/rgcrules.scm 603 */
																			obj_t BgL_g1136z00_1960;

																			BgL_g1136z00_1960 =
																				CDR(BgL_l1131z00_1957);
																			{
																				obj_t BgL_l1131z00_3161;
																				obj_t BgL_tail1134z00_3162;

																				BgL_l1131z00_3161 = BgL_g1136z00_1960;
																				BgL_tail1134z00_3162 =
																					BgL_head1133z00_1959;
																			BgL_zc3z04anonymousza31802ze3z87_3160:
																				if (NULLP(BgL_l1131z00_3161))
																					{	/* Rgc/rgcrules.scm 603 */
																						BgL_arg1800z00_1956 =
																							BgL_head1133z00_1959;
																					}
																				else
																					{	/* Rgc/rgcrules.scm 603 */
																						obj_t BgL_newtail1135z00_3169;

																						{	/* Rgc/rgcrules.scm 603 */
																							long BgL_arg1805z00_3170;

																							BgL_arg1805z00_3170 =
																								(CCHAR(CAR(
																										((obj_t)
																											BgL_l1131z00_3161))));
																							BgL_newtail1135z00_3169 =
																								MAKE_YOUNG_PAIR(BINT
																								(BgL_arg1805z00_3170), BNIL);
																						}
																						SET_CDR(BgL_tail1134z00_3162,
																							BgL_newtail1135z00_3169);
																						{	/* Rgc/rgcrules.scm 603 */
																							obj_t BgL_arg1804z00_3172;

																							BgL_arg1804z00_3172 =
																								CDR(
																								((obj_t) BgL_l1131z00_3161));
																							{
																								obj_t BgL_tail1134z00_4658;
																								obj_t BgL_l1131z00_4657;

																								BgL_l1131z00_4657 =
																									BgL_arg1804z00_3172;
																								BgL_tail1134z00_4658 =
																									BgL_newtail1135z00_3169;
																								BgL_tail1134z00_3162 =
																									BgL_tail1134z00_4658;
																								BgL_l1131z00_3161 =
																									BgL_l1131z00_4657;
																								goto
																									BgL_zc3z04anonymousza31802ze3z87_3160;
																							}
																						}
																					}
																			}
																		}
																	}
															}
															BgL_arg1799z00_1955 =
																BGl_appendzd221011zd2zz__rgc_rulesz00
																(BgL_arg1800z00_1956, BgL_charsz00_1887);
														}
														{
															obj_t BgL_charsz00_4661;
															obj_t BgL_valuesz00_4660;

															BgL_valuesz00_4660 = BgL_arg1798z00_1954;
															BgL_charsz00_4661 = BgL_arg1799z00_1955;
															BgL_charsz00_1887 = BgL_charsz00_4661;
															BgL_valuesz00_1886 = BgL_valuesz00_4660;
															goto BgL_zc3z04anonymousza31747ze3z87_1888;
														}
													}
											}
										else
											{	/* Rgc/rgcrules.scm 593 */
												if (PAIRP(BgL_valuez00_1890))
													{	/* Rgc/rgcrules.scm 593 */
														obj_t BgL_carzd22548zd2_1905;
														obj_t BgL_cdrzd22549zd2_1906;

														BgL_carzd22548zd2_1905 =
															CAR(((obj_t) BgL_valuez00_1890));
														BgL_cdrzd22549zd2_1906 =
															CDR(((obj_t) BgL_valuez00_1890));
														if (BGl_rgczd2charzf3ze70zc6zz__rgc_rulesz00
															(BgL_carzd22548zd2_1905))
															{	/* Rgc/rgcrules.scm 593 */
																if (PAIRP(BgL_cdrzd22549zd2_1906))
																	{	/* Rgc/rgcrules.scm 593 */
																		obj_t BgL_carzd22554zd2_1909;

																		BgL_carzd22554zd2_1909 =
																			CAR(BgL_cdrzd22549zd2_1906);
																		if (BGl_rgczd2charzf3ze70zc6zz__rgc_rulesz00
																			(BgL_carzd22554zd2_1909))
																			{	/* Rgc/rgcrules.scm 593 */
																				if (NULLP(CDR(BgL_cdrzd22549zd2_1906)))
																					{	/* Rgc/rgcrules.scm 606 */
																						obj_t BgL_arg1812z00_3205;
																						obj_t BgL_arg1813z00_3206;

																						BgL_arg1812z00_3205 =
																							CDR(((obj_t) BgL_valuesz00_1886));
																						BgL_arg1813z00_3206 =
																							BGl_appendzd221011zd2zz__rgc_rulesz00
																							(BGl_charzd2rangeze70z35zz__rgc_rulesz00
																							(BgL_errz00_64,
																								BgL_carzd22548zd2_1905,
																								BgL_carzd22554zd2_1909),
																							BgL_charsz00_1887);
																						{
																							obj_t BgL_charsz00_4683;
																							obj_t BgL_valuesz00_4682;

																							BgL_valuesz00_4682 =
																								BgL_arg1812z00_3205;
																							BgL_charsz00_4683 =
																								BgL_arg1813z00_3206;
																							BgL_charsz00_1887 =
																								BgL_charsz00_4683;
																							BgL_valuesz00_1886 =
																								BgL_valuesz00_4682;
																							goto
																								BgL_zc3z04anonymousza31747ze3z87_1888;
																						}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 593 */
																						if (
																							(CAR(
																									((obj_t) BgL_valuez00_1890))
																								==
																								BGl_symbol2273z00zz__rgc_rulesz00))
																							{	/* Rgc/rgcrules.scm 593 */
																								obj_t BgL_arg1759z00_1915;

																								BgL_arg1759z00_1915 =
																									CDR(
																									((obj_t) BgL_valuez00_1890));
																								BgL_orzd2charszd2_1898 =
																									BgL_arg1759z00_1915;
																							BgL_tagzd22531zd2_1899:
																								{
																									obj_t BgL_csz00_1982;
																									obj_t BgL_resz00_1983;

																									BgL_csz00_1982 =
																										BgL_orzd2charszd2_1898;
																									BgL_resz00_1983 = BNIL;
																								BgL_zc3z04anonymousza31818ze3z87_1984:
																									if (NULLP
																										(BgL_csz00_1982))
																										{	/* Rgc/rgcrules.scm 614 */
																											obj_t BgL_arg1820z00_1986;
																											obj_t BgL_arg1821z00_1987;

																											BgL_arg1820z00_1986 =
																												CDR(
																												((obj_t)
																													BgL_valuesz00_1886));
																											BgL_arg1821z00_1987 =
																												BGl_appendzd221011zd2zz__rgc_rulesz00
																												(BgL_resz00_1983,
																												BgL_charsz00_1887);
																											{
																												obj_t BgL_charsz00_4696;
																												obj_t
																													BgL_valuesz00_4695;
																												BgL_valuesz00_4695 =
																													BgL_arg1820z00_1986;
																												BgL_charsz00_4696 =
																													BgL_arg1821z00_1987;
																												BgL_charsz00_1887 =
																													BgL_charsz00_4696;
																												BgL_valuesz00_1886 =
																													BgL_valuesz00_4695;
																												goto
																													BgL_zc3z04anonymousza31747ze3z87_1888;
																											}
																										}
																									else
																										{	/* Rgc/rgcrules.scm 616 */
																											bool_t
																												BgL_test2618z00_4697;
																											{	/* Rgc/rgcrules.scm 616 */
																												obj_t
																													BgL_arg1840z00_2004;
																												BgL_arg1840z00_2004 =
																													CAR(((obj_t)
																														BgL_csz00_1982));
																												BgL_test2618z00_4697 =
																													BGl_rgczd2charzf3ze70zc6zz__rgc_rulesz00
																													(BgL_arg1840z00_2004);
																											}
																											if (BgL_test2618z00_4697)
																												{	/* Rgc/rgcrules.scm 617 */
																													obj_t
																														BgL_arg1824z00_1990;
																													obj_t
																														BgL_arg1825z00_1991;
																													BgL_arg1824z00_1990 =
																														CDR(((obj_t)
																															BgL_csz00_1982));
																													{	/* Rgc/rgcrules.scm 617 */
																														obj_t
																															BgL_arg1827z00_1992;
																														BgL_arg1827z00_1992
																															=
																															CAR(((obj_t)
																																BgL_csz00_1982));
																														BgL_arg1825z00_1991
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1827z00_1992,
																															BgL_resz00_1983);
																													}
																													{
																														obj_t
																															BgL_resz00_4707;
																														obj_t
																															BgL_csz00_4706;
																														BgL_csz00_4706 =
																															BgL_arg1824z00_1990;
																														BgL_resz00_4707 =
																															BgL_arg1825z00_1991;
																														BgL_resz00_1983 =
																															BgL_resz00_4707;
																														BgL_csz00_1982 =
																															BgL_csz00_4706;
																														goto
																															BgL_zc3z04anonymousza31818ze3z87_1984;
																													}
																												}
																											else
																												{	/* Rgc/rgcrules.scm 618 */
																													bool_t
																														BgL_test2619z00_4708;
																													{	/* Rgc/rgcrules.scm 618 */
																														bool_t
																															BgL_test2620z00_4709;
																														{	/* Rgc/rgcrules.scm 618 */
																															obj_t
																																BgL_tmpz00_4710;
																															BgL_tmpz00_4710 =
																																CAR(((obj_t)
																																	BgL_csz00_1982));
																															BgL_test2620z00_4709
																																=
																																PAIRP
																																(BgL_tmpz00_4710);
																														}
																														if (BgL_test2620z00_4709)
																															{	/* Rgc/rgcrules.scm 618 */
																																obj_t
																																	BgL_tmpz00_4714;
																																{	/* Rgc/rgcrules.scm 618 */
																																	obj_t
																																		BgL_pairz00_3193;
																																	BgL_pairz00_3193
																																		=
																																		CAR(((obj_t)
																																			BgL_csz00_1982));
																																	BgL_tmpz00_4714
																																		=
																																		CAR
																																		(BgL_pairz00_3193);
																																}
																																BgL_test2619z00_4708
																																	=
																																	(BgL_tmpz00_4714
																																	==
																																	BGl_symbol2273z00zz__rgc_rulesz00);
																															}
																														else
																															{	/* Rgc/rgcrules.scm 618 */
																																BgL_test2619z00_4708
																																	=
																																	((bool_t) 0);
																															}
																													}
																													if (BgL_test2619z00_4708)
																														{	/* Rgc/rgcrules.scm 619 */
																															obj_t
																																BgL_arg1834z00_1998;
																															{	/* Rgc/rgcrules.scm 619 */
																																obj_t
																																	BgL_arg1835z00_1999;
																																obj_t
																																	BgL_arg1836z00_2000;
																																{	/* Rgc/rgcrules.scm 619 */
																																	obj_t
																																		BgL_pairz00_3197;
																																	BgL_pairz00_3197
																																		=
																																		CAR(((obj_t)
																																			BgL_csz00_1982));
																																	BgL_arg1835z00_1999
																																		=
																																		CDR
																																		(BgL_pairz00_3197);
																																}
																																BgL_arg1836z00_2000
																																	=
																																	CDR(((obj_t)
																																		BgL_csz00_1982));
																																BgL_arg1834z00_1998
																																	=
																																	BGl_appendzd221011zd2zz__rgc_rulesz00
																																	(BgL_arg1835z00_1999,
																																	BgL_arg1836z00_2000);
																															}
																															{
																																obj_t
																																	BgL_csz00_4725;
																																BgL_csz00_4725 =
																																	BgL_arg1834z00_1998;
																																BgL_csz00_1982 =
																																	BgL_csz00_4725;
																																goto
																																	BgL_zc3z04anonymousza31818ze3z87_1984;
																															}
																														}
																													else
																														{	/* Rgc/rgcrules.scm 618 */
																															return
																																BGl_errorz00zz__errorz00
																																(BFALSE,
																																BGl_string2347z00zz__rgc_rulesz00,
																																BgL_errz00_64);
																														}
																												}
																										}
																								}
																							}
																						else
																							{	/* Rgc/rgcrules.scm 593 */
																							BgL_tagzd22532zd2_1900:
																								{	/* Rgc/rgcrules.scm 624 */
																									obj_t BgL_arg1841z00_2006;

																									{	/* Rgc/rgcrules.scm 624 */
																										obj_t BgL_arg1842z00_2007;
																										obj_t BgL_arg1845z00_2008;

																										{	/* Rgc/rgcrules.scm 624 */
																											obj_t BgL_arg1846z00_2009;

																											BgL_arg1846z00_2009 =
																												CAR(
																												((obj_t)
																													BgL_valuesz00_1886));
																											BgL_arg1842z00_2007 =
																												BGl_expandzd2rulezd2zz__rgc_rulesz00
																												(BgL_matchz00_61,
																												BgL_envz00_62,
																												BgL_arg1846z00_2009);
																										}
																										BgL_arg1845z00_2008 =
																											CDR(
																											((obj_t)
																												BgL_valuesz00_1886));
																										BgL_arg1841z00_2006 =
																											MAKE_YOUNG_PAIR
																											(BgL_arg1842z00_2007,
																											BgL_arg1845z00_2008);
																									}
																									{
																										obj_t BgL_valuesz00_4733;

																										BgL_valuesz00_4733 =
																											BgL_arg1841z00_2006;
																										BgL_valuesz00_1886 =
																											BgL_valuesz00_4733;
																										goto
																											BgL_zc3z04anonymousza31747ze3z87_1888;
																									}
																								}
																							}
																					}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 593 */
																				if (
																					(CAR(
																							((obj_t) BgL_valuez00_1890)) ==
																						BGl_symbol2273z00zz__rgc_rulesz00))
																					{	/* Rgc/rgcrules.scm 593 */
																						obj_t BgL_arg1764z00_1920;

																						BgL_arg1764z00_1920 =
																							CDR(((obj_t) BgL_valuez00_1890));
																						{
																							obj_t BgL_orzd2charszd2_4740;

																							BgL_orzd2charszd2_4740 =
																								BgL_arg1764z00_1920;
																							BgL_orzd2charszd2_1898 =
																								BgL_orzd2charszd2_4740;
																							goto BgL_tagzd22531zd2_1899;
																						}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 593 */
																						goto BgL_tagzd22532zd2_1900;
																					}
																			}
																	}
																else
																	{	/* Rgc/rgcrules.scm 593 */
																		obj_t BgL_carzd22581zd2_1922;

																		BgL_carzd22581zd2_1922 =
																			CAR(((obj_t) BgL_valuez00_1890));
																		if (STRINGP(BgL_carzd22581zd2_1922))
																			{	/* Rgc/rgcrules.scm 593 */
																				if (NULLP(CDR(
																							((obj_t) BgL_valuez00_1890))))
																					{	/* Rgc/rgcrules.scm 608 */
																						obj_t BgL_arg1815z00_3215;
																						obj_t BgL_arg1816z00_3216;

																						BgL_arg1815z00_3215 =
																							CDR(((obj_t) BgL_valuesz00_1886));
																						BgL_arg1816z00_3216 =
																							BGl_appendzd221011zd2zz__rgc_rulesz00
																							(BGl_stringzd2rangeze70z35zz__rgc_rulesz00
																							(BgL_errz00_64,
																								BgL_carzd22581zd2_1922),
																							BgL_charsz00_1887);
																						{
																							obj_t BgL_charsz00_4754;
																							obj_t BgL_valuesz00_4753;

																							BgL_valuesz00_4753 =
																								BgL_arg1815z00_3215;
																							BgL_charsz00_4754 =
																								BgL_arg1816z00_3216;
																							BgL_charsz00_1887 =
																								BgL_charsz00_4754;
																							BgL_valuesz00_1886 =
																								BgL_valuesz00_4753;
																							goto
																								BgL_zc3z04anonymousza31747ze3z87_1888;
																						}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 593 */
																						if (
																							(BgL_carzd22581zd2_1922 ==
																								BGl_symbol2273z00zz__rgc_rulesz00))
																							{	/* Rgc/rgcrules.scm 593 */
																								obj_t BgL_arg1771z00_1928;

																								BgL_arg1771z00_1928 =
																									CDR(
																									((obj_t) BgL_valuez00_1890));
																								{
																									obj_t BgL_orzd2charszd2_4759;

																									BgL_orzd2charszd2_4759 =
																										BgL_arg1771z00_1928;
																									BgL_orzd2charszd2_1898 =
																										BgL_orzd2charszd2_4759;
																									goto BgL_tagzd22531zd2_1899;
																								}
																							}
																						else
																							{	/* Rgc/rgcrules.scm 593 */
																								goto BgL_tagzd22532zd2_1900;
																							}
																					}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 593 */
																				if (
																					(BgL_carzd22581zd2_1922 ==
																						BGl_symbol2273z00zz__rgc_rulesz00))
																					{	/* Rgc/rgcrules.scm 593 */
																						obj_t BgL_arg1777z00_1933;

																						BgL_arg1777z00_1933 =
																							CDR(((obj_t) BgL_valuez00_1890));
																						{
																							obj_t BgL_orzd2charszd2_4764;

																							BgL_orzd2charszd2_4764 =
																								BgL_arg1777z00_1933;
																							BgL_orzd2charszd2_1898 =
																								BgL_orzd2charszd2_4764;
																							goto BgL_tagzd22531zd2_1899;
																						}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 593 */
																						goto BgL_tagzd22532zd2_1900;
																					}
																			}
																	}
															}
														else
															{	/* Rgc/rgcrules.scm 593 */
																obj_t BgL_carzd22600zd2_1935;

																BgL_carzd22600zd2_1935 =
																	CAR(((obj_t) BgL_valuez00_1890));
																if (STRINGP(BgL_carzd22600zd2_1935))
																	{	/* Rgc/rgcrules.scm 593 */
																		if (NULLP(CDR(((obj_t) BgL_valuez00_1890))))
																			{	/* Rgc/rgcrules.scm 608 */
																				obj_t BgL_arg1815z00_3225;
																				obj_t BgL_arg1816z00_3226;

																				BgL_arg1815z00_3225 =
																					CDR(((obj_t) BgL_valuesz00_1886));
																				BgL_arg1816z00_3226 =
																					BGl_appendzd221011zd2zz__rgc_rulesz00
																					(BGl_stringzd2rangeze70z35zz__rgc_rulesz00
																					(BgL_errz00_64,
																						BgL_carzd22600zd2_1935),
																					BgL_charsz00_1887);
																				{
																					obj_t BgL_charsz00_4778;
																					obj_t BgL_valuesz00_4777;

																					BgL_valuesz00_4777 =
																						BgL_arg1815z00_3225;
																					BgL_charsz00_4778 =
																						BgL_arg1816z00_3226;
																					BgL_charsz00_1887 = BgL_charsz00_4778;
																					BgL_valuesz00_1886 =
																						BgL_valuesz00_4777;
																					goto
																						BgL_zc3z04anonymousza31747ze3z87_1888;
																				}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 593 */
																				if (
																					(BgL_carzd22600zd2_1935 ==
																						BGl_symbol2273z00zz__rgc_rulesz00))
																					{	/* Rgc/rgcrules.scm 593 */
																						obj_t BgL_arg1785z00_1941;

																						BgL_arg1785z00_1941 =
																							CDR(((obj_t) BgL_valuez00_1890));
																						{
																							obj_t BgL_orzd2charszd2_4783;

																							BgL_orzd2charszd2_4783 =
																								BgL_arg1785z00_1941;
																							BgL_orzd2charszd2_1898 =
																								BgL_orzd2charszd2_4783;
																							goto BgL_tagzd22531zd2_1899;
																						}
																					}
																				else
																					{	/* Rgc/rgcrules.scm 593 */
																						goto BgL_tagzd22532zd2_1900;
																					}
																			}
																	}
																else
																	{	/* Rgc/rgcrules.scm 593 */
																		if (
																			(BgL_carzd22600zd2_1935 ==
																				BGl_symbol2273z00zz__rgc_rulesz00))
																			{	/* Rgc/rgcrules.scm 593 */
																				obj_t BgL_arg1790z00_1946;

																				BgL_arg1790z00_1946 =
																					CDR(((obj_t) BgL_valuez00_1890));
																				{
																					obj_t BgL_orzd2charszd2_4788;

																					BgL_orzd2charszd2_4788 =
																						BgL_arg1790z00_1946;
																					BgL_orzd2charszd2_1898 =
																						BgL_orzd2charszd2_4788;
																					goto BgL_tagzd22531zd2_1899;
																				}
																			}
																		else
																			{	/* Rgc/rgcrules.scm 593 */
																				goto BgL_tagzd22532zd2_1900;
																			}
																	}
															}
													}
												else
													{	/* Rgc/rgcrules.scm 593 */
														goto BgL_tagzd22532zd2_1900;
													}
											}
									}
							}
						}
				}
		}

	}



/* string-range~0 */
	obj_t BGl_stringzd2rangeze70z35zz__rgc_rulesz00(obj_t BgL_errz00_3590,
		obj_t BgL_stringz00_2034)
	{
		{	/* Rgc/rgcrules.scm 585 */
			{	/* Rgc/rgcrules.scm 575 */
				long BgL_lenz00_2036;

				BgL_lenz00_2036 = STRING_LENGTH(BgL_stringz00_2034);
				{	/* Rgc/rgcrules.scm 576 */
					bool_t BgL_test2630z00_4790;

					{	/* Rgc/rgcrules.scm 576 */
						long BgL_a1130z00_2052;

						{	/* Rgc/rgcrules.scm 576 */
							long BgL_n1z00_3093;
							long BgL_n2z00_3094;

							BgL_n1z00_3093 = BgL_lenz00_2036;
							BgL_n2z00_3094 = 2L;
							{	/* Rgc/rgcrules.scm 576 */
								bool_t BgL_test2631z00_4791;

								{	/* Rgc/rgcrules.scm 576 */
									long BgL_arg2100z00_3096;

									BgL_arg2100z00_3096 =
										(((BgL_n1z00_3093) | (BgL_n2z00_3094)) & -2147483648);
									BgL_test2631z00_4791 = (BgL_arg2100z00_3096 == 0L);
								}
								if (BgL_test2631z00_4791)
									{	/* Rgc/rgcrules.scm 576 */
										int32_t BgL_arg2096z00_3097;

										{	/* Rgc/rgcrules.scm 576 */
											int32_t BgL_arg2097z00_3098;
											int32_t BgL_arg2098z00_3099;

											BgL_arg2097z00_3098 = (int32_t) (BgL_n1z00_3093);
											BgL_arg2098z00_3099 = (int32_t) (BgL_n2z00_3094);
											BgL_arg2096z00_3097 =
												(BgL_arg2097z00_3098 % BgL_arg2098z00_3099);
										}
										{	/* Rgc/rgcrules.scm 576 */
											long BgL_arg2199z00_3104;

											BgL_arg2199z00_3104 = (long) (BgL_arg2096z00_3097);
											BgL_a1130z00_2052 = (long) (BgL_arg2199z00_3104);
									}}
								else
									{	/* Rgc/rgcrules.scm 576 */
										BgL_a1130z00_2052 = (BgL_n1z00_3093 % BgL_n2z00_3094);
									}
							}
						}
						BgL_test2630z00_4790 = (BgL_a1130z00_2052 > 0L);
					}
					if (BgL_test2630z00_4790)
						{	/* Rgc/rgcrules.scm 576 */
							return
								BGl_errorz00zz__errorz00(BFALSE,
								BGl_string2385z00zz__rgc_rulesz00, BgL_errz00_3590);
						}
					else
						{
							long BgL_iz00_3116;
							obj_t BgL_resz00_3117;

							BgL_iz00_3116 = 0L;
							BgL_resz00_3117 = BNIL;
						BgL_loopz00_3115:
							if ((BgL_iz00_3116 == BgL_lenz00_2036))
								{	/* Rgc/rgcrules.scm 580 */
									return BgL_resz00_3117;
								}
							else
								{	/* Rgc/rgcrules.scm 582 */
									long BgL_arg1861z00_3121;
									obj_t BgL_arg1862z00_3122;

									BgL_arg1861z00_3121 = (BgL_iz00_3116 + 2L);
									{	/* Rgc/rgcrules.scm 583 */
										obj_t BgL_arg1863z00_3124;

										{	/* Rgc/rgcrules.scm 583 */
											unsigned char BgL_arg1864z00_3125;
											unsigned char BgL_arg1865z00_3126;

											BgL_arg1864z00_3125 =
												STRING_REF(BgL_stringz00_2034, BgL_iz00_3116);
											BgL_arg1865z00_3126 =
												STRING_REF(BgL_stringz00_2034, (BgL_iz00_3116 + 1L));
											BgL_arg1863z00_3124 =
												BGl_charzd2rangeze70z35zz__rgc_rulesz00(BgL_errz00_3590,
												BCHAR(BgL_arg1864z00_3125), BCHAR(BgL_arg1865z00_3126));
										}
										BgL_arg1862z00_3122 =
											BGl_appendzd221011zd2zz__rgc_rulesz00(BgL_arg1863z00_3124,
											BgL_resz00_3117);
									}
									{
										obj_t BgL_resz00_4813;
										long BgL_iz00_4812;

										BgL_iz00_4812 = BgL_arg1861z00_3121;
										BgL_resz00_4813 = BgL_arg1862z00_3122;
										BgL_resz00_3117 = BgL_resz00_4813;
										BgL_iz00_3116 = BgL_iz00_4812;
										goto BgL_loopz00_3115;
									}
								}
						}
				}
			}
		}

	}



/* rgc-char?~0 */
	bool_t BGl_rgczd2charzf3ze70zc6zz__rgc_rulesz00(obj_t BgL_xz00_2011)
	{
		{	/* Rgc/rgcrules.scm 561 */
			{	/* Rgc/rgcrules.scm 558 */
				bool_t BgL__ortest_1046z00_2013;

				BgL__ortest_1046z00_2013 = CHARP(BgL_xz00_2011);
				if (BgL__ortest_1046z00_2013)
					{	/* Rgc/rgcrules.scm 558 */
						return BgL__ortest_1046z00_2013;
					}
				else
					{	/* Rgc/rgcrules.scm 558 */
						if (INTEGERP(BgL_xz00_2011))
							{	/* Rgc/rgcrules.scm 559 */
								if (((long) CINT(BgL_xz00_2011) >= 0L))
									{	/* Rgc/rgcrules.scm 561 */
										obj_t BgL_arg1848z00_2016;

										BgL_arg1848z00_2016 =
											BGl_rgczd2maxzd2charz00zz__rgc_configz00();
										return
											(
											(long) CINT(BgL_xz00_2011) <
											(long) CINT(BgL_arg1848z00_2016));
									}
								else
									{	/* Rgc/rgcrules.scm 560 */
										return ((bool_t) 0);
									}
							}
						else
							{	/* Rgc/rgcrules.scm 559 */
								return ((bool_t) 0);
							}
					}
			}
		}

	}



/* char-range~0 */
	obj_t BGl_charzd2rangeze70z35zz__rgc_rulesz00(obj_t BgL_errz00_3591,
		obj_t BgL_minz00_2017, obj_t BgL_maxz00_2018)
	{
		{	/* Rgc/rgcrules.scm 573 */
			{	/* Rgc/rgcrules.scm 563 */
				obj_t BgL_minz00_2020;
				obj_t BgL_maxz00_2021;

				if (CHARP(BgL_minz00_2017))
					{	/* Rgc/rgcrules.scm 563 */
						BgL_minz00_2020 = BINT((CCHAR(BgL_minz00_2017)));
					}
				else
					{	/* Rgc/rgcrules.scm 563 */
						BgL_minz00_2020 = BgL_minz00_2017;
					}
				if (CHARP(BgL_maxz00_2018))
					{	/* Rgc/rgcrules.scm 564 */
						BgL_maxz00_2021 = BINT((CCHAR(BgL_maxz00_2018)));
					}
				else
					{	/* Rgc/rgcrules.scm 564 */
						BgL_maxz00_2021 = BgL_maxz00_2018;
					}
				if (((long) CINT(BgL_maxz00_2021) >= (long) CINT(BgL_minz00_2020)))
					{
						obj_t BgL_maxz00_3081;
						obj_t BgL_resz00_3082;

						BgL_maxz00_3081 = BgL_maxz00_2021;
						BgL_resz00_3082 = BNIL;
					BgL_loopz00_3080:
						if (((long) CINT(BgL_maxz00_3081) == (long) CINT(BgL_minz00_2020)))
							{	/* Rgc/rgcrules.scm 569 */
								return MAKE_YOUNG_PAIR(BgL_minz00_2020, BgL_resz00_3082);
							}
						else
							{	/* Rgc/rgcrules.scm 571 */
								long BgL_arg1853z00_3087;
								obj_t BgL_arg1854z00_3088;

								BgL_arg1853z00_3087 = ((long) CINT(BgL_maxz00_3081) - 1L);
								BgL_arg1854z00_3088 =
									MAKE_YOUNG_PAIR(BgL_maxz00_3081, BgL_resz00_3082);
								{
									obj_t BgL_resz00_4849;
									obj_t BgL_maxz00_4847;

									BgL_maxz00_4847 = BINT(BgL_arg1853z00_3087);
									BgL_resz00_4849 = BgL_arg1854z00_3088;
									BgL_resz00_3082 = BgL_resz00_4849;
									BgL_maxz00_3081 = BgL_maxz00_4847;
									goto BgL_loopz00_3080;
								}
							}
					}
				else
					{	/* Rgc/rgcrules.scm 566 */
						return
							BGl_errorz00zz__errorz00(BFALSE,
							BGl_string2386z00zz__rgc_rulesz00, BgL_errz00_3591);
					}
			}
		}

	}



/* expand-and */
	obj_t BGl_expandzd2andzd2zz__rgc_rulesz00(long BgL_matchz00_69,
		obj_t BgL_envz00_70, obj_t BgL_val1z00_71, obj_t BgL_val2z00_72,
		obj_t BgL_errz00_73)
	{
		{	/* Rgc/rgcrules.scm 646 */
			{	/* Rgc/rgcrules.scm 647 */
				obj_t BgL_in1z00_3239;

				{	/* Rgc/rgcrules.scm 647 */
					obj_t BgL_arg1883z00_3240;

					{	/* Rgc/rgcrules.scm 647 */
						obj_t BgL_list1884z00_3241;

						BgL_list1884z00_3241 = MAKE_YOUNG_PAIR(BgL_val1z00_71, BNIL);
						BgL_arg1883z00_3240 = BgL_list1884z00_3241;
					}
					BgL_in1z00_3239 =
						BGl_expandzd2inzd2zz__rgc_rulesz00(BgL_matchz00_69, BgL_envz00_70,
						BgL_arg1883z00_3240, BgL_errz00_73);
				}
				{	/* Rgc/rgcrules.scm 647 */
					obj_t BgL_in2z00_3242;

					{	/* Rgc/rgcrules.scm 648 */
						obj_t BgL_arg1881z00_3243;

						{	/* Rgc/rgcrules.scm 648 */
							obj_t BgL_list1882z00_3244;

							BgL_list1882z00_3244 = MAKE_YOUNG_PAIR(BgL_val2z00_72, BNIL);
							BgL_arg1881z00_3243 = BgL_list1882z00_3244;
						}
						BgL_in2z00_3242 =
							BGl_expandzd2inzd2zz__rgc_rulesz00(BgL_matchz00_69, BgL_envz00_70,
							BgL_arg1881z00_3243, BgL_errz00_73);
					}
					{	/* Rgc/rgcrules.scm 648 */
						obj_t BgL_bc1z00_3245;

						{	/* Rgc/rgcrules.scm 649 */
							obj_t BgL_arg1878z00_3246;
							obj_t BgL_arg1879z00_3247;

							BgL_arg1878z00_3246 = CDR(((obj_t) BgL_in1z00_3239));
							BgL_arg1879z00_3247 = BGl_rgczd2maxzd2charz00zz__rgc_configz00();
							BgL_bc1z00_3245 =
								BGl_listzd2ze3rgcsetz31zz__rgc_setz00(BgL_arg1878z00_3246,
								(long) CINT(BgL_arg1879z00_3247));
						}
						{	/* Rgc/rgcrules.scm 649 */
							obj_t BgL_bc2z00_3248;

							{	/* Rgc/rgcrules.scm 650 */
								obj_t BgL_arg1873z00_3249;
								obj_t BgL_arg1876z00_3250;

								BgL_arg1873z00_3249 = CDR(((obj_t) BgL_in2z00_3242));
								BgL_arg1876z00_3250 =
									BGl_rgczd2maxzd2charz00zz__rgc_configz00();
								BgL_bc2z00_3248 =
									BGl_listzd2ze3rgcsetz31zz__rgc_setz00(BgL_arg1873z00_3249,
									(long) CINT(BgL_arg1876z00_3250));
							}
							{	/* Rgc/rgcrules.scm 650 */

								BGl_rgcsetzd2andz12zc0zz__rgc_setz00(BgL_bc1z00_3245,
									BgL_bc2z00_3248);
								{	/* Rgc/rgcrules.scm 652 */
									obj_t BgL_arg1870z00_3251;

									BgL_arg1870z00_3251 =
										BGl_rgcsetzd2ze3listz31zz__rgc_setz00(BgL_bc1z00_3245);
									return
										MAKE_YOUNG_PAIR(BGl_symbol2273z00zz__rgc_rulesz00,
										BgL_arg1870z00_3251);
								}
							}
						}
					}
				}
			}
		}

	}



/* expand-but */
	obj_t BGl_expandzd2butzd2zz__rgc_rulesz00(long BgL_matchz00_74,
		obj_t BgL_envz00_75, obj_t BgL_val1z00_76, obj_t BgL_val2z00_77,
		obj_t BgL_errz00_78)
	{
		{	/* Rgc/rgcrules.scm 659 */
			{	/* Rgc/rgcrules.scm 660 */
				obj_t BgL_in1z00_3256;

				{	/* Rgc/rgcrules.scm 660 */
					obj_t BgL_arg1892z00_3257;

					{	/* Rgc/rgcrules.scm 660 */
						obj_t BgL_list1893z00_3258;

						BgL_list1893z00_3258 = MAKE_YOUNG_PAIR(BgL_val1z00_76, BNIL);
						BgL_arg1892z00_3257 = BgL_list1893z00_3258;
					}
					BgL_in1z00_3256 =
						BGl_expandzd2inzd2zz__rgc_rulesz00(BgL_matchz00_74, BgL_envz00_75,
						BgL_arg1892z00_3257, BgL_errz00_78);
				}
				{	/* Rgc/rgcrules.scm 660 */
					obj_t BgL_in2z00_3259;

					{	/* Rgc/rgcrules.scm 661 */
						obj_t BgL_arg1890z00_3260;

						{	/* Rgc/rgcrules.scm 661 */
							obj_t BgL_list1891z00_3261;

							BgL_list1891z00_3261 = MAKE_YOUNG_PAIR(BgL_val2z00_77, BNIL);
							BgL_arg1890z00_3260 = BgL_list1891z00_3261;
						}
						BgL_in2z00_3259 =
							BGl_expandzd2inzd2zz__rgc_rulesz00(BgL_matchz00_74, BgL_envz00_75,
							BgL_arg1890z00_3260, BgL_errz00_78);
					}
					{	/* Rgc/rgcrules.scm 661 */
						obj_t BgL_bc1z00_3262;

						{	/* Rgc/rgcrules.scm 662 */
							obj_t BgL_arg1888z00_3263;
							obj_t BgL_arg1889z00_3264;

							BgL_arg1888z00_3263 = CDR(((obj_t) BgL_in1z00_3256));
							BgL_arg1889z00_3264 = BGl_rgczd2maxzd2charz00zz__rgc_configz00();
							BgL_bc1z00_3262 =
								BGl_listzd2ze3rgcsetz31zz__rgc_setz00(BgL_arg1888z00_3263,
								(long) CINT(BgL_arg1889z00_3264));
						}
						{	/* Rgc/rgcrules.scm 662 */
							obj_t BgL_bc2z00_3265;

							{	/* Rgc/rgcrules.scm 663 */
								obj_t BgL_arg1886z00_3266;
								obj_t BgL_arg1887z00_3267;

								BgL_arg1886z00_3266 = CDR(((obj_t) BgL_in2z00_3259));
								BgL_arg1887z00_3267 =
									BGl_rgczd2maxzd2charz00zz__rgc_configz00();
								BgL_bc2z00_3265 =
									BGl_listzd2ze3rgcsetz31zz__rgc_setz00(BgL_arg1886z00_3266,
									(long) CINT(BgL_arg1887z00_3267));
							}
							{	/* Rgc/rgcrules.scm 663 */

								BGl_rgcsetzd2butz12zc0zz__rgc_setz00(BgL_bc1z00_3262,
									BgL_bc2z00_3265);
								{	/* Rgc/rgcrules.scm 665 */
									obj_t BgL_arg1885z00_3268;

									BgL_arg1885z00_3268 =
										BGl_rgcsetzd2ze3listz31zz__rgc_setz00(BgL_bc1z00_3262);
									return
										MAKE_YOUNG_PAIR(BGl_symbol2273z00zz__rgc_rulesz00,
										BgL_arg1885z00_3268);
								}
							}
						}
					}
				}
			}
		}

	}



/* expand-submatch */
	obj_t BGl_expandzd2submatchzd2zz__rgc_rulesz00(long BgL_matchz00_79,
		obj_t BgL_envz00_80, obj_t BgL_rulez00_81, obj_t BgL_errz00_82)
	{
		{	/* Rgc/rgcrules.scm 675 */
			if (BGl_za2lockzd2submatchza2zd2zz__rgc_rulesz00)
				{	/* Rgc/rgcrules.scm 676 */
					return
						BGl_errorz00zz__errorz00(BFALSE, BGl_string2387z00zz__rgc_rulesz00,
						BgL_errz00_82);
				}
			else
				{	/* Rgc/rgcrules.scm 678 */
					long BgL_submatchz00_3273;

					BgL_submatchz00_3273 = BGl_getzd2newzd2submatchz00zz__rgc_rulesz00();
					BGl_za2lockzd2submatchza2zd2zz__rgc_rulesz00 = ((bool_t) 1);
					{	/* Rgc/rgcrules.scm 680 */
						obj_t BgL_resz00_3274;

						{	/* Rgc/rgcrules.scm 682 */
							obj_t BgL_arg1894z00_3275;

							{	/* Rgc/rgcrules.scm 682 */
								obj_t BgL_arg1896z00_3276;

								{	/* Rgc/rgcrules.scm 682 */
									obj_t BgL_arg1897z00_3277;

									BgL_arg1897z00_3277 =
										MAKE_YOUNG_PAIR(BGl_expandzd2rulezd2zz__rgc_rulesz00
										(BgL_matchz00_79, BgL_envz00_80, BgL_rulez00_81), BNIL);
									BgL_arg1896z00_3276 =
										MAKE_YOUNG_PAIR(BINT(BgL_submatchz00_3273),
										BgL_arg1897z00_3277);
								}
								BgL_arg1894z00_3275 =
									MAKE_YOUNG_PAIR(BINT(BgL_matchz00_79), BgL_arg1896z00_3276);
							}
							BgL_resz00_3274 =
								MAKE_YOUNG_PAIR(BGl_symbol2370z00zz__rgc_rulesz00,
								BgL_arg1894z00_3275);
						}
						BGl_za2lockzd2submatchza2zd2zz__rgc_rulesz00 = ((bool_t) 0);
						return BgL_resz00_3274;
					}
				}
		}

	}



/* expand-sequence */
	obj_t BGl_expandzd2sequencezd2zz__rgc_rulesz00(long BgL_matchz00_87,
		obj_t BgL_envz00_88, obj_t BgL_rulesz00_89)
	{
		{	/* Rgc/rgcrules.scm 698 */
			{	/* Rgc/rgcrules.scm 699 */
				obj_t BgL_arg1903z00_2095;

				{	/* Rgc/rgcrules.scm 699 */
					obj_t BgL_head1139z00_2098;

					BgL_head1139z00_2098 = MAKE_YOUNG_PAIR(BNIL, BNIL);
					{
						obj_t BgL_l1137z00_3298;
						obj_t BgL_tail1140z00_3299;

						BgL_l1137z00_3298 = BgL_rulesz00_89;
						BgL_tail1140z00_3299 = BgL_head1139z00_2098;
					BgL_zc3z04anonymousza31905ze3z87_3297:
						if (NULLP(BgL_l1137z00_3298))
							{	/* Rgc/rgcrules.scm 699 */
								BgL_arg1903z00_2095 = CDR(BgL_head1139z00_2098);
							}
						else
							{	/* Rgc/rgcrules.scm 699 */
								obj_t BgL_newtail1141z00_3306;

								{	/* Rgc/rgcrules.scm 699 */
									obj_t BgL_arg1908z00_3307;

									{	/* Rgc/rgcrules.scm 699 */
										obj_t BgL_rz00_3308;

										BgL_rz00_3308 = CAR(((obj_t) BgL_l1137z00_3298));
										BgL_arg1908z00_3307 =
											BGl_expandzd2rulezd2zz__rgc_rulesz00(BgL_matchz00_87,
											BgL_envz00_88, BgL_rz00_3308);
									}
									BgL_newtail1141z00_3306 =
										MAKE_YOUNG_PAIR(BgL_arg1908z00_3307, BNIL);
								}
								SET_CDR(BgL_tail1140z00_3299, BgL_newtail1141z00_3306);
								{	/* Rgc/rgcrules.scm 699 */
									obj_t BgL_arg1907z00_3309;

									BgL_arg1907z00_3309 = CDR(((obj_t) BgL_l1137z00_3298));
									{
										obj_t BgL_tail1140z00_4907;
										obj_t BgL_l1137z00_4906;

										BgL_l1137z00_4906 = BgL_arg1907z00_3309;
										BgL_tail1140z00_4907 = BgL_newtail1141z00_3306;
										BgL_tail1140z00_3299 = BgL_tail1140z00_4907;
										BgL_l1137z00_3298 = BgL_l1137z00_4906;
										goto BgL_zc3z04anonymousza31905ze3z87_3297;
									}
								}
							}
					}
				}
				return BGl_makezd2sequencezd2zz__rgc_rulesz00(BgL_arg1903z00_2095);
			}
		}

	}



/* make-sequence */
	obj_t BGl_makezd2sequencezd2zz__rgc_rulesz00(obj_t BgL_rulesz00_90)
	{
		{	/* Rgc/rgcrules.scm 713 */
			{
				obj_t BgL_rulesz00_2111;
				obj_t BgL_resz00_2112;

				BgL_rulesz00_2111 = BgL_rulesz00_90;
				BgL_resz00_2112 = BNIL;
			BgL_zc3z04anonymousza31909ze3z87_2113:
				{

					if (NULLP(BgL_rulesz00_2111))
						{	/* Rgc/rgcrules.scm 718 */
							obj_t BgL_arg1919z00_3319;

							BgL_arg1919z00_3319 = bgl_reverse_bang(BgL_resz00_2112);
							return
								MAKE_YOUNG_PAIR(BGl_symbol2382z00zz__rgc_rulesz00,
								BgL_arg1919z00_3319);
						}
					else
						{	/* Rgc/rgcrules.scm 714 */
							if (PAIRP(BgL_rulesz00_2111))
								{	/* Rgc/rgcrules.scm 714 */
									obj_t BgL_carzd22629zd2_2122;

									BgL_carzd22629zd2_2122 = CAR(((obj_t) BgL_rulesz00_2111));
									if (PAIRP(BgL_carzd22629zd2_2122))
										{	/* Rgc/rgcrules.scm 714 */
											if (
												(CAR(BgL_carzd22629zd2_2122) ==
													BGl_symbol2382z00zz__rgc_rulesz00))
												{	/* Rgc/rgcrules.scm 714 */
													obj_t BgL_arg1916z00_2126;
													obj_t BgL_arg1917z00_2127;

													BgL_arg1916z00_2126 = CDR(BgL_carzd22629zd2_2122);
													BgL_arg1917z00_2127 =
														CDR(((obj_t) BgL_rulesz00_2111));
													{
														obj_t BgL_resz00_4926;
														obj_t BgL_rulesz00_4925;

														BgL_rulesz00_4925 = BgL_arg1917z00_2127;
														BgL_resz00_4926 =
															BGl_appendzd221011zd2zz__rgc_rulesz00(bgl_reverse
															(BgL_arg1916z00_2126), BgL_resz00_2112);
														BgL_resz00_2112 = BgL_resz00_4926;
														BgL_rulesz00_2111 = BgL_rulesz00_4925;
														goto BgL_zc3z04anonymousza31909ze3z87_2113;
													}
												}
											else
												{	/* Rgc/rgcrules.scm 714 */
												BgL_tagzd22621zd2_2118:
													{	/* Rgc/rgcrules.scm 722 */
														obj_t BgL_arg1922z00_2132;
														obj_t BgL_arg1923z00_2133;

														BgL_arg1922z00_2132 =
															CDR(((obj_t) BgL_rulesz00_2111));
														{	/* Rgc/rgcrules.scm 722 */
															obj_t BgL_arg1924z00_2134;

															BgL_arg1924z00_2134 =
																CAR(((obj_t) BgL_rulesz00_2111));
															BgL_arg1923z00_2133 =
																MAKE_YOUNG_PAIR(BgL_arg1924z00_2134,
																BgL_resz00_2112);
														}
														{
															obj_t BgL_resz00_4935;
															obj_t BgL_rulesz00_4934;

															BgL_rulesz00_4934 = BgL_arg1922z00_2132;
															BgL_resz00_4935 = BgL_arg1923z00_2133;
															BgL_resz00_2112 = BgL_resz00_4935;
															BgL_rulesz00_2111 = BgL_rulesz00_4934;
															goto BgL_zc3z04anonymousza31909ze3z87_2113;
														}
													}
												}
										}
									else
										{	/* Rgc/rgcrules.scm 714 */
											goto BgL_tagzd22621zd2_2118;
										}
								}
							else
								{	/* Rgc/rgcrules.scm 714 */
									goto BgL_tagzd22621zd2_2118;
								}
						}
				}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 24 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 24 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 24 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__rgc_rulesz00(void)
	{
		{	/* Rgc/rgcrules.scm 24 */
			BGl_modulezd2initializa7ationz75zz__rgc_configz00(428274736L,
				BSTRING_TO_STRING(BGl_string2388z00zz__rgc_rulesz00));
			BGl_modulezd2initializa7ationz75zz__rgc_setz00(225075643L,
				BSTRING_TO_STRING(BGl_string2388z00zz__rgc_rulesz00));
			BGl_modulezd2initializa7ationz75zz__rgc_posixz00(447103600L,
				BSTRING_TO_STRING(BGl_string2388z00zz__rgc_rulesz00));
			return
				BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string2388z00zz__rgc_rulesz00));
		}

	}

#ifdef __cplusplus
}
#endif
