/*===========================================================================*/
/*   (Match/compiler.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 Match/compiler.scm -indent -o objs/obj_u/Match/compiler.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___MATCH_COMPILER_TYPE_DEFINITIONS
#define BGL___MATCH_COMPILER_TYPE_DEFINITIONS
#endif													// BGL___MATCH_COMPILER_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_z62pcompilez62zz__match_compilerz00(obj_t, obj_t);
	extern obj_t BGl_compatiblezf3zf3zz__match_descriptionsz00(obj_t, obj_t);
	static obj_t BGl_dzd2initzd2zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_succeszd2conszd2zz__match_compilerz00(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_buildzd2ifzd2zz__match_compilerz00(obj_t, obj_t, obj_t);
	static obj_t BGl_compilez00zz__match_compilerz00(obj_t, obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__match_compilerz00 = BUNSPEC;
	extern obj_t BGl_morezd2precisezf3z21zz__match_descriptionsz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31630ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31606ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static bool_t BGl_isDirectCallzf3zf3zz__match_compilerz00(obj_t);
	extern bool_t BGl_equalzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
	static obj_t BGl_compilezd2timeszd2zz__match_compilerz00(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_modulezd2initializa7ationz75zz__match_compilerz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__match_descriptionsz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__match_s2cfunz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_z62zc3z04anonymousza31623ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31380ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_symbol2201z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2203z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2205z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2207z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2209z00zz__match_compilerz00 = BUNSPEC;
	extern bool_t BGl_numberzf3zf3zz__r4_numbers_6_5z00(obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__match_compilerz00(void);
	static obj_t BGl_z62zc3z04anonymousza31688ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_symbol2211z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2213z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2215z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t BGl_jimzd2gensymzd2zz__match_s2cfunz00;
	extern obj_t BGl_patternzd2carzd2zz__match_descriptionsz00(obj_t);
	static obj_t BGl_symbol2217z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t BGl_vectorzd2pluszd2zz__match_descriptionsz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31390ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_extendza2za2zz__match_compilerz00(obj_t, obj_t);
	extern obj_t BGl_patternzd2minuszd2zz__match_descriptionsz00(obj_t, obj_t);
	extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__match_compilerz00(void);
	static obj_t BGl_symbol2220z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_genericzd2initzd2zz__match_compilerz00(void);
	extern obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_symbol2224z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2226z00zz__match_compilerz00 = BUNSPEC;
	extern long bgl_list_length(obj_t);
	static obj_t BGl_z62instanciatezd2tryzb0zz__match_compilerz00(obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zz__match_compilerz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__match_compilerz00(void);
	static obj_t BGl_rzd2initzd2zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_objectzd2initzd2zz__match_compilerz00(void);
	static obj_t BGl_z62compileza2zc0zz__match_compilerz00(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_symbol2230z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t BGl_2zb2zb2zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_symbol2151z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2234z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_integersz00zz__match_compilerz00(obj_t, obj_t);
	static obj_t BGl_symbol2154z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2236z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2156z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2238z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2158z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_unfoldz00zz__match_compilerz00(obj_t, obj_t, obj_t);
	static obj_t BGl_compilezd2vectorzd2consz00zz__match_compilerz00(obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	extern bool_t BGl_2ze3ze3zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31473ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31392ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31627ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_z62mzd2initzb0zz__match_compilerz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31699ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_symbol2160z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2242z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2162z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2244z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2164z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2246z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t BGl_patternzd2cdrzd2zz__match_descriptionsz00(obj_t);
	static obj_t BGl_symbol2166z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2249z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2168z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t BGl_extendzd2vectorzd2zz__match_descriptionsz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31539ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_compilezd2varzd2zz__match_compilerz00(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_symbol2251z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2170z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_z62za7zd2initz17zz__match_compilerz00(obj_t, obj_t);
	static obj_t BGl_symbol2172z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2174z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t BGl_patternzd2variableszd2zz__match_descriptionsz00(obj_t);
	static obj_t BGl_symbol2176z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2178z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t bgl_bignum_add(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31403ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31483ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pcompilez00zz__match_compilerz00(obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_buildzd2letzd2zz__match_compilerz00(obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t make_vector(long, obj_t);
	static obj_t BGl_symbol2183z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_list2150z00zz__match_compilerz00 = BUNSPEC;
	extern obj_t c_substring(obj_t, long, long);
	static obj_t BGl_symbol2185z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2187z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2189z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31404ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31638ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31379ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zz__match_compilerz00(void);
	static obj_t BGl_symbol2191z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_list2240z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_list2241z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2193z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2196z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_symbol2199z00zz__match_compilerz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31413ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t BGl_atomzf3zf3zz__match_s2cfunz00(obj_t);
	static obj_t BGl_countzd2occurrenceszd2zz__match_compilerz00(obj_t, obj_t,
		long);
	static obj_t BGl_z62zc3z04anonymousza31663ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31647ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31477ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31414ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31406ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_compilezd2orzd2zz__match_compilerz00(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31389ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	extern obj_t bgl_bignum_sub(obj_t, obj_t);
	static obj_t BGl_compilezd2structzd2patz00zz__match_compilerz00(obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_z62kzd2initzb0zz__match_compilerz00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_compilezd2vectorzd2beginz00zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	extern obj_t bgl_long_to_bignum(long);
	static obj_t BGl_z62zc3z04anonymousza31513ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	extern bool_t BGl_2ze3zd3z30zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_buildzd2atomzd2equalityzd2testzd2zz__match_compilerz00(obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31488ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31514ze3ze5zz__match_compilerz00(obj_t,
		obj_t);
	extern obj_t BGl_patternzd2pluszd2zz__match_descriptionsz00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31417ze3ze5zz__match_compilerz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		BGL_DEFINE_STRING(BGl_string2200z00zz__match_compilerz00,
		BgL_bgl_string2200za700za7za7_2254za7, "vector-length", 13);
	      BGL_DEFINE_STRING(BGl_string2202z00zz__match_compilerz00,
		BgL_bgl_string2202za700za7za7_2255za7, "eq?", 3);
	      BGL_DEFINE_STRING(BGl_string2204z00zz__match_compilerz00,
		BgL_bgl_string2204za700za7za7_2256za7, "null?", 5);
	      BGL_DEFINE_STRING(BGl_string2206z00zz__match_compilerz00,
		BgL_bgl_string2206za700za7za7_2257za7, "flonum?", 7);
	      BGL_DEFINE_STRING(BGl_string2208z00zz__match_compilerz00,
		BgL_bgl_string2208za700za7za7_2258za7, "=fl", 3);
	      BGL_DEFINE_STRING(BGl_string2210z00zz__match_compilerz00,
		BgL_bgl_string2210za700za7za7_2259za7, "number?", 7);
	      BGL_DEFINE_STRING(BGl_string2212z00zz__match_compilerz00,
		BgL_bgl_string2212za700za7za7_2260za7, "=", 1);
	      BGL_DEFINE_STRING(BGl_string2214z00zz__match_compilerz00,
		BgL_bgl_string2214za700za7za7_2261za7, "string?", 7);
	      BGL_DEFINE_STRING(BGl_string2216z00zz__match_compilerz00,
		BgL_bgl_string2216za700za7za7_2262za7, "string=?", 8);
	      BGL_DEFINE_STRING(BGl_string2218z00zz__match_compilerz00,
		BgL_bgl_string2218za700za7za7_2263za7, "equal?", 6);
	      BGL_DEFINE_STRING(BGl_string2219z00zz__match_compilerz00,
		BgL_bgl_string2219za700za7za7_2264za7, "KAP-", 4);
	      BGL_DEFINE_STRING(BGl_string2221z00zz__match_compilerz00,
		BgL_bgl_string2221za700za7za7_2265za7, "labels", 6);
	      BGL_DEFINE_STRING(BGl_string2222z00zz__match_compilerz00,
		BgL_bgl_string2222za700za7za7_2266za7, "KAP", 3);
	      BGL_DEFINE_STRING(BGl_string2223z00zz__match_compilerz00,
		BgL_bgl_string2223za700za7za7_2267za7, "TAG", 3);
	      BGL_DEFINE_STRING(BGl_string2225z00zz__match_compilerz00,
		BgL_bgl_string2225za700za7za7_2268za7, "unbound", 7);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_kzd2initzd2envz00zz__match_compilerz00,
		BgL_bgl_za762kza7d2initza7b0za7za72269za7,
		BGl_z62kzd2initzb0zz__match_compilerz00, 0L, BUNSPEC, 3);
	      BGL_DEFINE_STRING(BGl_string2227z00zz__match_compilerz00,
		BgL_bgl_string2227za700za7za7_2270za7, "let", 3);
	      BGL_DEFINE_STRING(BGl_string2228z00zz__match_compilerz00,
		BgL_bgl_string2228za700za7za7_2271za7, "CAR-", 4);
	      BGL_DEFINE_STRING(BGl_string2229z00zz__match_compilerz00,
		BgL_bgl_string2229za700za7za7_2272za7, "CDR-", 4);
	      BGL_DEFINE_STRING(BGl_string2231z00zz__match_compilerz00,
		BgL_bgl_string2231za700za7za7_2273za7, "letrec", 6);
	      BGL_DEFINE_STRING(BGl_string2232z00zz__match_compilerz00,
		BgL_bgl_string2232za700za7za7_2274za7, "G-", 2);
	      BGL_DEFINE_STRING(BGl_string2233z00zz__match_compilerz00,
		BgL_bgl_string2233za700za7za7_2275za7, "TRY-", 4);
	      BGL_DEFINE_STRING(BGl_string2152z00zz__match_compilerz00,
		BgL_bgl_string2152za700za7za7_2276za7, "any", 3);
	      BGL_DEFINE_STRING(BGl_string2153z00zz__match_compilerz00,
		BgL_bgl_string2153za700za7za7_2277za7, "E-", 2);
	      BGL_DEFINE_STRING(BGl_string2235z00zz__match_compilerz00,
		BgL_bgl_string2235za700za7za7_2278za7, "vector", 6);
	      BGL_DEFINE_STRING(BGl_string2155z00zz__match_compilerz00,
		BgL_bgl_string2155za700za7za7_2279za7, "lambda", 6);
	      BGL_DEFINE_STRING(BGl_string2237z00zz__match_compilerz00,
		BgL_bgl_string2237za700za7za7_2280za7, ">=", 2);
	      BGL_DEFINE_STRING(BGl_string2157z00zz__match_compilerz00,
		BgL_bgl_string2157za700za7za7_2281za7, "check", 5);
	      BGL_DEFINE_STRING(BGl_string2239z00zz__match_compilerz00,
		BgL_bgl_string2239za700za7za7_2282za7, "vector?", 7);
	      BGL_DEFINE_STRING(BGl_string2159z00zz__match_compilerz00,
		BgL_bgl_string2159za700za7za7_2283za7, "if", 2);
	      BGL_DEFINE_STRING(BGl_string2161z00zz__match_compilerz00,
		BgL_bgl_string2161za700za7za7_2284za7, "quote", 5);
	      BGL_DEFINE_STRING(BGl_string2243z00zz__match_compilerz00,
		BgL_bgl_string2243za700za7za7_2285za7, "vector-ref", 10);
	      BGL_DEFINE_STRING(BGl_string2163z00zz__match_compilerz00,
		BgL_bgl_string2163za700za7za7_2286za7, "var", 3);
	      BGL_DEFINE_STRING(BGl_string2245z00zz__match_compilerz00,
		BgL_bgl_string2245za700za7za7_2287za7, "struct-ref", 10);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_mzd2initzd2envz00zz__match_compilerz00,
		BgL_bgl_za762mza7d2initza7b0za7za72288za7,
		BGl_z62mzd2initzb0zz__match_compilerz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string2165z00zz__match_compilerz00,
		BgL_bgl_string2165za700za7za7_2289za7, "not", 3);
	      BGL_DEFINE_STRING(BGl_string2247z00zz__match_compilerz00,
		BgL_bgl_string2247za700za7za7_2290za7, "dummy", 5);
	      BGL_DEFINE_STRING(BGl_string2248z00zz__match_compilerz00,
		BgL_bgl_string2248za700za7za7_2291za7, "No current repetition named", 27);
	      BGL_DEFINE_STRING(BGl_string2167z00zz__match_compilerz00,
		BgL_bgl_string2167za700za7za7_2292za7, "or", 2);
	      BGL_DEFINE_STRING(BGl_string2169z00zz__match_compilerz00,
		BgL_bgl_string2169za700za7za7_2293za7, "tagged-or", 9);
	      BGL_DEFINE_STRING(BGl_string2250z00zz__match_compilerz00,
		BgL_bgl_string2250za700za7za7_2294za7, "car", 3);
	      BGL_DEFINE_STRING(BGl_string2252z00zz__match_compilerz00,
		BgL_bgl_string2252za700za7za7_2295za7, "cdr", 3);
	      BGL_DEFINE_STRING(BGl_string2171z00zz__match_compilerz00,
		BgL_bgl_string2171za700za7za7_2296za7, "and", 3);
	      BGL_DEFINE_STRING(BGl_string2253z00zz__match_compilerz00,
		BgL_bgl_string2253za700za7za7_2297za7, "__match_compiler", 16);
	      BGL_DEFINE_STRING(BGl_string2173z00zz__match_compilerz00,
		BgL_bgl_string2173za700za7za7_2298za7, "cons", 4);
	      BGL_DEFINE_STRING(BGl_string2175z00zz__match_compilerz00,
		BgL_bgl_string2175za700za7za7_2299za7, "pair?", 5);
	      BGL_DEFINE_STRING(BGl_string2177z00zz__match_compilerz00,
		BgL_bgl_string2177za700za7za7_2300za7, "times", 5);
	      BGL_DEFINE_STRING(BGl_string2179z00zz__match_compilerz00,
		BgL_bgl_string2179za700za7za7_2301za7, "tree", 4);
	      BGL_DEFINE_STRING(BGl_string2180z00zz__match_compilerz00,
		BgL_bgl_string2180za700za7za7_2302za7, "Tree not yet allowed", 20);
	      BGL_DEFINE_STRING(BGl_string2181z00zz__match_compilerz00,
		BgL_bgl_string2181za700za7za7_2303za7, "Incorrect pattern: ", 19);
	      BGL_DEFINE_STRING(BGl_string2182z00zz__match_compilerz00,
		BgL_bgl_string2182za700za7za7_2304za7, " *** ", 5);
	      BGL_DEFINE_STRING(BGl_string2184z00zz__match_compilerz00,
		BgL_bgl_string2184za700za7za7_2305za7, "hole", 4);
	      BGL_DEFINE_STRING(BGl_string2186z00zz__match_compilerz00,
		BgL_bgl_string2186za700za7za7_2306za7, "vector-begin", 12);
	      BGL_DEFINE_STRING(BGl_string2188z00zz__match_compilerz00,
		BgL_bgl_string2188za700za7za7_2307za7, "vector-end", 10);
	      BGL_DEFINE_STRING(BGl_string2190z00zz__match_compilerz00,
		BgL_bgl_string2190za700za7za7_2308za7, "vector-any", 10);
	      BGL_DEFINE_STRING(BGl_string2192z00zz__match_compilerz00,
		BgL_bgl_string2192za700za7za7_2309za7, "vector-cons", 11);
	      BGL_DEFINE_STRING(BGl_string2194z00zz__match_compilerz00,
		BgL_bgl_string2194za700za7za7_2310za7, "vector-times", 12);
	      BGL_DEFINE_STRING(BGl_string2195z00zz__match_compilerz00,
		BgL_bgl_string2195za700za7za7_2311za7, "Not yet allowed", 15);
	      BGL_DEFINE_STRING(BGl_string2197z00zz__match_compilerz00,
		BgL_bgl_string2197za700za7za7_2312za7, "struct-pat", 10);
	      BGL_DEFINE_STRING(BGl_string2198z00zz__match_compilerz00,
		BgL_bgl_string2198za700za7za7_2313za7, "Unrecognized pattern", 20);
	     
		DEFINE_STATIC_BGL_PROCEDURE(BGl_za7zd2initzd2envza7zz__match_compilerz00,
		BgL_bgl_za762za7a7za7d2initza7172314z00,
		BGl_z62za7zd2initz17zz__match_compilerz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_pcompilezd2envzd2zz__match_compilerz00,
		BgL_bgl_za762pcompileza762za7za72315z00,
		BGl_z62pcompilez62zz__match_compilerz00, 0L, BUNSPEC, 1);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_pcompilezd2envzd2zz__match_compilerz00,
			BgL_bgl_za762pcompileza762za7za72315z00);
		BGL_BIND_PROCEDURE(BGl_za7zd2initzd2envza7zz__match_compilerz00,
			BgL_bgl_za762za7a7za7d2initza7172314z00);
		BGL_BIND_STRING(BGl_string2198z00zz__match_compilerz00,
			BgL_bgl_string2198za700za7za7_2313za7);
		BGL_BIND_STRING(BGl_string2197z00zz__match_compilerz00,
			BgL_bgl_string2197za700za7za7_2312za7);
		BGL_BIND_STRING(BGl_string2195z00zz__match_compilerz00,
			BgL_bgl_string2195za700za7za7_2311za7);
		BGL_BIND_STRING(BGl_string2194z00zz__match_compilerz00,
			BgL_bgl_string2194za700za7za7_2310za7);
		BGL_BIND_STRING(BGl_string2192z00zz__match_compilerz00,
			BgL_bgl_string2192za700za7za7_2309za7);
		BGL_BIND_STRING(BGl_string2190z00zz__match_compilerz00,
			BgL_bgl_string2190za700za7za7_2308za7);
		BGL_BIND_STRING(BGl_string2188z00zz__match_compilerz00,
			BgL_bgl_string2188za700za7za7_2307za7);
		BGL_BIND_STRING(BGl_string2186z00zz__match_compilerz00,
			BgL_bgl_string2186za700za7za7_2306za7);
		BGL_BIND_STRING(BGl_string2184z00zz__match_compilerz00,
			BgL_bgl_string2184za700za7za7_2305za7);
		BGL_BIND_STRING(BGl_string2182z00zz__match_compilerz00,
			BgL_bgl_string2182za700za7za7_2304za7);
		BGL_BIND_STRING(BGl_string2181z00zz__match_compilerz00,
			BgL_bgl_string2181za700za7za7_2303za7);
		BGL_BIND_STRING(BGl_string2180z00zz__match_compilerz00,
			BgL_bgl_string2180za700za7za7_2302za7);
		BGL_BIND_STRING(BGl_string2179z00zz__match_compilerz00,
			BgL_bgl_string2179za700za7za7_2301za7);
		BGL_BIND_STRING(BGl_string2177z00zz__match_compilerz00,
			BgL_bgl_string2177za700za7za7_2300za7);
		BGL_BIND_STRING(BGl_string2175z00zz__match_compilerz00,
			BgL_bgl_string2175za700za7za7_2299za7);
		BGL_BIND_STRING(BGl_string2173z00zz__match_compilerz00,
			BgL_bgl_string2173za700za7za7_2298za7);
		BGL_BIND_STRING(BGl_string2253z00zz__match_compilerz00,
			BgL_bgl_string2253za700za7za7_2297za7);
		BGL_BIND_STRING(BGl_string2171z00zz__match_compilerz00,
			BgL_bgl_string2171za700za7za7_2296za7);
		BGL_BIND_STRING(BGl_string2252z00zz__match_compilerz00,
			BgL_bgl_string2252za700za7za7_2295za7);
		BGL_BIND_STRING(BGl_string2250z00zz__match_compilerz00,
			BgL_bgl_string2250za700za7za7_2294za7);
		BGL_BIND_STRING(BGl_string2169z00zz__match_compilerz00,
			BgL_bgl_string2169za700za7za7_2293za7);
		BGL_BIND_STRING(BGl_string2167z00zz__match_compilerz00,
			BgL_bgl_string2167za700za7za7_2292za7);
		BGL_BIND_STRING(BGl_string2248z00zz__match_compilerz00,
			BgL_bgl_string2248za700za7za7_2291za7);
		BGL_BIND_STRING(BGl_string2247z00zz__match_compilerz00,
			BgL_bgl_string2247za700za7za7_2290za7);
		BGL_BIND_STRING(BGl_string2165z00zz__match_compilerz00,
			BgL_bgl_string2165za700za7za7_2289za7);
		BGL_BIND_PROCEDURE(BGl_mzd2initzd2envz00zz__match_compilerz00,
			BgL_bgl_za762mza7d2initza7b0za7za72288za7);
		BGL_BIND_STRING(BGl_string2245z00zz__match_compilerz00,
			BgL_bgl_string2245za700za7za7_2287za7);
		BGL_BIND_STRING(BGl_string2163z00zz__match_compilerz00,
			BgL_bgl_string2163za700za7za7_2286za7);
		BGL_BIND_STRING(BGl_string2243z00zz__match_compilerz00,
			BgL_bgl_string2243za700za7za7_2285za7);
		BGL_BIND_STRING(BGl_string2161z00zz__match_compilerz00,
			BgL_bgl_string2161za700za7za7_2284za7);
		BGL_BIND_STRING(BGl_string2159z00zz__match_compilerz00,
			BgL_bgl_string2159za700za7za7_2283za7);
		BGL_BIND_STRING(BGl_string2239z00zz__match_compilerz00,
			BgL_bgl_string2239za700za7za7_2282za7);
		BGL_BIND_STRING(BGl_string2157z00zz__match_compilerz00,
			BgL_bgl_string2157za700za7za7_2281za7);
		BGL_BIND_STRING(BGl_string2237z00zz__match_compilerz00,
			BgL_bgl_string2237za700za7za7_2280za7);
		BGL_BIND_STRING(BGl_string2155z00zz__match_compilerz00,
			BgL_bgl_string2155za700za7za7_2279za7);
		BGL_BIND_STRING(BGl_string2235z00zz__match_compilerz00,
			BgL_bgl_string2235za700za7za7_2278za7);
		BGL_BIND_STRING(BGl_string2153z00zz__match_compilerz00,
			BgL_bgl_string2153za700za7za7_2277za7);
		BGL_BIND_STRING(BGl_string2152z00zz__match_compilerz00,
			BgL_bgl_string2152za700za7za7_2276za7);
		BGL_BIND_STRING(BGl_string2233z00zz__match_compilerz00,
			BgL_bgl_string2233za700za7za7_2275za7);
		BGL_BIND_STRING(BGl_string2232z00zz__match_compilerz00,
			BgL_bgl_string2232za700za7za7_2274za7);
		BGL_BIND_STRING(BGl_string2231z00zz__match_compilerz00,
			BgL_bgl_string2231za700za7za7_2273za7);
		BGL_BIND_STRING(BGl_string2229z00zz__match_compilerz00,
			BgL_bgl_string2229za700za7za7_2272za7);
		BGL_BIND_STRING(BGl_string2228z00zz__match_compilerz00,
			BgL_bgl_string2228za700za7za7_2271za7);
		BGL_BIND_STRING(BGl_string2227z00zz__match_compilerz00,
			BgL_bgl_string2227za700za7za7_2270za7);
		BGL_BIND_PROCEDURE(BGl_kzd2initzd2envz00zz__match_compilerz00,
			BgL_bgl_za762kza7d2initza7b0za7za72269za7);
		BGL_BIND_STRING(BGl_string2225z00zz__match_compilerz00,
			BgL_bgl_string2225za700za7za7_2268za7);
		BGL_BIND_STRING(BGl_string2223z00zz__match_compilerz00,
			BgL_bgl_string2223za700za7za7_2267za7);
		BGL_BIND_STRING(BGl_string2222z00zz__match_compilerz00,
			BgL_bgl_string2222za700za7za7_2266za7);
		BGL_BIND_STRING(BGl_string2221z00zz__match_compilerz00,
			BgL_bgl_string2221za700za7za7_2265za7);
		BGL_BIND_STRING(BGl_string2219z00zz__match_compilerz00,
			BgL_bgl_string2219za700za7za7_2264za7);
		BGL_BIND_STRING(BGl_string2218z00zz__match_compilerz00,
			BgL_bgl_string2218za700za7za7_2263za7);
		BGL_BIND_STRING(BGl_string2216z00zz__match_compilerz00,
			BgL_bgl_string2216za700za7za7_2262za7);
		BGL_BIND_STRING(BGl_string2214z00zz__match_compilerz00,
			BgL_bgl_string2214za700za7za7_2261za7);
		BGL_BIND_STRING(BGl_string2212z00zz__match_compilerz00,
			BgL_bgl_string2212za700za7za7_2260za7);
		BGL_BIND_STRING(BGl_string2210z00zz__match_compilerz00,
			BgL_bgl_string2210za700za7za7_2259za7);
		BGL_BIND_STRING(BGl_string2208z00zz__match_compilerz00,
			BgL_bgl_string2208za700za7za7_2258za7);
		BGL_BIND_STRING(BGl_string2206z00zz__match_compilerz00,
			BgL_bgl_string2206za700za7za7_2257za7);
		BGL_BIND_STRING(BGl_string2204z00zz__match_compilerz00,
			BgL_bgl_string2204za700za7za7_2256za7);
		BGL_BIND_STRING(BGl_string2202z00zz__match_compilerz00,
			BgL_bgl_string2202za700za7za7_2255za7);
		BGL_BIND_STRING(BGl_string2200z00zz__match_compilerz00,
			BgL_bgl_string2200za700za7za7_2254za7);
	}

/* 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_dzd2initzd2zz__match_compilerz00));
		ADD_ROOT((void
				*) (&BGl_requirezd2initializa7ationz75zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2201z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2203z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2205z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2207z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2209z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2211z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2213z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2215z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2217z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2220z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2224z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2226z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_rzd2initzd2zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2230z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2151z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2234z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2154z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2236z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2156z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2238z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2158z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2160z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2242z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2162z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2244z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2164z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2246z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2166z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2249z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2168z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2251z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2170z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2172z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2174z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2176z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2178z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2183z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_list2150z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2185z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2187z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2189z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2191z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_list2240z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_list2241z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2193z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2196z00zz__match_compilerz00));
		ADD_ROOT((void *) (&BGl_symbol2199z00zz__match_compilerz00));
#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__match_compilerz00(long
		BgL_checksumz00_3814, char *BgL_fromz00_3815)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__match_compilerz00))
				{
					BGl_requirezd2initializa7ationz75zz__match_compilerz00 =
						BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__match_compilerz00();
					BGl_cnstzd2initzd2zz__match_compilerz00();
					BGl_importedzd2moduleszd2initz00zz__match_compilerz00();
					return BGl_toplevelzd2initzd2zz__match_compilerz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__match_compilerz00(void)
	{
		{	/* Match/compiler.scm 26 */
			BGl_symbol2151z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2152z00zz__match_compilerz00);
			BGl_list2150z00zz__match_compilerz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2151z00zz__match_compilerz00, BNIL);
			BGl_symbol2154z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2155z00zz__match_compilerz00);
			BGl_symbol2156z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2157z00zz__match_compilerz00);
			BGl_symbol2158z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2159z00zz__match_compilerz00);
			BGl_symbol2160z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2161z00zz__match_compilerz00);
			BGl_symbol2162z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2163z00zz__match_compilerz00);
			BGl_symbol2164z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2165z00zz__match_compilerz00);
			BGl_symbol2166z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2167z00zz__match_compilerz00);
			BGl_symbol2168z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2169z00zz__match_compilerz00);
			BGl_symbol2170z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2171z00zz__match_compilerz00);
			BGl_symbol2172z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2173z00zz__match_compilerz00);
			BGl_symbol2174z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2175z00zz__match_compilerz00);
			BGl_symbol2176z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2177z00zz__match_compilerz00);
			BGl_symbol2178z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2179z00zz__match_compilerz00);
			BGl_symbol2183z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2184z00zz__match_compilerz00);
			BGl_symbol2185z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2186z00zz__match_compilerz00);
			BGl_symbol2187z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2188z00zz__match_compilerz00);
			BGl_symbol2189z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2190z00zz__match_compilerz00);
			BGl_symbol2191z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2192z00zz__match_compilerz00);
			BGl_symbol2193z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2194z00zz__match_compilerz00);
			BGl_symbol2196z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2197z00zz__match_compilerz00);
			BGl_symbol2199z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2200z00zz__match_compilerz00);
			BGl_symbol2201z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2202z00zz__match_compilerz00);
			BGl_symbol2203z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2204z00zz__match_compilerz00);
			BGl_symbol2205z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2206z00zz__match_compilerz00);
			BGl_symbol2207z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2208z00zz__match_compilerz00);
			BGl_symbol2209z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2210z00zz__match_compilerz00);
			BGl_symbol2211z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2212z00zz__match_compilerz00);
			BGl_symbol2213z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2214z00zz__match_compilerz00);
			BGl_symbol2215z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2216z00zz__match_compilerz00);
			BGl_symbol2217z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2218z00zz__match_compilerz00);
			BGl_symbol2220z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2221z00zz__match_compilerz00);
			BGl_symbol2224z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2225z00zz__match_compilerz00);
			BGl_symbol2226z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2227z00zz__match_compilerz00);
			BGl_symbol2230z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2231z00zz__match_compilerz00);
			BGl_symbol2234z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2235z00zz__match_compilerz00);
			BGl_symbol2236z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2237z00zz__match_compilerz00);
			BGl_symbol2238z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2239z00zz__match_compilerz00);
			BGl_list2241z00zz__match_compilerz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2234z00zz__match_compilerz00, BNIL);
			BGl_list2240z00zz__match_compilerz00 =
				MAKE_YOUNG_PAIR(BGl_symbol2164z00zz__match_compilerz00,
				MAKE_YOUNG_PAIR(BGl_list2241z00zz__match_compilerz00, BNIL));
			BGl_symbol2242z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2243z00zz__match_compilerz00);
			BGl_symbol2244z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2245z00zz__match_compilerz00);
			BGl_symbol2246z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2247z00zz__match_compilerz00);
			BGl_symbol2249z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2250z00zz__match_compilerz00);
			return (BGl_symbol2251z00zz__match_compilerz00 =
				bstring_to_symbol(BGl_string2252z00zz__match_compilerz00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__match_compilerz00(void)
	{
		{	/* Match/compiler.scm 26 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__match_compilerz00(void)
	{
		{	/* Match/compiler.scm 26 */
			BGl_dzd2initzd2zz__match_compilerz00 =
				BGl_list2150z00zz__match_compilerz00;
			return (BGl_rzd2initzd2zz__match_compilerz00 = BNIL, BUNSPEC);
		}

	}



/* pcompile */
	BGL_EXPORTED_DEF obj_t BGl_pcompilez00zz__match_compilerz00(obj_t BgL_fz00_3)
	{
		{	/* Match/compiler.scm 64 */
			{	/* Match/compiler.scm 65 */
				obj_t BgL_sz00_1413;

				BgL_sz00_1413 =
					BGL_PROCEDURE_CALL1(BGl_jimzd2gensymzd2zz__match_s2cfunz00,
					BGl_string2153z00zz__match_compilerz00);
				{	/* Match/compiler.scm 66 */
					obj_t BgL_arg1208z00_1414;

					{	/* Match/compiler.scm 66 */
						obj_t BgL_arg1211z00_1415;
						obj_t BgL_arg1213z00_1416;

						BgL_arg1211z00_1415 = MAKE_YOUNG_PAIR(BgL_sz00_1413, BNIL);
						BgL_arg1213z00_1416 =
							MAKE_YOUNG_PAIR(BGl_compilez00zz__match_compilerz00(BgL_fz00_3,
								BgL_sz00_1413, BNIL, BGl_mzd2initzd2envz00zz__match_compilerz00,
								BGl_kzd2initzd2envz00zz__match_compilerz00,
								BGl_za7zd2initzd2envza7zz__match_compilerz00,
								BGl_list2150z00zz__match_compilerz00), BNIL);
						BgL_arg1208z00_1414 =
							MAKE_YOUNG_PAIR(BgL_arg1211z00_1415, BgL_arg1213z00_1416);
					}
					return
						MAKE_YOUNG_PAIR(BGl_symbol2154z00zz__match_compilerz00,
						BgL_arg1208z00_1414);
				}
			}
		}

	}



/* &pcompile */
	obj_t BGl_z62pcompilez62zz__match_compilerz00(obj_t BgL_envz00_3441,
		obj_t BgL_fz00_3442)
	{
		{	/* Match/compiler.scm 64 */
			return BGl_pcompilez00zz__match_compilerz00(BgL_fz00_3442);
		}

	}



/* compile */
	obj_t BGl_compilez00zz__match_compilerz00(obj_t BgL_fz00_4, obj_t BgL_ez00_5,
		obj_t BgL_rz00_6, obj_t BgL_mz00_7, obj_t BgL_kz00_8, obj_t BgL_za7za7_9,
		obj_t BgL_dz00_10)
	{
		{	/* Match/compiler.scm 70 */
		BGl_compilez00zz__match_compilerz00:
			if (CBOOL(BGl_morezd2precisezf3z21zz__match_descriptionsz00(BgL_dz00_10,
						BgL_fz00_4)))
				{	/* Match/compiler.scm 72 */
					return
						BGL_PROCEDURE_CALL3(BgL_kz00_8, BgL_rz00_6, BgL_za7za7_9,
						BgL_dz00_10);
				}
			else
				{	/* Match/compiler.scm 72 */
					if (CBOOL(BGl_compatiblezf3zf3zz__match_descriptionsz00(BgL_dz00_10,
								BgL_fz00_4)))
						{	/* Match/compiler.scm 74 */
							obj_t BgL_casezd2valuezd2_1420;

							BgL_casezd2valuezd2_1420 = CAR(((obj_t) BgL_fz00_4));
							if (
								(BgL_casezd2valuezd2_1420 ==
									BGl_symbol2151z00zz__match_compilerz00))
								{	/* Match/compiler.scm 74 */
									return
										BGL_PROCEDURE_CALL3(BgL_kz00_8, BgL_rz00_6, BgL_za7za7_9,
										BgL_dz00_10);
								}
							else
								{	/* Match/compiler.scm 74 */
									if (
										(BgL_casezd2valuezd2_1420 ==
											BGl_symbol2156z00zz__match_compilerz00))
										{	/* Match/compiler.scm 76 */
											obj_t BgL_arg1224z00_1423;

											{	/* Match/compiler.scm 76 */
												obj_t BgL_pairz00_2465;

												BgL_pairz00_2465 = CDR(((obj_t) BgL_fz00_4));
												BgL_arg1224z00_1423 = CAR(BgL_pairz00_2465);
											}
											{	/* Match/compiler.scm 112 */
												obj_t BgL_arg1291z00_2466;

												{	/* Match/compiler.scm 112 */
													obj_t BgL_arg1292z00_2467;
													obj_t BgL_arg1293z00_2468;

													{	/* Match/compiler.scm 112 */
														obj_t BgL_arg1295z00_2469;

														BgL_arg1295z00_2469 =
															MAKE_YOUNG_PAIR(BgL_ez00_5, BNIL);
														BgL_arg1292z00_2467 =
															MAKE_YOUNG_PAIR(BgL_arg1224z00_1423,
															BgL_arg1295z00_2469);
													}
													{	/* Match/compiler.scm 113 */
														obj_t BgL_arg1296z00_2470;
														obj_t BgL_arg1298z00_2471;

														BgL_arg1296z00_2470 =
															BGL_PROCEDURE_CALL3(BgL_kz00_8, BgL_rz00_6,
															BgL_za7za7_9, BgL_dz00_10);
														{	/* Match/compiler.scm 114 */
															obj_t BgL_arg1301z00_2472;

															BgL_arg1301z00_2472 =
																BGL_PROCEDURE_CALL1(BgL_za7za7_9, BgL_dz00_10);
															BgL_arg1298z00_2471 =
																MAKE_YOUNG_PAIR(BgL_arg1301z00_2472, BNIL);
														}
														BgL_arg1293z00_2468 =
															MAKE_YOUNG_PAIR(BgL_arg1296z00_2470,
															BgL_arg1298z00_2471);
													}
													BgL_arg1291z00_2466 =
														MAKE_YOUNG_PAIR(BgL_arg1292z00_2467,
														BgL_arg1293z00_2468);
												}
												return
													MAKE_YOUNG_PAIR
													(BGl_symbol2158z00zz__match_compilerz00,
													BgL_arg1291z00_2466);
											}
										}
									else
										{	/* Match/compiler.scm 74 */
											if (
												(BgL_casezd2valuezd2_1420 ==
													BGl_symbol2160z00zz__match_compilerz00))
												{	/* Match/compiler.scm 138 */
													obj_t BgL_arg1368z00_2474;
													obj_t BgL_arg1369z00_2475;
													obj_t BgL_arg1370z00_2476;

													{	/* Match/compiler.scm 138 */
														obj_t BgL_arg1371z00_2477;

														{	/* Match/compiler.scm 138 */
															obj_t BgL_pairz00_2485;

															BgL_pairz00_2485 = CDR(((obj_t) BgL_fz00_4));
															BgL_arg1371z00_2477 = CAR(BgL_pairz00_2485);
														}
														BgL_arg1368z00_2474 =
															BGl_buildzd2atomzd2equalityzd2testzd2zz__match_compilerz00
															(BgL_ez00_5, BgL_arg1371z00_2477);
													}
													{	/* Match/compiler.scm 139 */
														obj_t BgL_arg1372z00_2478;

														{	/* Match/compiler.scm 139 */
															obj_t BgL_arg1373z00_2479;

															{	/* Match/compiler.scm 139 */
																obj_t BgL_arg1374z00_2480;

																{	/* Match/compiler.scm 139 */
																	obj_t BgL_pairz00_2489;

																	BgL_pairz00_2489 = CDR(((obj_t) BgL_fz00_4));
																	BgL_arg1374z00_2480 = CAR(BgL_pairz00_2489);
																}
																BgL_arg1373z00_2479 =
																	MAKE_YOUNG_PAIR(BgL_arg1374z00_2480, BNIL);
															}
															BgL_arg1372z00_2478 =
																MAKE_YOUNG_PAIR
																(BGl_symbol2160z00zz__match_compilerz00,
																BgL_arg1373z00_2479);
														}
														BgL_arg1369z00_2475 =
															BGL_PROCEDURE_CALL3(BgL_kz00_8, BgL_rz00_6,
															BgL_za7za7_9, BgL_arg1372z00_2478);
													}
													{	/* Match/compiler.scm 140 */
														obj_t BgL_arg1376z00_2481;

														BgL_arg1376z00_2481 =
															BGl_patternzd2minuszd2zz__match_descriptionsz00
															(BgL_dz00_10, BgL_fz00_4);
														BgL_arg1370z00_2476 =
															BGL_PROCEDURE_CALL1(BgL_za7za7_9,
															BgL_arg1376z00_2481);
													}
													return
														BGl_buildzd2ifzd2zz__match_compilerz00
														(BgL_arg1368z00_2474, BgL_arg1369z00_2475,
														BgL_arg1370z00_2476);
												}
											else
												{	/* Match/compiler.scm 74 */
													if (
														(BgL_casezd2valuezd2_1420 ==
															BGl_symbol2162z00zz__match_compilerz00))
														{	/* Match/compiler.scm 78 */
															obj_t BgL_arg1230z00_1426;

															{	/* Match/compiler.scm 78 */
																obj_t BgL_pairz00_2494;

																BgL_pairz00_2494 = CDR(((obj_t) BgL_fz00_4));
																BgL_arg1230z00_1426 = CAR(BgL_pairz00_2494);
															}
															BGL_TAIL return
																BGl_compilezd2varzd2zz__match_compilerz00
																(BgL_arg1230z00_1426, BgL_ez00_5, BgL_rz00_6,
																BgL_mz00_7, BgL_kz00_8, BgL_za7za7_9,
																BgL_dz00_10);
														}
													else
														{	/* Match/compiler.scm 74 */
															if (
																(BgL_casezd2valuezd2_1420 ==
																	BGl_symbol2164z00zz__match_compilerz00))
																{	/* Match/compiler.scm 79 */
																	obj_t BgL_arg1232z00_1428;

																	{	/* Match/compiler.scm 79 */
																		obj_t BgL_pairz00_2499;

																		BgL_pairz00_2499 =
																			CDR(((obj_t) BgL_fz00_4));
																		BgL_arg1232z00_1428 = CAR(BgL_pairz00_2499);
																	}
																	{	/* Match/compiler.scm 143 */
																		obj_t BgL_zc3z04anonymousza31380ze3z87_3451;
																		obj_t BgL_zc3z04anonymousza31379ze3z87_3452;

																		BgL_zc3z04anonymousza31380ze3z87_3451 =
																			MAKE_FX_PROCEDURE
																			(BGl_z62zc3z04anonymousza31380ze3ze5zz__match_compilerz00,
																			(int) (1L), (int) (3L));
																		BgL_zc3z04anonymousza31379ze3z87_3452 =
																			MAKE_FX_PROCEDURE
																			(BGl_z62zc3z04anonymousza31379ze3ze5zz__match_compilerz00,
																			(int) (3L), (int) (1L));
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31380ze3z87_3451,
																			(int) (0L), BgL_kz00_8);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31380ze3z87_3451,
																			(int) (1L), BgL_rz00_6);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31380ze3z87_3451,
																			(int) (2L), BgL_za7za7_9);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31379ze3z87_3452,
																			(int) (0L), BgL_za7za7_9);
																		{
																			obj_t BgL_za7za7_3975;
																			obj_t BgL_kz00_3974;
																			obj_t BgL_fz00_3973;

																			BgL_fz00_3973 = BgL_arg1232z00_1428;
																			BgL_kz00_3974 =
																				BgL_zc3z04anonymousza31379ze3z87_3452;
																			BgL_za7za7_3975 =
																				BgL_zc3z04anonymousza31380ze3z87_3451;
																			BgL_za7za7_9 = BgL_za7za7_3975;
																			BgL_kz00_8 = BgL_kz00_3974;
																			BgL_fz00_4 = BgL_fz00_3973;
																			goto BGl_compilez00zz__match_compilerz00;
																		}
																	}
																}
															else
																{	/* Match/compiler.scm 74 */
																	if (
																		(BgL_casezd2valuezd2_1420 ==
																			BGl_symbol2166z00zz__match_compilerz00))
																		{	/* Match/compiler.scm 80 */
																			obj_t BgL_arg1234z00_1430;
																			obj_t BgL_arg1235z00_1431;

																			{	/* Match/compiler.scm 80 */
																				obj_t BgL_pairz00_2510;

																				BgL_pairz00_2510 =
																					CDR(((obj_t) BgL_fz00_4));
																				BgL_arg1234z00_1430 =
																					CAR(BgL_pairz00_2510);
																			}
																			{	/* Match/compiler.scm 80 */
																				obj_t BgL_pairz00_2516;

																				{	/* Match/compiler.scm 80 */
																					obj_t BgL_pairz00_2515;

																					BgL_pairz00_2515 =
																						CDR(((obj_t) BgL_fz00_4));
																					BgL_pairz00_2516 =
																						CDR(BgL_pairz00_2515);
																				}
																				BgL_arg1235z00_1431 =
																					CAR(BgL_pairz00_2516);
																			}
																			return
																				BGl_compilezd2orzd2zz__match_compilerz00
																				(BgL_arg1234z00_1430,
																				BgL_arg1235z00_1431, BgL_ez00_5,
																				BgL_rz00_6, BgL_mz00_7, BgL_kz00_8,
																				BgL_za7za7_9, BgL_dz00_10);
																		}
																	else
																		{	/* Match/compiler.scm 74 */
																			if (
																				(BgL_casezd2valuezd2_1420 ==
																					BGl_symbol2168z00zz__match_compilerz00))
																				{	/* Match/compiler.scm 81 */
																					obj_t BgL_arg1239z00_1433;
																					obj_t BgL_arg1241z00_1434;
																					obj_t BgL_arg1242z00_1435;

																					{	/* Match/compiler.scm 81 */
																						obj_t BgL_pairz00_2521;

																						BgL_pairz00_2521 =
																							CDR(((obj_t) BgL_fz00_4));
																						BgL_arg1239z00_1433 =
																							CAR(BgL_pairz00_2521);
																					}
																					{	/* Match/compiler.scm 81 */
																						obj_t BgL_pairz00_2527;

																						{	/* Match/compiler.scm 81 */
																							obj_t BgL_pairz00_2526;

																							BgL_pairz00_2526 =
																								CDR(((obj_t) BgL_fz00_4));
																							BgL_pairz00_2527 =
																								CDR(BgL_pairz00_2526);
																						}
																						BgL_arg1241z00_1434 =
																							CAR(BgL_pairz00_2527);
																					}
																					{	/* Match/compiler.scm 81 */
																						obj_t BgL_pairz00_2535;

																						{	/* Match/compiler.scm 81 */
																							obj_t BgL_pairz00_2534;

																							{	/* Match/compiler.scm 81 */
																								obj_t BgL_pairz00_2533;

																								BgL_pairz00_2533 =
																									CDR(((obj_t) BgL_fz00_4));
																								BgL_pairz00_2534 =
																									CDR(BgL_pairz00_2533);
																							}
																							BgL_pairz00_2535 =
																								CDR(BgL_pairz00_2534);
																						}
																						BgL_arg1242z00_1435 =
																							CAR(BgL_pairz00_2535);
																					}
																					{	/* Match/compiler.scm 196 */
																						obj_t BgL_za2varsza2z00_2536;

																						BgL_za2varsza2z00_2536 =
																							BGl_patternzd2variableszd2zz__match_descriptionsz00
																							(BgL_arg1239z00_1433);
																						{	/* Match/compiler.scm 199 */
																							obj_t
																								BgL_zc3z04anonymousza31414ze3z87_3453;
																							obj_t
																								BgL_zc3z04anonymousza31413ze3z87_3454;
																							BgL_zc3z04anonymousza31414ze3z87_3453
																								=
																								MAKE_FX_PROCEDURE
																								(BGl_z62zc3z04anonymousza31414ze3ze5zz__match_compilerz00,
																								(int) (1L), (int) (6L));
																							BgL_zc3z04anonymousza31413ze3z87_3454
																								=
																								MAKE_FX_PROCEDURE
																								(BGl_z62zc3z04anonymousza31413ze3ze5zz__match_compilerz00,
																								(int) (3L), (int) (2L));
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31414ze3z87_3453,
																								(int) (0L),
																								BgL_arg1242z00_1435);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31414ze3z87_3453,
																								(int) (1L), BgL_ez00_5);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31414ze3z87_3453,
																								(int) (2L), BgL_rz00_6);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31414ze3z87_3453,
																								(int) (3L), BgL_mz00_7);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31414ze3z87_3453,
																								(int) (4L), BgL_kz00_8);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31414ze3z87_3453,
																								(int) (5L), BgL_za7za7_9);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31413ze3z87_3454,
																								(int) (0L),
																								BgL_arg1241z00_1434);
																							PROCEDURE_SET
																								(BgL_zc3z04anonymousza31413ze3z87_3454,
																								(int) (1L),
																								BgL_za2varsza2z00_2536);
																							{
																								obj_t BgL_za7za7_4025;
																								obj_t BgL_kz00_4024;
																								obj_t BgL_fz00_4023;

																								BgL_fz00_4023 =
																									BgL_arg1239z00_1433;
																								BgL_kz00_4024 =
																									BgL_zc3z04anonymousza31413ze3z87_3454;
																								BgL_za7za7_4025 =
																									BgL_zc3z04anonymousza31414ze3z87_3453;
																								BgL_za7za7_9 = BgL_za7za7_4025;
																								BgL_kz00_8 = BgL_kz00_4024;
																								BgL_fz00_4 = BgL_fz00_4023;
																								goto
																									BGl_compilez00zz__match_compilerz00;
																							}
																						}
																					}
																				}
																			else
																				{	/* Match/compiler.scm 74 */
																					if (
																						(BgL_casezd2valuezd2_1420 ==
																							BGl_symbol2170z00zz__match_compilerz00))
																						{	/* Match/compiler.scm 83 */
																							obj_t BgL_arg1248z00_1437;
																							obj_t BgL_arg1249z00_1438;

																							{	/* Match/compiler.scm 83 */
																								obj_t BgL_pairz00_2547;

																								BgL_pairz00_2547 =
																									CDR(((obj_t) BgL_fz00_4));
																								BgL_arg1248z00_1437 =
																									CAR(BgL_pairz00_2547);
																							}
																							{	/* Match/compiler.scm 83 */
																								obj_t BgL_pairz00_2553;

																								{	/* Match/compiler.scm 83 */
																									obj_t BgL_pairz00_2552;

																									BgL_pairz00_2552 =
																										CDR(((obj_t) BgL_fz00_4));
																									BgL_pairz00_2553 =
																										CDR(BgL_pairz00_2552);
																								}
																								BgL_arg1249z00_1438 =
																									CAR(BgL_pairz00_2553);
																							}
																							if (CBOOL
																								(BGl_compatiblezf3zf3zz__match_descriptionsz00
																									(BgL_arg1248z00_1437,
																										BgL_arg1249z00_1438)))
																								{	/* Match/compiler.scm 208 */
																									obj_t
																										BgL_zc3z04anonymousza31417ze3z87_3455;
																									BgL_zc3z04anonymousza31417ze3z87_3455
																										=
																										MAKE_FX_PROCEDURE
																										(BGl_z62zc3z04anonymousza31417ze3ze5zz__match_compilerz00,
																										(int) (3L), (int) (4L));
																									PROCEDURE_SET
																										(BgL_zc3z04anonymousza31417ze3z87_3455,
																										(int) (0L),
																										BgL_arg1249z00_1438);
																									PROCEDURE_SET
																										(BgL_zc3z04anonymousza31417ze3z87_3455,
																										(int) (1L), BgL_ez00_5);
																									PROCEDURE_SET
																										(BgL_zc3z04anonymousza31417ze3z87_3455,
																										(int) (2L), BgL_mz00_7);
																									PROCEDURE_SET
																										(BgL_zc3z04anonymousza31417ze3z87_3455,
																										(int) (3L), BgL_kz00_8);
																									{
																										obj_t BgL_kz00_4050;
																										obj_t BgL_fz00_4049;

																										BgL_fz00_4049 =
																											BgL_arg1248z00_1437;
																										BgL_kz00_4050 =
																											BgL_zc3z04anonymousza31417ze3z87_3455;
																										BgL_kz00_8 = BgL_kz00_4050;
																										BgL_fz00_4 = BgL_fz00_4049;
																										goto
																											BGl_compilez00zz__match_compilerz00;
																									}
																								}
																							else
																								{	/* Match/compiler.scm 205 */
																									return
																										BGL_PROCEDURE_CALL1
																										(BgL_za7za7_9, BgL_dz00_10);
																								}
																						}
																					else
																						{	/* Match/compiler.scm 74 */
																							if (
																								(BgL_casezd2valuezd2_1420 ==
																									BGl_symbol2172z00zz__match_compilerz00))
																								{	/* Match/compiler.scm 84 */
																									obj_t BgL_arg1252z00_1440;
																									obj_t BgL_arg1253z00_1441;

																									{	/* Match/compiler.scm 84 */
																										obj_t BgL_pairz00_2563;

																										BgL_pairz00_2563 =
																											CDR(((obj_t) BgL_fz00_4));
																										BgL_arg1252z00_1440 =
																											CAR(BgL_pairz00_2563);
																									}
																									{	/* Match/compiler.scm 84 */
																										obj_t BgL_pairz00_2569;

																										{	/* Match/compiler.scm 84 */
																											obj_t BgL_pairz00_2568;

																											BgL_pairz00_2568 =
																												CDR(
																												((obj_t) BgL_fz00_4));
																											BgL_pairz00_2569 =
																												CDR(BgL_pairz00_2568);
																										}
																										BgL_arg1253z00_1441 =
																											CAR(BgL_pairz00_2569);
																									}
																									if (
																										(CAR(
																												((obj_t) BgL_dz00_10))
																											==
																											BGl_symbol2172z00zz__match_compilerz00))
																										{	/* Match/compiler.scm 250 */
																											return
																												BGl_succeszd2conszd2zz__match_compilerz00
																												(BgL_arg1252z00_1440,
																												BgL_arg1253z00_1441,
																												BgL_ez00_5, BgL_rz00_6,
																												BgL_mz00_7, BgL_kz00_8,
																												BgL_za7za7_9,
																												BgL_dz00_10);
																										}
																									else
																										{	/* Match/compiler.scm 252 */
																											obj_t BgL_arg1457z00_2571;

																											{	/* Match/compiler.scm 252 */
																												obj_t
																													BgL_arg1458z00_2572;
																												obj_t
																													BgL_arg1459z00_2573;
																												{	/* Match/compiler.scm 252 */
																													obj_t
																														BgL_arg1460z00_2574;
																													BgL_arg1460z00_2574 =
																														MAKE_YOUNG_PAIR
																														(BgL_ez00_5, BNIL);
																													BgL_arg1458z00_2572 =
																														MAKE_YOUNG_PAIR
																														(BGl_symbol2174z00zz__match_compilerz00,
																														BgL_arg1460z00_2574);
																												}
																												{	/* Match/compiler.scm 253 */
																													obj_t
																														BgL_arg1461z00_2575;
																													obj_t
																														BgL_arg1462z00_2576;
																													BgL_arg1461z00_2575 =
																														BGl_succeszd2conszd2zz__match_compilerz00
																														(BgL_arg1252z00_1440,
																														BgL_arg1253z00_1441,
																														BgL_ez00_5,
																														BgL_rz00_6,
																														BgL_mz00_7,
																														BgL_kz00_8,
																														BgL_za7za7_9,
																														BgL_dz00_10);
																													{	/* Match/compiler.scm 254 */
																														obj_t
																															BgL_arg1464z00_2577;
																														{	/* Match/compiler.scm 254 */
																															obj_t
																																BgL_arg1465z00_2578;
																															{	/* Match/compiler.scm 254 */
																																obj_t
																																	BgL_arg1466z00_2579;
																																{	/* Match/compiler.scm 254 */
																																	obj_t
																																		BgL_list1467z00_2580;
																																	{	/* Match/compiler.scm 254 */
																																		obj_t
																																			BgL_arg1468z00_2581;
																																		{	/* Match/compiler.scm 254 */
																																			obj_t
																																				BgL_arg1469z00_2582;
																																			BgL_arg1469z00_2582
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BGl_list2150z00zz__match_compilerz00,
																																				BNIL);
																																			BgL_arg1468z00_2581
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BGl_list2150z00zz__match_compilerz00,
																																				BgL_arg1469z00_2582);
																																		}
																																		BgL_list1467z00_2580
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BGl_symbol2172z00zz__match_compilerz00,
																																			BgL_arg1468z00_2581);
																																	}
																																	BgL_arg1466z00_2579
																																		=
																																		BgL_list1467z00_2580;
																																}
																																BgL_arg1465z00_2578
																																	=
																																	BGl_patternzd2minuszd2zz__match_descriptionsz00
																																	(BgL_dz00_10,
																																	BgL_arg1466z00_2579);
																															}
																															BgL_arg1464z00_2577
																																=
																																BGL_PROCEDURE_CALL1
																																(BgL_za7za7_9,
																																BgL_arg1465z00_2578);
																														}
																														BgL_arg1462z00_2576
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1464z00_2577,
																															BNIL);
																													}
																													BgL_arg1459z00_2573 =
																														MAKE_YOUNG_PAIR
																														(BgL_arg1461z00_2575,
																														BgL_arg1462z00_2576);
																												}
																												BgL_arg1457z00_2571 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg1458z00_2572,
																													BgL_arg1459z00_2573);
																											}
																											return
																												MAKE_YOUNG_PAIR
																												(BGl_symbol2158z00zz__match_compilerz00,
																												BgL_arg1457z00_2571);
																										}
																								}
																							else
																								{	/* Match/compiler.scm 74 */
																									if (
																										(BgL_casezd2valuezd2_1420 ==
																											BGl_symbol2176z00zz__match_compilerz00))
																										{	/* Match/compiler.scm 86 */
																											obj_t BgL_arg1258z00_1443;
																											obj_t BgL_arg1259z00_1444;
																											obj_t BgL_arg1261z00_1445;

																											{	/* Match/compiler.scm 86 */
																												obj_t BgL_pairz00_2590;

																												BgL_pairz00_2590 =
																													CDR(
																													((obj_t) BgL_fz00_4));
																												BgL_arg1258z00_1443 =
																													CAR(BgL_pairz00_2590);
																											}
																											{	/* Match/compiler.scm 86 */
																												obj_t BgL_pairz00_2596;

																												{	/* Match/compiler.scm 86 */
																													obj_t
																														BgL_pairz00_2595;
																													BgL_pairz00_2595 =
																														CDR(((obj_t)
																															BgL_fz00_4));
																													BgL_pairz00_2596 =
																														CDR
																														(BgL_pairz00_2595);
																												}
																												BgL_arg1259z00_1444 =
																													CAR(BgL_pairz00_2596);
																											}
																											{	/* Match/compiler.scm 86 */
																												obj_t BgL_pairz00_2604;

																												{	/* Match/compiler.scm 86 */
																													obj_t
																														BgL_pairz00_2603;
																													{	/* Match/compiler.scm 86 */
																														obj_t
																															BgL_pairz00_2602;
																														BgL_pairz00_2602 =
																															CDR(((obj_t)
																																BgL_fz00_4));
																														BgL_pairz00_2603 =
																															CDR
																															(BgL_pairz00_2602);
																													}
																													BgL_pairz00_2604 =
																														CDR
																														(BgL_pairz00_2603);
																												}
																												BgL_arg1261z00_1445 =
																													CAR(BgL_pairz00_2604);
																											}
																											return
																												BGl_compilezd2timeszd2zz__match_compilerz00
																												(BgL_arg1258z00_1443,
																												BgL_arg1259z00_1444,
																												BgL_arg1261z00_1445,
																												BgL_ez00_5, BgL_rz00_6,
																												BgL_mz00_7, BgL_kz00_8,
																												BgL_za7za7_9,
																												BgL_dz00_10);
																										}
																									else
																										{	/* Match/compiler.scm 74 */
																											if (
																												(BgL_casezd2valuezd2_1420
																													==
																													BGl_symbol2178z00zz__match_compilerz00))
																												{	/* Match/compiler.scm 325 */
																													obj_t
																														BgL_list1544z00_2624;
																													BgL_list1544z00_2624 =
																														MAKE_YOUNG_PAIR
																														(BGl_string2180z00zz__match_compilerz00,
																														BNIL);
																													return
																														BGl_errorz00zz__errorz00
																														(BGl_string2181z00zz__match_compilerz00,
																														BgL_list1544z00_2624,
																														BGl_string2182z00zz__match_compilerz00);
																												}
																											else
																												{	/* Match/compiler.scm 74 */
																													if (
																														(BgL_casezd2valuezd2_1420
																															==
																															BGl_symbol2183z00zz__match_compilerz00))
																														{	/* Match/compiler.scm 89 */
																															obj_t
																																BgL_arg1269z00_1451;
																															{	/* Match/compiler.scm 89 */
																																obj_t
																																	BgL_pairz00_2629;
																																BgL_pairz00_2629
																																	=
																																	CDR(((obj_t)
																																		BgL_fz00_4));
																																BgL_arg1269z00_1451
																																	=
																																	CAR
																																	(BgL_pairz00_2629);
																															}
																															{	/* Match/compiler.scm 322 */
																																obj_t
																																	BgL_arg1541z00_2630;
																																obj_t
																																	BgL_arg1542z00_2631;
																																{	/* Match/compiler.scm 322 */
																																	obj_t
																																		BgL_fun1543z00_2632;
																																	BgL_fun1543z00_2632
																																		=
																																		BGL_PROCEDURE_CALL1
																																		(BgL_mz00_7,
																																		BgL_arg1269z00_1451);
																																	BgL_arg1541z00_2630
																																		=
																																		BGL_PROCEDURE_CALL5
																																		(BgL_fun1543z00_2632,
																																		BgL_rz00_6,
																																		BgL_mz00_7,
																																		BgL_kz00_8,
																																		BgL_za7za7_9,
																																		BgL_dz00_10);
																																}
																																BgL_arg1542z00_2631
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BgL_ez00_5,
																																	BNIL);
																																return
																																	MAKE_YOUNG_PAIR
																																	(BgL_arg1541z00_2630,
																																	BgL_arg1542z00_2631);
																															}
																														}
																													else
																														{	/* Match/compiler.scm 74 */
																															if (
																																(BgL_casezd2valuezd2_1420
																																	==
																																	BGl_symbol2185z00zz__match_compilerz00))
																																{	/* Match/compiler.scm 91 */
																																	obj_t
																																		BgL_arg1271z00_1453;
																																	obj_t
																																		BgL_arg1274z00_1454;
																																	{	/* Match/compiler.scm 91 */
																																		obj_t
																																			BgL_pairz00_2637;
																																		BgL_pairz00_2637
																																			=
																																			CDR((
																																				(obj_t)
																																				BgL_fz00_4));
																																		BgL_arg1271z00_1453
																																			=
																																			CAR
																																			(BgL_pairz00_2637);
																																	}
																																	{	/* Match/compiler.scm 91 */
																																		obj_t
																																			BgL_pairz00_2643;
																																		{	/* Match/compiler.scm 91 */
																																			obj_t
																																				BgL_pairz00_2642;
																																			BgL_pairz00_2642
																																				=
																																				CDR((
																																					(obj_t)
																																					BgL_fz00_4));
																																			BgL_pairz00_2643
																																				=
																																				CDR
																																				(BgL_pairz00_2642);
																																		}
																																		BgL_arg1274z00_1454
																																			=
																																			CAR
																																			(BgL_pairz00_2643);
																																	}
																																	return
																																		BGl_compilezd2vectorzd2beginz00zz__match_compilerz00
																																		(BgL_arg1271z00_1453,
																																		BgL_arg1274z00_1454,
																																		BgL_ez00_5,
																																		BgL_rz00_6,
																																		BgL_mz00_7,
																																		BgL_kz00_8,
																																		BgL_za7za7_9,
																																		BgL_dz00_10);
																																}
																															else
																																{	/* Match/compiler.scm 74 */
																																	if (
																																		(BgL_casezd2valuezd2_1420
																																			==
																																			BGl_symbol2187z00zz__match_compilerz00))
																																		{	/* Match/compiler.scm 372 */
																																			obj_t
																																				BgL_zc3z04anonymousza31630ze3z87_3456;
																																			BgL_zc3z04anonymousza31630ze3z87_3456
																																				=
																																				MAKE_FX_PROCEDURE
																																				(BGl_z62zc3z04anonymousza31630ze3ze5zz__match_compilerz00,
																																				(int)
																																				(1L),
																																				(int)
																																				(5L));
																																			PROCEDURE_SET
																																				(BgL_zc3z04anonymousza31630ze3z87_3456,
																																				(int)
																																				(0L),
																																				BgL_ez00_5);
																																			PROCEDURE_SET
																																				(BgL_zc3z04anonymousza31630ze3z87_3456,
																																				(int)
																																				(1L),
																																				BgL_kz00_8);
																																			PROCEDURE_SET
																																				(BgL_zc3z04anonymousza31630ze3z87_3456,
																																				(int)
																																				(2L),
																																				BgL_rz00_6);
																																			PROCEDURE_SET
																																				(BgL_zc3z04anonymousza31630ze3z87_3456,
																																				(int)
																																				(3L),
																																				BgL_za7za7_9);
																																			PROCEDURE_SET
																																				(BgL_zc3z04anonymousza31630ze3z87_3456,
																																				(int)
																																				(4L),
																																				BgL_dz00_10);
																																			return
																																				BgL_zc3z04anonymousza31630ze3z87_3456;
																																		}
																																	else
																																		{	/* Match/compiler.scm 74 */
																																			if (
																																				(BgL_casezd2valuezd2_1420
																																					==
																																					BGl_symbol2189z00zz__match_compilerz00))
																																				{	/* Match/compiler.scm 378 */
																																					obj_t
																																						BgL_zc3z04anonymousza31638ze3z87_3457;
																																					BgL_zc3z04anonymousza31638ze3z87_3457
																																						=
																																						MAKE_FX_PROCEDURE
																																						(BGl_z62zc3z04anonymousza31638ze3ze5zz__match_compilerz00,
																																						(int)
																																						(1L),
																																						(int)
																																						(4L));
																																					PROCEDURE_SET
																																						(BgL_zc3z04anonymousza31638ze3z87_3457,
																																						(int)
																																						(0L),
																																						BgL_kz00_8);
																																					PROCEDURE_SET
																																						(BgL_zc3z04anonymousza31638ze3z87_3457,
																																						(int)
																																						(1L),
																																						BgL_rz00_6);
																																					PROCEDURE_SET
																																						(BgL_zc3z04anonymousza31638ze3z87_3457,
																																						(int)
																																						(2L),
																																						BgL_za7za7_9);
																																					PROCEDURE_SET
																																						(BgL_zc3z04anonymousza31638ze3z87_3457,
																																						(int)
																																						(3L),
																																						BgL_dz00_10);
																																					return
																																						BgL_zc3z04anonymousza31638ze3z87_3457;
																																				}
																																			else
																																				{	/* Match/compiler.scm 74 */
																																					if (
																																						(BgL_casezd2valuezd2_1420
																																							==
																																							BGl_symbol2191z00zz__match_compilerz00))
																																						{	/* Match/compiler.scm 95 */
																																							obj_t
																																								BgL_auxz00_4166;
																																							obj_t
																																								BgL_auxz00_4162;
																																							{	/* Match/compiler.scm 95 */
																																								obj_t
																																									BgL_pairz00_2667;
																																								{	/* Match/compiler.scm 95 */
																																									obj_t
																																										BgL_pairz00_2666;
																																									BgL_pairz00_2666
																																										=
																																										CDR
																																										(
																																										((obj_t) BgL_fz00_4));
																																									BgL_pairz00_2667
																																										=
																																										CDR
																																										(BgL_pairz00_2666);
																																								}
																																								BgL_auxz00_4166
																																									=
																																									CAR
																																									(BgL_pairz00_2667);
																																							}
																																							{	/* Match/compiler.scm 95 */
																																								obj_t
																																									BgL_pairz00_2661;
																																								BgL_pairz00_2661
																																									=
																																									CDR
																																									(
																																									((obj_t) BgL_fz00_4));
																																								BgL_auxz00_4162
																																									=
																																									CAR
																																									(BgL_pairz00_2661);
																																							}
																																							return
																																								BGl_compilezd2vectorzd2consz00zz__match_compilerz00
																																								(BgL_auxz00_4162,
																																								BgL_auxz00_4166,
																																								BgL_ez00_5,
																																								BgL_rz00_6,
																																								BgL_mz00_7,
																																								BgL_kz00_8,
																																								BgL_za7za7_9,
																																								BgL_dz00_10);
																																						}
																																					else
																																						{	/* Match/compiler.scm 74 */
																																							if ((BgL_casezd2valuezd2_1420 == BGl_symbol2193z00zz__match_compilerz00))
																																								{	/* Match/compiler.scm 382 */
																																									obj_t
																																										BgL_list1639z00_2687;
																																									BgL_list1639z00_2687
																																										=
																																										MAKE_YOUNG_PAIR
																																										(BGl_string2195z00zz__match_compilerz00,
																																										BNIL);
																																									return
																																										BGl_errorz00zz__errorz00
																																										(BGl_string2181z00zz__match_compilerz00,
																																										BgL_list1639z00_2687,
																																										BGl_string2182z00zz__match_compilerz00);
																																								}
																																							else
																																								{	/* Match/compiler.scm 74 */
																																									if ((BgL_casezd2valuezd2_1420 == BGl_symbol2196z00zz__match_compilerz00))
																																										{	/* Match/compiler.scm 74 */
																																											BGL_TAIL
																																												return
																																												BGl_compilezd2structzd2patz00zz__match_compilerz00
																																												(BgL_fz00_4,
																																												BgL_ez00_5,
																																												BgL_rz00_6,
																																												BgL_mz00_7,
																																												BgL_kz00_8,
																																												BgL_za7za7_9,
																																												BgL_dz00_10);
																																										}
																																									else
																																										{	/* Match/compiler.scm 100 */
																																											obj_t
																																												BgL_list1285z00_1465;
																																											{	/* Match/compiler.scm 100 */
																																												obj_t
																																													BgL_arg1287z00_1466;
																																												BgL_arg1287z00_1466
																																													=
																																													MAKE_YOUNG_PAIR
																																													(BgL_fz00_4,
																																													BNIL);
																																												BgL_list1285z00_1465
																																													=
																																													MAKE_YOUNG_PAIR
																																													(BGl_string2198z00zz__match_compilerz00,
																																													BgL_arg1287z00_1466);
																																											}
																																											return
																																												BGl_errorz00zz__errorz00
																																												(BGl_string2181z00zz__match_compilerz00,
																																												BgL_list1285z00_1465,
																																												BGl_string2182z00zz__match_compilerz00);
																																										}
																																								}
																																						}
																																				}
																																		}
																																}
																														}
																												}
																										}
																								}
																						}
																				}
																		}
																}
														}
												}
										}
								}
						}
					else
						{	/* Match/compiler.scm 73 */
							return BGL_PROCEDURE_CALL1(BgL_za7za7_9, BgL_dz00_10);
						}
				}
		}

	}



/* &<@anonymous:1380> */
	obj_t BGl_z62zc3z04anonymousza31380ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3458, obj_t BgL_d2z00_3462)
	{
		{	/* Match/compiler.scm 144 */
			{	/* Match/compiler.scm 144 */
				obj_t BgL_kz00_3459;
				obj_t BgL_rz00_3460;
				obj_t BgL_za7za7_3461;

				BgL_kz00_3459 = PROCEDURE_REF(BgL_envz00_3458, (int) (0L));
				BgL_rz00_3460 = PROCEDURE_REF(BgL_envz00_3458, (int) (1L));
				BgL_za7za7_3461 = PROCEDURE_REF(BgL_envz00_3458, (int) (2L));
				return
					BGL_PROCEDURE_CALL3(BgL_kz00_3459, BgL_rz00_3460, BgL_za7za7_3461,
					BgL_d2z00_3462);
			}
		}

	}



/* &<@anonymous:1379> */
	obj_t BGl_z62zc3z04anonymousza31379ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3463, obj_t BgL_r2z00_3465, obj_t BgL_za72za7_3466,
		obj_t BgL_d2z00_3467)
	{
		{	/* Match/compiler.scm 143 */
			{	/* Match/compiler.scm 143 */
				obj_t BgL_za7za7_3464;

				BgL_za7za7_3464 = PROCEDURE_REF(BgL_envz00_3463, (int) (0L));
				return BGL_PROCEDURE_CALL1(BgL_za7za7_3464, BgL_d2z00_3467);
			}
		}

	}



/* &<@anonymous:1414> */
	obj_t BGl_z62zc3z04anonymousza31414ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3468, obj_t BgL_dz00_3475)
	{
		{	/* Match/compiler.scm 200 */
			return
				BGl_compilez00zz__match_compilerz00(PROCEDURE_REF(BgL_envz00_3468,
					(int) (0L)),
				PROCEDURE_REF(BgL_envz00_3468,
					(int) (1L)),
				PROCEDURE_REF(BgL_envz00_3468,
					(int) (2L)),
				PROCEDURE_REF(BgL_envz00_3468,
					(int) (3L)),
				PROCEDURE_REF(BgL_envz00_3468,
					(int) (4L)),
				PROCEDURE_REF(BgL_envz00_3468, (int) (5L)), BgL_dz00_3475);
		}

	}



/* &<@anonymous:1413> */
	obj_t BGl_z62zc3z04anonymousza31413ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3476, obj_t BgL_rz00_3479, obj_t BgL_za7za7_3480,
		obj_t BgL_cz00_3481)
	{
		{	/* Match/compiler.scm 198 */
			return
				MAKE_YOUNG_PAIR(PROCEDURE_REF(BgL_envz00_3476,
					(int) (0L)), PROCEDURE_REF(BgL_envz00_3476, (int) (1L)));
		}

	}



/* &<@anonymous:1417> */
	obj_t BGl_z62zc3z04anonymousza31417ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3482, obj_t BgL_r2z00_3487, obj_t BgL_za72za7_3488,
		obj_t BgL_c2z00_3489)
	{
		{	/* Match/compiler.scm 207 */
			return
				BGl_compilez00zz__match_compilerz00(PROCEDURE_REF(BgL_envz00_3482,
					(int) (0L)),
				PROCEDURE_REF(BgL_envz00_3482,
					(int) (1L)), BgL_r2z00_3487,
				PROCEDURE_REF(BgL_envz00_3482,
					(int) (2L)),
				PROCEDURE_REF(BgL_envz00_3482,
					(int) (3L)), BgL_za72za7_3488, BgL_c2z00_3489);
		}

	}



/* &<@anonymous:1630> */
	obj_t BGl_z62zc3z04anonymousza31630ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3490, obj_t BgL_iz00_3496)
	{
		{	/* Match/compiler.scm 372 */
			{	/* Match/compiler.scm 373 */
				obj_t BgL_ez00_3491;
				obj_t BgL_kz00_3492;
				obj_t BgL_rz00_3493;
				obj_t BgL_za7za7_3494;
				obj_t BgL_dz00_3495;

				BgL_ez00_3491 = PROCEDURE_REF(BgL_envz00_3490, (int) (0L));
				BgL_kz00_3492 = PROCEDURE_REF(BgL_envz00_3490, (int) (1L));
				BgL_rz00_3493 = PROCEDURE_REF(BgL_envz00_3490, (int) (2L));
				BgL_za7za7_3494 = PROCEDURE_REF(BgL_envz00_3490, (int) (3L));
				BgL_dz00_3495 = PROCEDURE_REF(BgL_envz00_3490, (int) (4L));
				{	/* Match/compiler.scm 373 */
					obj_t BgL_arg1631z00_3729;
					obj_t BgL_arg1632z00_3730;
					obj_t BgL_arg1633z00_3731;

					{	/* Match/compiler.scm 373 */
						obj_t BgL_arg1634z00_3732;

						{	/* Match/compiler.scm 373 */
							obj_t BgL_arg1635z00_3733;

							{	/* Match/compiler.scm 373 */
								obj_t BgL_arg1636z00_3734;

								{	/* Match/compiler.scm 373 */
									obj_t BgL_arg1637z00_3735;

									BgL_arg1637z00_3735 = MAKE_YOUNG_PAIR(BgL_ez00_3491, BNIL);
									BgL_arg1636z00_3734 =
										MAKE_YOUNG_PAIR(BGl_symbol2199z00zz__match_compilerz00,
										BgL_arg1637z00_3735);
								}
								BgL_arg1635z00_3733 =
									MAKE_YOUNG_PAIR(BgL_arg1636z00_3734, BNIL);
							}
							BgL_arg1634z00_3732 =
								MAKE_YOUNG_PAIR(BgL_iz00_3496, BgL_arg1635z00_3733);
						}
						BgL_arg1631z00_3729 =
							MAKE_YOUNG_PAIR(BGl_symbol2201z00zz__match_compilerz00,
							BgL_arg1634z00_3732);
					}
					BgL_arg1632z00_3730 =
						BGL_PROCEDURE_CALL3(BgL_kz00_3492, BgL_rz00_3493, BgL_za7za7_3494,
						BgL_dz00_3495);
					BgL_arg1633z00_3731 =
						BGL_PROCEDURE_CALL1(BgL_za7za7_3494, BgL_dz00_3495);
					return BGl_buildzd2ifzd2zz__match_compilerz00(BgL_arg1631z00_3729,
						BgL_arg1632z00_3730, BgL_arg1633z00_3731);
				}
			}
		}

	}



/* &<@anonymous:1638> */
	obj_t BGl_z62zc3z04anonymousza31638ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3497, obj_t BgL_iz00_3502)
	{
		{	/* Match/compiler.scm 378 */
			{	/* Match/compiler.scm 379 */
				obj_t BgL_kz00_3498;
				obj_t BgL_rz00_3499;
				obj_t BgL_za7za7_3500;
				obj_t BgL_dz00_3501;

				BgL_kz00_3498 = PROCEDURE_REF(BgL_envz00_3497, (int) (0L));
				BgL_rz00_3499 = PROCEDURE_REF(BgL_envz00_3497, (int) (1L));
				BgL_za7za7_3500 = PROCEDURE_REF(BgL_envz00_3497, (int) (2L));
				BgL_dz00_3501 = PROCEDURE_REF(BgL_envz00_3497, (int) (3L));
				return
					BGL_PROCEDURE_CALL3(BgL_kz00_3498, BgL_rz00_3499, BgL_za7za7_3500,
					BgL_dz00_3501);
			}
		}

	}



/* build-atom-equality-test */
	obj_t BGl_buildzd2atomzd2equalityzd2testzd2zz__match_compilerz00(obj_t
		BgL_ez00_24, obj_t BgL_constz00_25)
	{
		{	/* Match/compiler.scm 116 */
			if (NULLP(BgL_constz00_25))
				{	/* Match/compiler.scm 120 */
					obj_t BgL_arg1322z00_1475;

					BgL_arg1322z00_1475 = MAKE_YOUNG_PAIR(BgL_ez00_24, BNIL);
					return
						MAKE_YOUNG_PAIR(BGl_symbol2203z00zz__match_compilerz00,
						BgL_arg1322z00_1475);
				}
			else
				{	/* Match/compiler.scm 121 */
					bool_t BgL_test2340z00_4275;

					if (INTEGERP(BgL_constz00_25))
						{	/* Match/compiler.scm 121 */
							BgL_test2340z00_4275 = ((bool_t) 1);
						}
					else
						{	/* Match/compiler.scm 121 */
							if (CHARP(BgL_constz00_25))
								{	/* Match/compiler.scm 122 */
									BgL_test2340z00_4275 = ((bool_t) 1);
								}
							else
								{	/* Match/compiler.scm 122 */
									if (BOOLEANP(BgL_constz00_25))
										{	/* Match/compiler.scm 123 */
											BgL_test2340z00_4275 = ((bool_t) 1);
										}
									else
										{	/* Match/compiler.scm 123 */
											BgL_test2340z00_4275 = SYMBOLP(BgL_constz00_25);
										}
								}
						}
					if (BgL_test2340z00_4275)
						{	/* Match/compiler.scm 125 */
							obj_t BgL_arg1329z00_1480;

							{	/* Match/compiler.scm 125 */
								obj_t BgL_arg1330z00_1481;

								{	/* Match/compiler.scm 125 */
									obj_t BgL_arg1331z00_1482;

									{	/* Match/compiler.scm 125 */
										obj_t BgL_arg1332z00_1483;

										BgL_arg1332z00_1483 =
											MAKE_YOUNG_PAIR(BgL_constz00_25, BNIL);
										BgL_arg1331z00_1482 =
											MAKE_YOUNG_PAIR(BGl_symbol2160z00zz__match_compilerz00,
											BgL_arg1332z00_1483);
									}
									BgL_arg1330z00_1481 =
										MAKE_YOUNG_PAIR(BgL_arg1331z00_1482, BNIL);
								}
								BgL_arg1329z00_1480 =
									MAKE_YOUNG_PAIR(BgL_ez00_24, BgL_arg1330z00_1481);
							}
							return
								MAKE_YOUNG_PAIR(BGl_symbol2201z00zz__match_compilerz00,
								BgL_arg1329z00_1480);
						}
					else
						{	/* Match/compiler.scm 121 */
							if (REALP(BgL_constz00_25))
								{	/* Match/compiler.scm 127 */
									obj_t BgL_arg1334z00_1485;

									{	/* Match/compiler.scm 127 */
										obj_t BgL_arg1335z00_1486;
										obj_t BgL_arg1336z00_1487;

										{	/* Match/compiler.scm 127 */
											obj_t BgL_arg1337z00_1488;

											BgL_arg1337z00_1488 = MAKE_YOUNG_PAIR(BgL_ez00_24, BNIL);
											BgL_arg1335z00_1486 =
												MAKE_YOUNG_PAIR(BGl_symbol2205z00zz__match_compilerz00,
												BgL_arg1337z00_1488);
										}
										{	/* Match/compiler.scm 127 */
											obj_t BgL_arg1338z00_1489;

											{	/* Match/compiler.scm 127 */
												obj_t BgL_arg1339z00_1490;

												{	/* Match/compiler.scm 127 */
													obj_t BgL_arg1341z00_1491;

													BgL_arg1341z00_1491 =
														MAKE_YOUNG_PAIR(BgL_constz00_25, BNIL);
													BgL_arg1339z00_1490 =
														MAKE_YOUNG_PAIR(BgL_ez00_24, BgL_arg1341z00_1491);
												}
												BgL_arg1338z00_1489 =
													MAKE_YOUNG_PAIR
													(BGl_symbol2207z00zz__match_compilerz00,
													BgL_arg1339z00_1490);
											}
											BgL_arg1336z00_1487 =
												MAKE_YOUNG_PAIR(BgL_arg1338z00_1489, BNIL);
										}
										BgL_arg1334z00_1485 =
											MAKE_YOUNG_PAIR(BgL_arg1335z00_1486, BgL_arg1336z00_1487);
									}
									return
										MAKE_YOUNG_PAIR(BGl_symbol2170z00zz__match_compilerz00,
										BgL_arg1334z00_1485);
								}
							else
								{	/* Match/compiler.scm 126 */
									if (BGl_numberzf3zf3zz__r4_numbers_6_5z00(BgL_constz00_25))
										{	/* Match/compiler.scm 129 */
											obj_t BgL_arg1343z00_1493;

											{	/* Match/compiler.scm 129 */
												obj_t BgL_arg1345z00_1494;
												obj_t BgL_arg1346z00_1495;

												{	/* Match/compiler.scm 129 */
													obj_t BgL_arg1347z00_1496;

													BgL_arg1347z00_1496 =
														MAKE_YOUNG_PAIR(BgL_ez00_24, BNIL);
													BgL_arg1345z00_1494 =
														MAKE_YOUNG_PAIR
														(BGl_symbol2209z00zz__match_compilerz00,
														BgL_arg1347z00_1496);
												}
												{	/* Match/compiler.scm 129 */
													obj_t BgL_arg1349z00_1497;

													{	/* Match/compiler.scm 129 */
														obj_t BgL_arg1351z00_1498;

														{	/* Match/compiler.scm 129 */
															obj_t BgL_arg1352z00_1499;

															BgL_arg1352z00_1499 =
																MAKE_YOUNG_PAIR(BgL_constz00_25, BNIL);
															BgL_arg1351z00_1498 =
																MAKE_YOUNG_PAIR(BgL_ez00_24,
																BgL_arg1352z00_1499);
														}
														BgL_arg1349z00_1497 =
															MAKE_YOUNG_PAIR
															(BGl_symbol2211z00zz__match_compilerz00,
															BgL_arg1351z00_1498);
													}
													BgL_arg1346z00_1495 =
														MAKE_YOUNG_PAIR(BgL_arg1349z00_1497, BNIL);
												}
												BgL_arg1343z00_1493 =
													MAKE_YOUNG_PAIR(BgL_arg1345z00_1494,
													BgL_arg1346z00_1495);
											}
											return
												MAKE_YOUNG_PAIR(BGl_symbol2170z00zz__match_compilerz00,
												BgL_arg1343z00_1493);
										}
									else
										{	/* Match/compiler.scm 128 */
											if (STRINGP(BgL_constz00_25))
												{	/* Match/compiler.scm 131 */
													obj_t BgL_arg1355z00_1501;

													{	/* Match/compiler.scm 131 */
														obj_t BgL_arg1356z00_1502;
														obj_t BgL_arg1357z00_1503;

														{	/* Match/compiler.scm 131 */
															obj_t BgL_arg1358z00_1504;

															BgL_arg1358z00_1504 =
																MAKE_YOUNG_PAIR(BgL_ez00_24, BNIL);
															BgL_arg1356z00_1502 =
																MAKE_YOUNG_PAIR
																(BGl_symbol2213z00zz__match_compilerz00,
																BgL_arg1358z00_1504);
														}
														{	/* Match/compiler.scm 131 */
															obj_t BgL_arg1359z00_1505;

															{	/* Match/compiler.scm 131 */
																obj_t BgL_arg1360z00_1506;

																{	/* Match/compiler.scm 131 */
																	obj_t BgL_arg1361z00_1507;

																	BgL_arg1361z00_1507 =
																		MAKE_YOUNG_PAIR(BgL_constz00_25, BNIL);
																	BgL_arg1360z00_1506 =
																		MAKE_YOUNG_PAIR(BgL_ez00_24,
																		BgL_arg1361z00_1507);
																}
																BgL_arg1359z00_1505 =
																	MAKE_YOUNG_PAIR
																	(BGl_symbol2215z00zz__match_compilerz00,
																	BgL_arg1360z00_1506);
															}
															BgL_arg1357z00_1503 =
																MAKE_YOUNG_PAIR(BgL_arg1359z00_1505, BNIL);
														}
														BgL_arg1355z00_1501 =
															MAKE_YOUNG_PAIR(BgL_arg1356z00_1502,
															BgL_arg1357z00_1503);
													}
													return
														MAKE_YOUNG_PAIR
														(BGl_symbol2170z00zz__match_compilerz00,
														BgL_arg1355z00_1501);
												}
											else
												{	/* Match/compiler.scm 130 */
													if (NULLP(BgL_constz00_25))
														{	/* Match/compiler.scm 133 */
															obj_t BgL_arg1363z00_1509;

															BgL_arg1363z00_1509 =
																MAKE_YOUNG_PAIR(BgL_ez00_24, BNIL);
															return
																MAKE_YOUNG_PAIR
																(BGl_symbol2203z00zz__match_compilerz00,
																BgL_arg1363z00_1509);
														}
													else
														{	/* Match/compiler.scm 135 */
															obj_t BgL_arg1364z00_1510;

															{	/* Match/compiler.scm 135 */
																obj_t BgL_arg1365z00_1511;

																{	/* Match/compiler.scm 135 */
																	obj_t BgL_arg1366z00_1512;

																	{	/* Match/compiler.scm 135 */
																		obj_t BgL_arg1367z00_1513;

																		BgL_arg1367z00_1513 =
																			MAKE_YOUNG_PAIR(BgL_constz00_25, BNIL);
																		BgL_arg1366z00_1512 =
																			MAKE_YOUNG_PAIR
																			(BGl_symbol2160z00zz__match_compilerz00,
																			BgL_arg1367z00_1513);
																	}
																	BgL_arg1365z00_1511 =
																		MAKE_YOUNG_PAIR(BgL_arg1366z00_1512, BNIL);
																}
																BgL_arg1364z00_1510 =
																	MAKE_YOUNG_PAIR(BgL_ez00_24,
																	BgL_arg1365z00_1511);
															}
															return
																MAKE_YOUNG_PAIR
																(BGl_symbol2217z00zz__match_compilerz00,
																BgL_arg1364z00_1510);
														}
												}
										}
								}
						}
				}
		}

	}



/* compile-or */
	obj_t BGl_compilezd2orzd2zz__match_compilerz00(obj_t BgL_f1z00_40,
		obj_t BgL_f2z00_41, obj_t BgL_ez00_42, obj_t BgL_rz00_43, obj_t BgL_mz00_44,
		obj_t BgL_kz00_45, obj_t BgL_za7za7_46, obj_t BgL_dz00_47)
	{
		{	/* Match/compiler.scm 151 */
			{	/* Match/compiler.scm 152 */
				obj_t BgL_za2kza2z00_1535;

				BgL_za2kza2z00_1535 =
					BGL_PROCEDURE_CALL1(BGl_jimzd2gensymzd2zz__match_s2cfunz00,
					BGl_string2219z00zz__match_compilerz00);
				{	/* Match/compiler.scm 152 */
					obj_t BgL_za2varsza2z00_1536;

					BgL_za2varsza2z00_1536 =
						BGl_patternzd2variableszd2zz__match_descriptionsz00(BgL_f1z00_40);
					{	/* Match/compiler.scm 153 */
						obj_t BgL_za2callza2z00_1537;

						BgL_za2callza2z00_1537 =
							MAKE_YOUNG_PAIR(BgL_za2kza2z00_1535, BgL_za2varsza2z00_1536);
						{	/* Match/compiler.scm 154 */
							obj_t BgL_successzd2formzd2_1538;

							{	/* Match/compiler.scm 155 */
								obj_t BgL_arg1409z00_1587;

								BgL_arg1409z00_1587 =
									BGl_extendza2za2zz__match_compilerz00(BgL_rz00_43,
									BgL_za2varsza2z00_1536);
								BgL_successzd2formzd2_1538 =
									BGL_PROCEDURE_CALL3(BgL_kz00_45, BgL_arg1409z00_1587,
									BgL_za7za7_46, BgL_dz00_47);
							}
							{	/* Match/compiler.scm 155 */

								{	/* Match/compiler.scm 157 */
									bool_t BgL_test2348z00_4340;

									if ((BgL_successzd2formzd2_1538 == BFALSE))
										{	/* Match/compiler.scm 157 */
											BgL_test2348z00_4340 = ((bool_t) 1);
										}
									else
										{	/* Match/compiler.scm 157 */
											if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00(CDR
													(BgL_za2callza2z00_1537),
													CDR(((obj_t) BgL_successzd2formzd2_1538))))
												{	/* Match/compiler.scm 158 */
													BgL_test2348z00_4340 = ((bool_t) 1);
												}
											else
												{	/* Match/compiler.scm 158 */
													BgL_test2348z00_4340 =
														BGl_isDirectCallzf3zf3zz__match_compilerz00
														(BgL_successzd2formzd2_1538);
												}
										}
									if (BgL_test2348z00_4340)
										{	/* Match/compiler.scm 161 */
											obj_t BgL_zc3z04anonymousza31390ze3z87_3504;
											obj_t BgL_zc3z04anonymousza31389ze3z87_3505;

											BgL_zc3z04anonymousza31390ze3z87_3504 =
												MAKE_FX_PROCEDURE
												(BGl_z62zc3z04anonymousza31390ze3ze5zz__match_compilerz00,
												(int) (1L), (int) (6L));
											BgL_zc3z04anonymousza31389ze3z87_3505 =
												MAKE_FX_PROCEDURE
												(BGl_z62zc3z04anonymousza31389ze3ze5zz__match_compilerz00,
												(int) (3L), (int) (1L));
											PROCEDURE_SET(BgL_zc3z04anonymousza31390ze3z87_3504,
												(int) (0L), BgL_successzd2formzd2_1538);
											PROCEDURE_SET(BgL_zc3z04anonymousza31390ze3z87_3504,
												(int) (1L), BgL_f2z00_41);
											PROCEDURE_SET(BgL_zc3z04anonymousza31390ze3z87_3504,
												(int) (2L), BgL_ez00_42);
											PROCEDURE_SET(BgL_zc3z04anonymousza31390ze3z87_3504,
												(int) (3L), BgL_rz00_43);
											PROCEDURE_SET(BgL_zc3z04anonymousza31390ze3z87_3504,
												(int) (4L), BgL_mz00_44);
											PROCEDURE_SET(BgL_zc3z04anonymousza31390ze3z87_3504,
												(int) (5L), BgL_za7za7_46);
											PROCEDURE_SET(BgL_zc3z04anonymousza31389ze3z87_3505,
												(int) (0L), BgL_successzd2formzd2_1538);
											return BGl_compilez00zz__match_compilerz00(BgL_f1z00_40,
												BgL_ez00_42, BgL_rz00_43, BgL_mz00_44,
												BgL_zc3z04anonymousza31389ze3z87_3505,
												BgL_zc3z04anonymousza31390ze3z87_3504, BgL_dz00_47);
										}
									else
										{	/* Match/compiler.scm 167 */
											obj_t BgL_resz00_1561;

											{	/* Match/compiler.scm 168 */
												obj_t BgL_zc3z04anonymousza31404ze3z87_3507;
												obj_t BgL_zc3z04anonymousza31403ze3z87_3508;

												BgL_zc3z04anonymousza31404ze3z87_3507 =
													MAKE_FX_PROCEDURE
													(BGl_z62zc3z04anonymousza31404ze3ze5zz__match_compilerz00,
													(int) (1L), (int) (6L));
												BgL_zc3z04anonymousza31403ze3z87_3508 =
													MAKE_FX_PROCEDURE
													(BGl_z62zc3z04anonymousza31403ze3ze5zz__match_compilerz00,
													(int) (3L), (int) (1L));
												PROCEDURE_SET(BgL_zc3z04anonymousza31404ze3z87_3507,
													(int) (0L), BgL_za2callza2z00_1537);
												PROCEDURE_SET(BgL_zc3z04anonymousza31404ze3z87_3507,
													(int) (1L), BgL_f2z00_41);
												PROCEDURE_SET(BgL_zc3z04anonymousza31404ze3z87_3507,
													(int) (2L), BgL_ez00_42);
												PROCEDURE_SET(BgL_zc3z04anonymousza31404ze3z87_3507,
													(int) (3L), BgL_rz00_43);
												PROCEDURE_SET(BgL_zc3z04anonymousza31404ze3z87_3507,
													(int) (4L), BgL_mz00_44);
												PROCEDURE_SET(BgL_zc3z04anonymousza31404ze3z87_3507,
													(int) (5L), BgL_za7za7_46);
												PROCEDURE_SET(BgL_zc3z04anonymousza31403ze3z87_3508,
													(int) (0L), BgL_za2callza2z00_1537);
												BgL_resz00_1561 =
													BGl_compilez00zz__match_compilerz00(BgL_f1z00_40,
													BgL_ez00_42, BgL_rz00_43, BgL_mz00_44,
													BgL_zc3z04anonymousza31403ze3z87_3508,
													BgL_zc3z04anonymousza31404ze3z87_3507, BgL_dz00_47);
											}
											if (CBOOL(BgL_resz00_1561))
												{	/* Match/compiler.scm 175 */
													obj_t BgL_arg1395z00_1562;

													{	/* Match/compiler.scm 175 */
														obj_t BgL_arg1396z00_1563;
														obj_t BgL_arg1397z00_1564;

														{	/* Match/compiler.scm 175 */
															obj_t BgL_arg1398z00_1565;

															{	/* Match/compiler.scm 175 */
																obj_t BgL_arg1399z00_1566;

																{	/* Match/compiler.scm 175 */
																	obj_t BgL_arg1400z00_1567;

																	BgL_arg1400z00_1567 =
																		MAKE_YOUNG_PAIR(BgL_successzd2formzd2_1538,
																		BNIL);
																	BgL_arg1399z00_1566 =
																		MAKE_YOUNG_PAIR(BgL_za2varsza2z00_1536,
																		BgL_arg1400z00_1567);
																}
																BgL_arg1398z00_1565 =
																	MAKE_YOUNG_PAIR(BgL_za2kza2z00_1535,
																	BgL_arg1399z00_1566);
															}
															BgL_arg1396z00_1563 =
																MAKE_YOUNG_PAIR(BgL_arg1398z00_1565, BNIL);
														}
														BgL_arg1397z00_1564 =
															MAKE_YOUNG_PAIR(BgL_resz00_1561, BNIL);
														BgL_arg1395z00_1562 =
															MAKE_YOUNG_PAIR(BgL_arg1396z00_1563,
															BgL_arg1397z00_1564);
													}
													return
														MAKE_YOUNG_PAIR
														(BGl_symbol2220z00zz__match_compilerz00,
														BgL_arg1395z00_1562);
												}
											else
												{	/* Match/compiler.scm 174 */
													return BgL_resz00_1561;
												}
										}
								}
							}
						}
					}
				}
			}
		}

	}



/* &<@anonymous:1390> */
	obj_t BGl_z62zc3z04anonymousza31390ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3509, obj_t BgL_dz00_3516)
	{
		{	/* Match/compiler.scm 162 */
			{	/* Match/compiler.scm 164 */
				obj_t BgL_successzd2formzd2_3510;
				obj_t BgL_f2z00_3511;
				obj_t BgL_ez00_3512;
				obj_t BgL_rz00_3513;
				obj_t BgL_mz00_3514;
				obj_t BgL_za7za7_3515;

				BgL_successzd2formzd2_3510 = PROCEDURE_REF(BgL_envz00_3509, (int) (0L));
				BgL_f2z00_3511 = PROCEDURE_REF(BgL_envz00_3509, (int) (1L));
				BgL_ez00_3512 = PROCEDURE_REF(BgL_envz00_3509, (int) (2L));
				BgL_rz00_3513 = PROCEDURE_REF(BgL_envz00_3509, (int) (3L));
				BgL_mz00_3514 = PROCEDURE_REF(BgL_envz00_3509, (int) (4L));
				BgL_za7za7_3515 = PROCEDURE_REF(BgL_envz00_3509, (int) (5L));
				{	/* Match/compiler.scm 164 */
					obj_t BgL_zc3z04anonymousza31392ze3z87_3736;

					BgL_zc3z04anonymousza31392ze3z87_3736 =
						MAKE_FX_PROCEDURE
						(BGl_z62zc3z04anonymousza31392ze3ze5zz__match_compilerz00,
						(int) (3L), (int) (1L));
					PROCEDURE_SET(BgL_zc3z04anonymousza31392ze3z87_3736, (int) (0L),
						BgL_successzd2formzd2_3510);
					return BGl_compilez00zz__match_compilerz00(BgL_f2z00_3511,
						BgL_ez00_3512, BgL_rz00_3513, BgL_mz00_3514,
						BgL_zc3z04anonymousza31392ze3z87_3736, BgL_za7za7_3515,
						BgL_dz00_3516);
				}
			}
		}

	}



/* &<@anonymous:1389> */
	obj_t BGl_z62zc3z04anonymousza31389ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3517, obj_t BgL_rz00_3519, obj_t BgL_za7za7_3520,
		obj_t BgL_dz00_3521)
	{
		{	/* Match/compiler.scm 161 */
			return PROCEDURE_REF(BgL_envz00_3517, (int) (0L));
		}

	}



/* &<@anonymous:1392> */
	obj_t BGl_z62zc3z04anonymousza31392ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3522, obj_t BgL_rz00_3524, obj_t BgL_za7za7_3525,
		obj_t BgL_dz00_3526)
	{
		{	/* Match/compiler.scm 164 */
			return PROCEDURE_REF(BgL_envz00_3522, (int) (0L));
		}

	}



/* &<@anonymous:1404> */
	obj_t BGl_z62zc3z04anonymousza31404ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3527, obj_t BgL_dz00_3534)
	{
		{	/* Match/compiler.scm 169 */
			{	/* Match/compiler.scm 171 */
				obj_t BgL_za2callza2z00_3528;
				obj_t BgL_f2z00_3529;
				obj_t BgL_ez00_3530;
				obj_t BgL_rz00_3531;
				obj_t BgL_mz00_3532;
				obj_t BgL_za7za7_3533;

				BgL_za2callza2z00_3528 =
					((obj_t) PROCEDURE_REF(BgL_envz00_3527, (int) (0L)));
				BgL_f2z00_3529 = PROCEDURE_REF(BgL_envz00_3527, (int) (1L));
				BgL_ez00_3530 = PROCEDURE_REF(BgL_envz00_3527, (int) (2L));
				BgL_rz00_3531 = PROCEDURE_REF(BgL_envz00_3527, (int) (3L));
				BgL_mz00_3532 = PROCEDURE_REF(BgL_envz00_3527, (int) (4L));
				BgL_za7za7_3533 = PROCEDURE_REF(BgL_envz00_3527, (int) (5L));
				{	/* Match/compiler.scm 171 */
					obj_t BgL_zc3z04anonymousza31406ze3z87_3737;

					BgL_zc3z04anonymousza31406ze3z87_3737 =
						MAKE_FX_PROCEDURE
						(BGl_z62zc3z04anonymousza31406ze3ze5zz__match_compilerz00,
						(int) (3L), (int) (1L));
					PROCEDURE_SET(BgL_zc3z04anonymousza31406ze3z87_3737, (int) (0L),
						BgL_za2callza2z00_3528);
					return BGl_compilez00zz__match_compilerz00(BgL_f2z00_3529,
						BgL_ez00_3530, BgL_rz00_3531, BgL_mz00_3532,
						BgL_zc3z04anonymousza31406ze3z87_3737, BgL_za7za7_3533,
						BgL_dz00_3534);
				}
			}
		}

	}



/* &<@anonymous:1403> */
	obj_t BGl_z62zc3z04anonymousza31403ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3535, obj_t BgL_rz00_3537, obj_t BgL_za7za7_3538,
		obj_t BgL_dz00_3539)
	{
		{	/* Match/compiler.scm 168 */
			return ((obj_t) PROCEDURE_REF(BgL_envz00_3535, (int) (0L)));
		}

	}



/* &<@anonymous:1406> */
	obj_t BGl_z62zc3z04anonymousza31406ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3540, obj_t BgL_rz00_3542, obj_t BgL_za7za7_3543,
		obj_t BgL_dz00_3544)
	{
		{	/* Match/compiler.scm 171 */
			return ((obj_t) PROCEDURE_REF(BgL_envz00_3540, (int) (0L)));
		}

	}



/* isDirectCall? */
	bool_t BGl_isDirectCallzf3zf3zz__match_compilerz00(obj_t BgL_ez00_48)
	{
		{	/* Match/compiler.scm 182 */
			if (PAIRP(BgL_ez00_48))
				{	/* Match/compiler.scm 184 */
					obj_t BgL_prz00_1589;

					BgL_prz00_1589 = CAR(BgL_ez00_48);
					if (SYMBOLP(BgL_prz00_1589))
						{	/* Match/compiler.scm 186 */
							obj_t BgL_sz00_1591;

							{	/* Match/compiler.scm 186 */
								obj_t BgL_arg1919z00_2730;

								BgL_arg1919z00_2730 = SYMBOL_TO_STRING(BgL_prz00_1589);
								BgL_sz00_1591 =
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00
									(BgL_arg1919z00_2730);
							}
							if ((STRING_LENGTH(BgL_sz00_1591) > 3L))
								{	/* Match/compiler.scm 188 */
									obj_t BgL_sz00_1593;

									BgL_sz00_1593 = c_substring(BgL_sz00_1591, 0L, 3L);
									{	/* Match/compiler.scm 189 */
										bool_t BgL__ortest_1042z00_1594;

										{	/* Match/compiler.scm 189 */
											long BgL_l1z00_2736;

											BgL_l1z00_2736 = STRING_LENGTH(BgL_sz00_1593);
											if ((BgL_l1z00_2736 == 3L))
												{	/* Match/compiler.scm 189 */
													int BgL_arg1911z00_2739;

													{	/* Match/compiler.scm 189 */
														char *BgL_auxz00_4463;
														char *BgL_tmpz00_4461;

														BgL_auxz00_4463 =
															BSTRING_TO_STRING
															(BGl_string2222z00zz__match_compilerz00);
														BgL_tmpz00_4461 = BSTRING_TO_STRING(BgL_sz00_1593);
														BgL_arg1911z00_2739 =
															memcmp(BgL_tmpz00_4461, BgL_auxz00_4463,
															BgL_l1z00_2736);
													}
													BgL__ortest_1042z00_1594 =
														((long) (BgL_arg1911z00_2739) == 0L);
												}
											else
												{	/* Match/compiler.scm 189 */
													BgL__ortest_1042z00_1594 = ((bool_t) 0);
												}
										}
										if (BgL__ortest_1042z00_1594)
											{	/* Match/compiler.scm 189 */
												return BgL__ortest_1042z00_1594;
											}
										else
											{	/* Match/compiler.scm 190 */
												long BgL_l1z00_2747;

												BgL_l1z00_2747 = STRING_LENGTH(BgL_sz00_1593);
												if ((BgL_l1z00_2747 == 3L))
													{	/* Match/compiler.scm 190 */
														int BgL_arg1911z00_2750;

														{	/* Match/compiler.scm 190 */
															char *BgL_auxz00_4474;
															char *BgL_tmpz00_4472;

															BgL_auxz00_4474 =
																BSTRING_TO_STRING
																(BGl_string2223z00zz__match_compilerz00);
															BgL_tmpz00_4472 =
																BSTRING_TO_STRING(BgL_sz00_1593);
															BgL_arg1911z00_2750 =
																memcmp(BgL_tmpz00_4472, BgL_auxz00_4474,
																BgL_l1z00_2747);
														}
														return ((long) (BgL_arg1911z00_2750) == 0L);
													}
												else
													{	/* Match/compiler.scm 190 */
														return ((bool_t) 0);
													}
											}
									}
								}
							else
								{	/* Match/compiler.scm 187 */
									return ((bool_t) 0);
								}
						}
					else
						{	/* Match/compiler.scm 185 */
							return ((bool_t) 0);
						}
				}
			else
				{	/* Match/compiler.scm 183 */
					return ((bool_t) 0);
				}
		}

	}



/* compile-var */
	obj_t BGl_compilezd2varzd2zz__match_compilerz00(obj_t BgL_nz00_66,
		obj_t BgL_ez00_67, obj_t BgL_rz00_68, obj_t BgL_mz00_69, obj_t BgL_kz00_70,
		obj_t BgL_za7za7_71, obj_t BgL_cz00_72)
	{
		{	/* Match/compiler.scm 215 */
			{	/* Match/compiler.scm 216 */
				bool_t BgL_test2358z00_4479;

				{	/* Match/compiler.scm 455 */
					bool_t BgL_test2359z00_4480;

					{	/* Match/compiler.scm 455 */
						obj_t BgL_tmpz00_4481;

						if (CBOOL(BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_nz00_66,
									BgL_rz00_68)))
							{	/* Match/compiler.scm 438 */
								BgL_tmpz00_4481 =
									CDR(BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_nz00_66,
										BgL_rz00_68));
							}
						else
							{	/* Match/compiler.scm 438 */
								BgL_tmpz00_4481 = BGl_symbol2224z00zz__match_compilerz00;
							}
						BgL_test2359z00_4480 =
							(BgL_tmpz00_4481 == BGl_symbol2224z00zz__match_compilerz00);
					}
					if (BgL_test2359z00_4480)
						{	/* Match/compiler.scm 455 */
							BgL_test2358z00_4479 = ((bool_t) 0);
						}
					else
						{	/* Match/compiler.scm 455 */
							BgL_test2358z00_4479 = ((bool_t) 1);
						}
				}
				if (BgL_test2358z00_4479)
					{	/* Match/compiler.scm 217 */
						obj_t BgL_arg1419z00_1615;
						obj_t BgL_arg1420z00_1616;
						obj_t BgL_arg1421z00_1617;

						{	/* Match/compiler.scm 217 */
							obj_t BgL_arg1422z00_1618;

							{	/* Match/compiler.scm 217 */
								obj_t BgL_arg1423z00_1619;

								BgL_arg1423z00_1619 = MAKE_YOUNG_PAIR(BgL_ez00_67, BNIL);
								BgL_arg1422z00_1618 =
									MAKE_YOUNG_PAIR(BgL_nz00_66, BgL_arg1423z00_1619);
							}
							BgL_arg1419z00_1615 =
								MAKE_YOUNG_PAIR(BGl_symbol2201z00zz__match_compilerz00,
								BgL_arg1422z00_1618);
						}
						{	/* Match/compiler.scm 218 */
							obj_t BgL_arg1424z00_1620;

							{	/* Match/compiler.scm 218 */
								obj_t BgL_arg1425z00_1621;

								{	/* Match/compiler.scm 218 */
									obj_t BgL_list1426z00_1622;

									{	/* Match/compiler.scm 218 */
										obj_t BgL_arg1427z00_1623;

										BgL_arg1427z00_1623 = MAKE_YOUNG_PAIR(BgL_nz00_66, BNIL);
										BgL_list1426z00_1622 =
											MAKE_YOUNG_PAIR(BGl_symbol2162z00zz__match_compilerz00,
											BgL_arg1427z00_1623);
									}
									BgL_arg1425z00_1621 = BgL_list1426z00_1622;
								}
								BgL_arg1424z00_1620 =
									BGl_patternzd2pluszd2zz__match_descriptionsz00(BgL_cz00_72,
									BgL_arg1425z00_1621);
							}
							BgL_arg1420z00_1616 =
								BGL_PROCEDURE_CALL3(BgL_kz00_70, BgL_rz00_68, BgL_za7za7_71,
								BgL_arg1424z00_1620);
						}
						{	/* Match/compiler.scm 219 */
							obj_t BgL_arg1428z00_1624;

							{	/* Match/compiler.scm 219 */
								obj_t BgL_arg1429z00_1625;

								{	/* Match/compiler.scm 219 */
									obj_t BgL_list1430z00_1626;

									{	/* Match/compiler.scm 219 */
										obj_t BgL_arg1431z00_1627;

										BgL_arg1431z00_1627 = MAKE_YOUNG_PAIR(BgL_nz00_66, BNIL);
										BgL_list1430z00_1626 =
											MAKE_YOUNG_PAIR(BGl_symbol2162z00zz__match_compilerz00,
											BgL_arg1431z00_1627);
									}
									BgL_arg1429z00_1625 = BgL_list1430z00_1626;
								}
								BgL_arg1428z00_1624 =
									BGl_patternzd2minuszd2zz__match_descriptionsz00(BgL_cz00_72,
									BgL_arg1429z00_1625);
							}
							BgL_arg1421z00_1617 =
								BGL_PROCEDURE_CALL1(BgL_za7za7_71, BgL_arg1428z00_1624);
						}
						return
							BGl_buildzd2ifzd2zz__match_compilerz00(BgL_arg1419z00_1615,
							BgL_arg1420z00_1616, BgL_arg1421z00_1617);
					}
				else
					{	/* Match/compiler.scm 220 */
						obj_t BgL_bodyz00_1628;

						{	/* Match/compiler.scm 220 */
							obj_t BgL_arg1438z00_1637;
							obj_t BgL_arg1439z00_1638;

							{	/* Match/compiler.scm 435 */
								obj_t BgL_arg1673z00_2776;

								BgL_arg1673z00_2776 = MAKE_YOUNG_PAIR(BgL_nz00_66, BgL_ez00_67);
								BgL_arg1438z00_1637 =
									MAKE_YOUNG_PAIR(BgL_arg1673z00_2776, BgL_rz00_68);
							}
							{	/* Match/compiler.scm 221 */
								obj_t BgL_arg1442z00_1639;

								{	/* Match/compiler.scm 221 */
									obj_t BgL_list1443z00_1640;

									{	/* Match/compiler.scm 221 */
										obj_t BgL_arg1444z00_1641;

										BgL_arg1444z00_1641 = MAKE_YOUNG_PAIR(BgL_nz00_66, BNIL);
										BgL_list1443z00_1640 =
											MAKE_YOUNG_PAIR(BGl_symbol2162z00zz__match_compilerz00,
											BgL_arg1444z00_1641);
									}
									BgL_arg1442z00_1639 = BgL_list1443z00_1640;
								}
								BgL_arg1439z00_1638 =
									BGl_patternzd2pluszd2zz__match_descriptionsz00(BgL_cz00_72,
									BgL_arg1442z00_1639);
							}
							BgL_bodyz00_1628 =
								BGL_PROCEDURE_CALL3(BgL_kz00_70, BgL_arg1438z00_1637,
								BgL_za7za7_71, BgL_arg1439z00_1638);
						}
						{	/* Match/compiler.scm 222 */
							bool_t BgL_test2361z00_4519;

							{	/* Match/compiler.scm 222 */
								obj_t BgL_a1090z00_1636;

								BgL_a1090z00_1636 =
									BGl_countzd2occurrenceszd2zz__match_compilerz00(BgL_nz00_66,
									BgL_bodyz00_1628, 0L);
								if (INTEGERP(BgL_a1090z00_1636))
									{	/* Match/compiler.scm 222 */
										BgL_test2361z00_4519 =
											((long) CINT(BgL_a1090z00_1636) > 1L);
									}
								else
									{	/* Match/compiler.scm 222 */
										BgL_test2361z00_4519 =
											BGl_2ze3ze3zz__r4_numbers_6_5z00(BgL_a1090z00_1636,
											BINT(1L));
									}
							}
							if (BgL_test2361z00_4519)
								{	/* Match/compiler.scm 223 */
									obj_t BgL_arg1433z00_1631;

									{	/* Match/compiler.scm 223 */
										obj_t BgL_arg1434z00_1632;
										obj_t BgL_arg1435z00_1633;

										{	/* Match/compiler.scm 223 */
											obj_t BgL_arg1436z00_1634;

											{	/* Match/compiler.scm 223 */
												obj_t BgL_arg1437z00_1635;

												BgL_arg1437z00_1635 =
													MAKE_YOUNG_PAIR(BgL_ez00_67, BNIL);
												BgL_arg1436z00_1634 =
													MAKE_YOUNG_PAIR(BgL_nz00_66, BgL_arg1437z00_1635);
											}
											BgL_arg1434z00_1632 =
												MAKE_YOUNG_PAIR(BgL_arg1436z00_1634, BNIL);
										}
										BgL_arg1435z00_1633 =
											MAKE_YOUNG_PAIR(BgL_bodyz00_1628, BNIL);
										BgL_arg1433z00_1631 =
											MAKE_YOUNG_PAIR(BgL_arg1434z00_1632, BgL_arg1435z00_1633);
									}
									return
										MAKE_YOUNG_PAIR(BGl_symbol2226z00zz__match_compilerz00,
										BgL_arg1433z00_1631);
								}
							else
								{	/* Match/compiler.scm 222 */
									return
										BGl_unfoldz00zz__match_compilerz00(BgL_nz00_66, BgL_ez00_67,
										BgL_bodyz00_1628);
								}
						}
					}
			}
		}

	}



/* count-occurrences */
	obj_t BGl_countzd2occurrenceszd2zz__match_compilerz00(obj_t BgL_sz00_73,
		obj_t BgL_ez00_74, long BgL_accz00_75)
	{
		{	/* Match/compiler.scm 227 */
			if (NULLP(BgL_ez00_74))
				{	/* Match/compiler.scm 228 */
					return BINT(BgL_accz00_75);
				}
			else
				{	/* Match/compiler.scm 228 */
					if (CBOOL(BGl_atomzf3zf3zz__match_s2cfunz00(BgL_ez00_74)))
						{	/* Match/compiler.scm 230 */
							if ((BgL_sz00_73 == BgL_ez00_74))
								{	/* Match/compiler.scm 232 */
									obj_t BgL_za71za7_2779;

									BgL_za71za7_2779 = BINT(BgL_accz00_75);
									{	/* Match/compiler.scm 232 */
										obj_t BgL_tmpz00_2781;

										BgL_tmpz00_2781 = BINT(0L);
										{	/* Match/compiler.scm 232 */
											bool_t BgL_test2366z00_4544;

											{	/* Match/compiler.scm 232 */
												obj_t BgL_tmpz00_4545;

												BgL_tmpz00_4545 = BINT(1L);
												BgL_test2366z00_4544 =
													BGL_ADDFX_OV(BgL_za71za7_2779, BgL_tmpz00_4545,
													BgL_tmpz00_2781);
											}
											if (BgL_test2366z00_4544)
												{	/* Match/compiler.scm 232 */
													return
														bgl_bignum_add(bgl_long_to_bignum(
															(long) CINT(BgL_za71za7_2779)),
														bgl_long_to_bignum(1L));
												}
											else
												{	/* Match/compiler.scm 232 */
													return BgL_tmpz00_2781;
												}
										}
									}
								}
							else
								{	/* Match/compiler.scm 231 */
									return BINT(BgL_accz00_75);
								}
						}
					else
						{	/* Match/compiler.scm 230 */
							if (PAIRP(BgL_ez00_74))
								{	/* Match/compiler.scm 234 */
									if (
										(CAR(BgL_ez00_74) ==
											BGl_symbol2160z00zz__match_compilerz00))
										{	/* Match/compiler.scm 235 */
											return BINT(BgL_accz00_75);
										}
									else
										{	/* Match/compiler.scm 237 */
											obj_t BgL_a1091z00_1647;

											BgL_a1091z00_1647 =
												BGl_countzd2occurrenceszd2zz__match_compilerz00
												(BgL_sz00_73, CAR(BgL_ez00_74), BgL_accz00_75);
											{	/* Match/compiler.scm 238 */
												obj_t BgL_b1092z00_1648;

												BgL_b1092z00_1648 =
													BGl_countzd2occurrenceszd2zz__match_compilerz00
													(BgL_sz00_73, CDR(BgL_ez00_74), BgL_accz00_75);
												{	/* Match/compiler.scm 237 */

													{	/* Match/compiler.scm 237 */
														bool_t BgL_test2369z00_4563;

														if (INTEGERP(BgL_a1091z00_1647))
															{	/* Match/compiler.scm 237 */
																BgL_test2369z00_4563 =
																	INTEGERP(BgL_b1092z00_1648);
															}
														else
															{	/* Match/compiler.scm 237 */
																BgL_test2369z00_4563 = ((bool_t) 0);
															}
														if (BgL_test2369z00_4563)
															{	/* Match/compiler.scm 237 */
																obj_t BgL_tmpz00_2794;

																BgL_tmpz00_2794 = BINT(0L);
																if (BGL_ADDFX_OV(BgL_a1091z00_1647,
																		BgL_b1092z00_1648, BgL_tmpz00_2794))
																	{	/* Match/compiler.scm 237 */
																		return
																			bgl_bignum_add(bgl_long_to_bignum(
																				(long) CINT(BgL_a1091z00_1647)),
																			bgl_long_to_bignum(
																				(long) CINT(BgL_b1092z00_1648)));
																	}
																else
																	{	/* Match/compiler.scm 237 */
																		return BgL_tmpz00_2794;
																	}
															}
														else
															{	/* Match/compiler.scm 237 */
																return
																	BGl_2zb2zb2zz__r4_numbers_6_5z00
																	(BgL_a1091z00_1647, BgL_b1092z00_1648);
															}
													}
												}
											}
										}
								}
							else
								{	/* Match/compiler.scm 234 */
									return BFALSE;
								}
						}
				}
		}

	}



/* succes-cons */
	obj_t BGl_succeszd2conszd2zz__match_compilerz00(obj_t BgL_f1z00_85,
		obj_t BgL_f2z00_86, obj_t BgL_ez00_87, obj_t BgL_rz00_88, obj_t BgL_mz00_89,
		obj_t BgL_kz00_90, obj_t BgL_za7za7_91, obj_t BgL_cz00_92)
	{
		{	/* Match/compiler.scm 256 */
			{	/* Match/compiler.scm 257 */
				obj_t BgL_za2carza2z00_1667;

				BgL_za2carza2z00_1667 =
					BGL_PROCEDURE_CALL1(BGl_jimzd2gensymzd2zz__match_s2cfunz00,
					BGl_string2228z00zz__match_compilerz00);
				{	/* Match/compiler.scm 257 */
					obj_t BgL_za2cdrza2z00_1668;

					BgL_za2cdrza2z00_1668 =
						BGL_PROCEDURE_CALL1(BGl_jimzd2gensymzd2zz__match_s2cfunz00,
						BGl_string2229z00zz__match_compilerz00);
					{	/* Match/compiler.scm 258 */
						obj_t BgL_bodyz00_1669;

						{	/* Match/compiler.scm 261 */
							obj_t BgL_arg1472z00_1672;

							BgL_arg1472z00_1672 =
								BGl_patternzd2carzd2zz__match_descriptionsz00(BgL_cz00_92);
							{	/* Match/compiler.scm 263 */
								obj_t BgL_zc3z04anonymousza31488ze3z87_3545;
								obj_t BgL_zc3z04anonymousza31473ze3z87_3548;

								BgL_zc3z04anonymousza31488ze3z87_3545 =
									MAKE_FX_PROCEDURE
									(BGl_z62zc3z04anonymousza31488ze3ze5zz__match_compilerz00,
									(int) (1L), (int) (2L));
								BgL_zc3z04anonymousza31473ze3z87_3548 =
									MAKE_FX_PROCEDURE
									(BGl_z62zc3z04anonymousza31473ze3ze5zz__match_compilerz00,
									(int) (3L), (int) (6L));
								PROCEDURE_SET(BgL_zc3z04anonymousza31488ze3z87_3545, (int) (0L),
									BgL_cz00_92);
								PROCEDURE_SET(BgL_zc3z04anonymousza31488ze3z87_3545, (int) (1L),
									BgL_za7za7_91);
								PROCEDURE_SET(BgL_zc3z04anonymousza31473ze3z87_3548, (int) (0L),
									BgL_cz00_92);
								PROCEDURE_SET(BgL_zc3z04anonymousza31473ze3z87_3548, (int) (1L),
									BgL_kz00_90);
								PROCEDURE_SET(BgL_zc3z04anonymousza31473ze3z87_3548, (int) (2L),
									BgL_za7za7_91);
								PROCEDURE_SET(BgL_zc3z04anonymousza31473ze3z87_3548, (int) (3L),
									BgL_f2z00_86);
								PROCEDURE_SET(BgL_zc3z04anonymousza31473ze3z87_3548, (int) (4L),
									BgL_za2cdrza2z00_1668);
								PROCEDURE_SET(BgL_zc3z04anonymousza31473ze3z87_3548, (int) (5L),
									BgL_mz00_89);
								BgL_bodyz00_1669 =
									BGl_compilez00zz__match_compilerz00(BgL_f1z00_85,
									BgL_za2carza2z00_1667, BgL_rz00_88, BgL_mz00_89,
									BgL_zc3z04anonymousza31473ze3z87_3548,
									BgL_zc3z04anonymousza31488ze3z87_3545, BgL_arg1472z00_1672);
						}}
						{	/* Match/compiler.scm 259 */

							return
								BGl_buildzd2letzd2zz__match_compilerz00(BgL_za2carza2z00_1667,
								BgL_za2cdrza2z00_1668, BgL_ez00_87, BgL_bodyz00_1669);
						}
					}
				}
			}
		}

	}



/* &<@anonymous:1488> */
	obj_t BGl_z62zc3z04anonymousza31488ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3549, obj_t BgL_c2z00_3552)
	{
		{	/* Match/compiler.scm 267 */
			{	/* Match/compiler.scm 267 */
				obj_t BgL_cz00_3550;
				obj_t BgL_za7za7_3551;

				BgL_cz00_3550 = PROCEDURE_REF(BgL_envz00_3549, (int) (0L));
				BgL_za7za7_3551 = PROCEDURE_REF(BgL_envz00_3549, (int) (1L));
				{	/* Match/compiler.scm 267 */
					obj_t BgL_arg1489z00_3738;

					{	/* Match/compiler.scm 267 */
						obj_t BgL_arg1490z00_3739;

						BgL_arg1490z00_3739 =
							BGl_patternzd2cdrzd2zz__match_descriptionsz00(BgL_cz00_3550);
						{	/* Match/compiler.scm 267 */
							obj_t BgL_list1491z00_3740;

							{	/* Match/compiler.scm 267 */
								obj_t BgL_arg1492z00_3741;

								{	/* Match/compiler.scm 267 */
									obj_t BgL_arg1494z00_3742;

									BgL_arg1494z00_3742 =
										MAKE_YOUNG_PAIR(BgL_arg1490z00_3739, BNIL);
									BgL_arg1492z00_3741 =
										MAKE_YOUNG_PAIR(BgL_c2z00_3552, BgL_arg1494z00_3742);
								}
								BgL_list1491z00_3740 =
									MAKE_YOUNG_PAIR(BGl_symbol2172z00zz__match_compilerz00,
									BgL_arg1492z00_3741);
							}
							BgL_arg1489z00_3738 = BgL_list1491z00_3740;
					}}
					return BGL_PROCEDURE_CALL1(BgL_za7za7_3551, BgL_arg1489z00_3738);
				}
			}
		}

	}



/* &<@anonymous:1473> */
	obj_t BGl_z62zc3z04anonymousza31473ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3553, obj_t BgL_r2z00_3560, obj_t BgL_za72za7_3561,
		obj_t BgL_c2z00_3562)
	{
		{	/* Match/compiler.scm 261 */
			{	/* Match/compiler.scm 263 */
				obj_t BgL_cz00_3554;
				obj_t BgL_kz00_3555;
				obj_t BgL_za7za7_3556;
				obj_t BgL_f2z00_3557;
				obj_t BgL_za2cdrza2z00_3558;
				obj_t BgL_mz00_3559;

				BgL_cz00_3554 = PROCEDURE_REF(BgL_envz00_3553, (int) (0L));
				BgL_kz00_3555 = PROCEDURE_REF(BgL_envz00_3553, (int) (1L));
				BgL_za7za7_3556 = PROCEDURE_REF(BgL_envz00_3553, (int) (2L));
				BgL_f2z00_3557 = PROCEDURE_REF(BgL_envz00_3553, (int) (3L));
				BgL_za2cdrza2z00_3558 = PROCEDURE_REF(BgL_envz00_3553, (int) (4L));
				BgL_mz00_3559 = PROCEDURE_REF(BgL_envz00_3553, (int) (5L));
				{	/* Match/compiler.scm 263 */
					obj_t BgL_arg1476z00_3743;

					BgL_arg1476z00_3743 =
						BGl_patternzd2cdrzd2zz__match_descriptionsz00(BgL_cz00_3554);
					{	/* Match/compiler.scm 264 */
						obj_t BgL_zc3z04anonymousza31477ze3z87_3744;
						obj_t BgL_zc3z04anonymousza31483ze3z87_3745;

						BgL_zc3z04anonymousza31477ze3z87_3744 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31477ze3ze5zz__match_compilerz00,
							(int) (3L), (int) (2L));
						BgL_zc3z04anonymousza31483ze3z87_3745 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31483ze3ze5zz__match_compilerz00,
							(int) (1L), (int) (2L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31477ze3z87_3744, (int) (0L),
							BgL_c2z00_3562);
						PROCEDURE_SET(BgL_zc3z04anonymousza31477ze3z87_3744, (int) (1L),
							BgL_kz00_3555);
						PROCEDURE_SET(BgL_zc3z04anonymousza31483ze3z87_3745, (int) (0L),
							BgL_c2z00_3562);
						PROCEDURE_SET(BgL_zc3z04anonymousza31483ze3z87_3745, (int) (1L),
							BgL_za7za7_3556);
						return BGl_compilez00zz__match_compilerz00(BgL_f2z00_3557,
							BgL_za2cdrza2z00_3558, BgL_r2z00_3560, BgL_mz00_3559,
							BgL_zc3z04anonymousza31477ze3z87_3744,
							BgL_zc3z04anonymousza31483ze3z87_3745, BgL_arg1476z00_3743);
					}
				}
			}
		}

	}



/* &<@anonymous:1483> */
	obj_t BGl_z62zc3z04anonymousza31483ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3563, obj_t BgL_c3z00_3566)
	{
		{	/* Match/compiler.scm 265 */
			{	/* Match/compiler.scm 265 */
				obj_t BgL_c2z00_3564;
				obj_t BgL_za7za7_3565;

				BgL_c2z00_3564 = PROCEDURE_REF(BgL_envz00_3563, (int) (0L));
				BgL_za7za7_3565 = PROCEDURE_REF(BgL_envz00_3563, (int) (1L));
				{	/* Match/compiler.scm 265 */
					obj_t BgL_arg1484z00_3746;

					{	/* Match/compiler.scm 265 */
						obj_t BgL_list1485z00_3747;

						{	/* Match/compiler.scm 265 */
							obj_t BgL_arg1486z00_3748;

							{	/* Match/compiler.scm 265 */
								obj_t BgL_arg1487z00_3749;

								BgL_arg1487z00_3749 = MAKE_YOUNG_PAIR(BgL_c3z00_3566, BNIL);
								BgL_arg1486z00_3748 =
									MAKE_YOUNG_PAIR(BgL_c2z00_3564, BgL_arg1487z00_3749);
							}
							BgL_list1485z00_3747 =
								MAKE_YOUNG_PAIR(BGl_symbol2172z00zz__match_compilerz00,
								BgL_arg1486z00_3748);
						}
						BgL_arg1484z00_3746 = BgL_list1485z00_3747;
					}
					return BGL_PROCEDURE_CALL1(BgL_za7za7_3565, BgL_arg1484z00_3746);
				}
			}
		}

	}



/* &<@anonymous:1477> */
	obj_t BGl_z62zc3z04anonymousza31477ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3567, obj_t BgL_r3z00_3570, obj_t BgL_za73za7_3571,
		obj_t BgL_c3z00_3572)
	{
		{	/* Match/compiler.scm 263 */
			{	/* Match/compiler.scm 264 */
				obj_t BgL_c2z00_3568;
				obj_t BgL_kz00_3569;

				BgL_c2z00_3568 = PROCEDURE_REF(BgL_envz00_3567, (int) (0L));
				BgL_kz00_3569 = PROCEDURE_REF(BgL_envz00_3567, (int) (1L));
				{	/* Match/compiler.scm 264 */
					obj_t BgL_arg1479z00_3750;

					{	/* Match/compiler.scm 264 */
						obj_t BgL_list1480z00_3751;

						{	/* Match/compiler.scm 264 */
							obj_t BgL_arg1481z00_3752;

							{	/* Match/compiler.scm 264 */
								obj_t BgL_arg1482z00_3753;

								BgL_arg1482z00_3753 = MAKE_YOUNG_PAIR(BgL_c3z00_3572, BNIL);
								BgL_arg1481z00_3752 =
									MAKE_YOUNG_PAIR(BgL_c2z00_3568, BgL_arg1482z00_3753);
							}
							BgL_list1480z00_3751 =
								MAKE_YOUNG_PAIR(BGl_symbol2172z00zz__match_compilerz00,
								BgL_arg1481z00_3752);
						}
						BgL_arg1479z00_3750 = BgL_list1480z00_3751;
					}
					return
						BGL_PROCEDURE_CALL3(BgL_kz00_3569, BgL_r3z00_3570, BgL_za73za7_3571,
						BgL_arg1479z00_3750);
				}
			}
		}

	}



/* compile-times */
	obj_t BGl_compilezd2timeszd2zz__match_compilerz00(obj_t BgL_nz00_93,
		obj_t BgL_f1z00_94, obj_t BgL_f2z00_95, obj_t BgL_ez00_96,
		obj_t BgL_rz00_97, obj_t BgL_mz00_98, obj_t BgL_k0z00_99,
		obj_t BgL_za70za7_100, obj_t BgL_d0z00_101)
	{
		{	/* Match/compiler.scm 284 */
			{	/* Match/compiler.scm 286 */
				obj_t BgL_fzd2envzd2_3623;
				obj_t BgL_dzd2envzd2_3624;

				BgL_fzd2envzd2_3623 = BGL_MAKE_UNSAFE_CELL(BNIL);
				BgL_dzd2envzd2_3624 = BGL_MAKE_UNSAFE_CELL(BNIL);
				{	/* Match/compiler.scm 290 */
					obj_t BgL_instanciatezd2tryzd2_3575;

					BgL_instanciatezd2tryzd2_3575 =
						MAKE_FX_PROCEDURE(BGl_z62instanciatezd2tryzb0zz__match_compilerz00,
						(int) (5L), (int) (5L));
					PROCEDURE_SET(BgL_instanciatezd2tryzd2_3575,
						(int) (0L), ((obj_t) BgL_dzd2envzd2_3624));
					PROCEDURE_SET(BgL_instanciatezd2tryzd2_3575, (int) (1L), BgL_nz00_93);
					PROCEDURE_SET(BgL_instanciatezd2tryzd2_3575,
						(int) (2L), BgL_f1z00_94);
					PROCEDURE_SET(BgL_instanciatezd2tryzd2_3575,
						(int) (3L), BgL_f2z00_95);
					PROCEDURE_SET(BgL_instanciatezd2tryzd2_3575,
						(int) (4L), ((obj_t) BgL_fzd2envzd2_3623));
					{	/* Match/compiler.scm 313 */
						obj_t BgL_reszd2bodyzd2_1708;

						{	/* Match/compiler.scm 315 */
							obj_t BgL_zc3z04anonymousza31514ze3z87_3573;
							obj_t BgL_zc3z04anonymousza31513ze3z87_3574;

							BgL_zc3z04anonymousza31514ze3z87_3573 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04anonymousza31514ze3ze5zz__match_compilerz00,
								(int) (1L), (int) (2L));
							BgL_zc3z04anonymousza31513ze3z87_3574 =
								MAKE_FX_PROCEDURE
								(BGl_z62zc3z04anonymousza31513ze3ze5zz__match_compilerz00,
								(int) (3L), (int) (2L));
							PROCEDURE_SET(BgL_zc3z04anonymousza31514ze3z87_3573, (int) (0L),
								BgL_za70za7_100);
							PROCEDURE_SET(BgL_zc3z04anonymousza31514ze3z87_3573, (int) (1L),
								BgL_d0z00_101);
							PROCEDURE_SET(BgL_zc3z04anonymousza31513ze3z87_3574, (int) (0L),
								BgL_k0z00_99);
							PROCEDURE_SET(BgL_zc3z04anonymousza31513ze3z87_3574, (int) (1L),
								BgL_d0z00_101);
							BgL_reszd2bodyzd2_1708 =
								BGl_z62instanciatezd2tryzb0zz__match_compilerz00
								(BgL_instanciatezd2tryzd2_3575, BgL_rz00_97, BgL_mz00_98,
								BgL_zc3z04anonymousza31513ze3z87_3574,
								BgL_zc3z04anonymousza31514ze3z87_3573, BgL_d0z00_101);
						}
						{	/* Match/compiler.scm 318 */
							obj_t BgL_arg1495z00_1709;

							{	/* Match/compiler.scm 318 */
								obj_t BgL_arg1497z00_1710;
								obj_t BgL_arg1498z00_1711;

								{	/* Match/compiler.scm 318 */
									obj_t BgL_l1093z00_1712;

									BgL_l1093z00_1712 = BGL_UNSAFE_CELL_REF(BgL_fzd2envzd2_3623);
									if (NULLP(BgL_l1093z00_1712))
										{	/* Match/compiler.scm 318 */
											BgL_arg1497z00_1710 = BNIL;
										}
									else
										{	/* Match/compiler.scm 318 */
											obj_t BgL_head1095z00_1714;

											{	/* Match/compiler.scm 318 */
												obj_t BgL_arg1507z00_1726;

												{	/* Match/compiler.scm 463 */
													obj_t BgL_pairz00_2860;

													{	/* Match/compiler.scm 463 */
														obj_t BgL_pairz00_2852;

														BgL_pairz00_2852 = CAR(((obj_t) BgL_l1093z00_1712));
														BgL_pairz00_2860 =
															CAR(CDR(CAR(CDR(BgL_pairz00_2852))));
													}
													BgL_arg1507z00_1726 = CAR(BgL_pairz00_2860);
												}
												BgL_head1095z00_1714 =
													MAKE_YOUNG_PAIR(BgL_arg1507z00_1726, BNIL);
											}
											{	/* Match/compiler.scm 318 */
												obj_t BgL_g1098z00_1715;

												BgL_g1098z00_1715 = CDR(((obj_t) BgL_l1093z00_1712));
												{
													obj_t BgL_l1093z00_2899;
													obj_t BgL_tail1096z00_2900;

													BgL_l1093z00_2899 = BgL_g1098z00_1715;
													BgL_tail1096z00_2900 = BgL_head1095z00_1714;
												BgL_zc3z04anonymousza31500ze3z87_2898:
													if (NULLP(BgL_l1093z00_2899))
														{	/* Match/compiler.scm 318 */
															BgL_arg1497z00_1710 = BgL_head1095z00_1714;
														}
													else
														{	/* Match/compiler.scm 318 */
															obj_t BgL_newtail1097z00_2907;

															{	/* Match/compiler.scm 318 */
																obj_t BgL_arg1505z00_2908;

																{	/* Match/compiler.scm 463 */
																	obj_t BgL_pairz00_2921;

																	{	/* Match/compiler.scm 463 */
																		obj_t BgL_pairz00_2913;

																		BgL_pairz00_2913 =
																			CAR(((obj_t) BgL_l1093z00_2899));
																		BgL_pairz00_2921 =
																			CAR(CDR(CAR(CDR(BgL_pairz00_2913))));
																	}
																	BgL_arg1505z00_2908 = CAR(BgL_pairz00_2921);
																}
																BgL_newtail1097z00_2907 =
																	MAKE_YOUNG_PAIR(BgL_arg1505z00_2908, BNIL);
															}
															SET_CDR(BgL_tail1096z00_2900,
																BgL_newtail1097z00_2907);
															{	/* Match/compiler.scm 318 */
																obj_t BgL_arg1502z00_2910;

																BgL_arg1502z00_2910 =
																	CDR(((obj_t) BgL_l1093z00_2899));
																{
																	obj_t BgL_tail1096z00_4729;
																	obj_t BgL_l1093z00_4728;

																	BgL_l1093z00_4728 = BgL_arg1502z00_2910;
																	BgL_tail1096z00_4729 =
																		BgL_newtail1097z00_2907;
																	BgL_tail1096z00_2900 = BgL_tail1096z00_4729;
																	BgL_l1093z00_2899 = BgL_l1093z00_4728;
																	goto BgL_zc3z04anonymousza31500ze3z87_2898;
																}
															}
														}
												}
											}
										}
								}
								{	/* Match/compiler.scm 318 */
									obj_t BgL_arg1509z00_1728;

									{	/* Match/compiler.scm 318 */
										obj_t BgL_arg1510z00_1729;

										BgL_arg1510z00_1729 = MAKE_YOUNG_PAIR(BgL_ez00_96, BNIL);
										BgL_arg1509z00_1728 =
											MAKE_YOUNG_PAIR(BgL_reszd2bodyzd2_1708,
											BgL_arg1510z00_1729);
									}
									BgL_arg1498z00_1711 =
										MAKE_YOUNG_PAIR(BgL_arg1509z00_1728, BNIL);
								}
								BgL_arg1495z00_1709 =
									MAKE_YOUNG_PAIR(BgL_arg1497z00_1710, BgL_arg1498z00_1711);
							}
							return
								MAKE_YOUNG_PAIR(BGl_symbol2230z00zz__match_compilerz00,
								BgL_arg1495z00_1709);
						}
					}
				}
			}
		}

	}



/* &<@anonymous:1514> */
	obj_t BGl_z62zc3z04anonymousza31514ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3578, obj_t BgL_dz00_3581)
	{
		{	/* Match/compiler.scm 316 */
			{	/* Match/compiler.scm 316 */
				obj_t BgL_za70za7_3579;
				obj_t BgL_d0z00_3580;

				BgL_za70za7_3579 = PROCEDURE_REF(BgL_envz00_3578, (int) (0L));
				BgL_d0z00_3580 = PROCEDURE_REF(BgL_envz00_3578, (int) (1L));
				return BGL_PROCEDURE_CALL1(BgL_za70za7_3579, BgL_d0z00_3580);
			}
		}

	}



/* &<@anonymous:1513> */
	obj_t BGl_z62zc3z04anonymousza31513ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3582, obj_t BgL_rz00_3585, obj_t BgL_za7za7_3586,
		obj_t BgL_dz00_3587)
	{
		{	/* Match/compiler.scm 315 */
			{	/* Match/compiler.scm 315 */
				obj_t BgL_k0z00_3583;
				obj_t BgL_d0z00_3584;

				BgL_k0z00_3583 = PROCEDURE_REF(BgL_envz00_3582, (int) (0L));
				BgL_d0z00_3584 = PROCEDURE_REF(BgL_envz00_3582, (int) (1L));
				return
					BGL_PROCEDURE_CALL3(BgL_k0z00_3583, BgL_rz00_3585, BgL_za7za7_3586,
					BgL_d0z00_3584);
			}
		}

	}



/* &<@anonymous:1539> */
	obj_t BGl_z62zc3z04anonymousza31539ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3588, obj_t BgL_d2z00_3600)
	{
		{	/* Match/compiler.scm 302 */
			{	/* Match/compiler.scm 304 */
				obj_t BgL_dzd2envzd2_3589;
				obj_t BgL_f2z00_3590;
				obj_t BgL_fzd2envzd2_3591;
				obj_t BgL_mz00_3592;
				obj_t BgL_instanciatezd2tryzd2_3593;
				obj_t BgL_nz00_3594;
				obj_t BgL_f1z00_3595;
				obj_t BgL_gz00_3596;
				obj_t BgL_rz00_3597;
				obj_t BgL_kz00_3598;
				obj_t BgL_za7za7_3599;

				BgL_dzd2envzd2_3589 = PROCEDURE_REF(BgL_envz00_3588, (int) (0L));
				BgL_f2z00_3590 = PROCEDURE_REF(BgL_envz00_3588, (int) (1L));
				BgL_fzd2envzd2_3591 = PROCEDURE_REF(BgL_envz00_3588, (int) (2L));
				BgL_mz00_3592 = PROCEDURE_REF(BgL_envz00_3588, (int) (3L));
				BgL_instanciatezd2tryzd2_3593 =
					PROCEDURE_REF(BgL_envz00_3588, (int) (4L));
				BgL_nz00_3594 = PROCEDURE_REF(BgL_envz00_3588, (int) (5L));
				BgL_f1z00_3595 = PROCEDURE_REF(BgL_envz00_3588, (int) (6L));
				BgL_gz00_3596 = PROCEDURE_REF(BgL_envz00_3588, (int) (7L));
				BgL_rz00_3597 = PROCEDURE_REF(BgL_envz00_3588, (int) (8L));
				BgL_kz00_3598 = PROCEDURE_REF(BgL_envz00_3588, (int) (9L));
				BgL_za7za7_3599 = PROCEDURE_REF(BgL_envz00_3588, (int) (10L));
				{	/* Match/compiler.scm 304 */
					obj_t BgL_arg1540z00_3754;

					{	/* Match/compiler.scm 467 */
						obj_t BgL_zc3z04anonymousza31699ze3z87_3755;

						BgL_zc3z04anonymousza31699ze3z87_3755 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31699ze3ze5zz__match_compilerz00,
							(int) (1L), (int) (7L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31699ze3z87_3755, (int) (0L),
							BgL_dzd2envzd2_3589);
						PROCEDURE_SET(BgL_zc3z04anonymousza31699ze3z87_3755, (int) (1L),
							BgL_f1z00_3595);
						PROCEDURE_SET(BgL_zc3z04anonymousza31699ze3z87_3755, (int) (2L),
							BgL_f2z00_3590);
						PROCEDURE_SET(BgL_zc3z04anonymousza31699ze3z87_3755, (int) (3L),
							BgL_fzd2envzd2_3591);
						PROCEDURE_SET(BgL_zc3z04anonymousza31699ze3z87_3755, (int) (4L),
							BgL_mz00_3592);
						PROCEDURE_SET(BgL_zc3z04anonymousza31699ze3z87_3755, (int) (5L),
							BgL_instanciatezd2tryzd2_3593);
						PROCEDURE_SET(BgL_zc3z04anonymousza31699ze3z87_3755, (int) (6L),
							BgL_nz00_3594);
						BgL_arg1540z00_3754 = BgL_zc3z04anonymousza31699ze3z87_3755;
					}
					return
						BGl_compilez00zz__match_compilerz00(BgL_f1z00_3595, BgL_gz00_3596,
						BgL_rz00_3597, BgL_arg1540z00_3754, BgL_kz00_3598, BgL_za7za7_3599,
						BgL_d2z00_3600);
				}
			}
		}

	}



/* &<@anonymous:1699> */
	obj_t BGl_z62zc3z04anonymousza31699ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3601, obj_t BgL_xz00_3609)
	{
		{	/* Match/compiler.scm 467 */
			{	/* Match/compiler.scm 468 */
				obj_t BgL_mz00_3606;
				obj_t BgL_instanciatezd2tryzd2_3607;
				obj_t BgL_nz00_3608;

				BgL_mz00_3606 = PROCEDURE_REF(BgL_envz00_3601, (int) (4L));
				BgL_instanciatezd2tryzd2_3607 =
					PROCEDURE_REF(BgL_envz00_3601, (int) (5L));
				BgL_nz00_3608 = PROCEDURE_REF(BgL_envz00_3601, (int) (6L));
				if ((BgL_xz00_3609 == BgL_nz00_3608))
					{	/* Match/compiler.scm 468 */
						return BgL_instanciatezd2tryzd2_3607;
					}
				else
					{	/* Match/compiler.scm 468 */
						return BGL_PROCEDURE_CALL1(BgL_mz00_3606, BgL_xz00_3609);
					}
			}
		}

	}



/* &instanciate-try */
	obj_t BGl_z62instanciatezd2tryzb0zz__match_compilerz00(obj_t BgL_envz00_3610,
		obj_t BgL_rz00_3616, obj_t BgL_mz00_3617, obj_t BgL_kz00_3618,
		obj_t BgL_za7za7_3619, obj_t BgL_dz00_3620)
	{
		{	/* Match/compiler.scm 289 */
			{	/* Match/compiler.scm 290 */
				obj_t BgL_dzd2envzd2_3611;
				obj_t BgL_nz00_3612;
				obj_t BgL_f1z00_3613;
				obj_t BgL_f2z00_3614;
				obj_t BgL_fzd2envzd2_3615;

				BgL_dzd2envzd2_3611 = PROCEDURE_REF(BgL_envz00_3610, (int) (0L));
				BgL_nz00_3612 = PROCEDURE_REF(BgL_envz00_3610, (int) (1L));
				BgL_f1z00_3613 = PROCEDURE_REF(BgL_envz00_3610, (int) (2L));
				BgL_f2z00_3614 = PROCEDURE_REF(BgL_envz00_3610, (int) (3L));
				BgL_fzd2envzd2_3615 = PROCEDURE_REF(BgL_envz00_3610, (int) (4L));
				{	/* Match/compiler.scm 290 */
					obj_t BgL_tmpz00_3756;

					{
						obj_t BgL_dzd2envzd2_3758;

						BgL_dzd2envzd2_3758 = BGL_UNSAFE_CELL_REF(BgL_dzd2envzd2_3611);
					BgL_lookzd2forzd2descrz00_3757:
						if (NULLP(BgL_dzd2envzd2_3758))
							{	/* Match/compiler.scm 416 */
								BgL_tmpz00_3756 = BFALSE;
							}
						else
							{	/* Match/compiler.scm 418 */
								bool_t BgL_test2376z00_4817;

								{	/* Match/compiler.scm 418 */
									obj_t BgL_auxz00_4818;

									{	/* Match/compiler.scm 418 */
										obj_t BgL_pairz00_3759;

										BgL_pairz00_3759 = CAR(((obj_t) BgL_dzd2envzd2_3758));
										BgL_auxz00_4818 = CAR(BgL_pairz00_3759);
									}
									BgL_test2376z00_4817 =
										BGl_equalzf3zf3zz__r4_equivalence_6_2z00(BgL_auxz00_4818,
										BgL_dz00_3620);
								}
								if (BgL_test2376z00_4817)
									{	/* Match/compiler.scm 418 */
										BgL_tmpz00_3756 = CAR(((obj_t) BgL_dzd2envzd2_3758));
									}
								else
									{	/* Match/compiler.scm 420 */
										obj_t BgL_arg1671z00_3760;

										BgL_arg1671z00_3760 = CDR(((obj_t) BgL_dzd2envzd2_3758));
										{
											obj_t BgL_dzd2envzd2_4827;

											BgL_dzd2envzd2_4827 = BgL_arg1671z00_3760;
											BgL_dzd2envzd2_3758 = BgL_dzd2envzd2_4827;
											goto BgL_lookzd2forzd2descrz00_3757;
										}
									}
							}
					}
					if (CBOOL(BgL_tmpz00_3756))
						{	/* Match/compiler.scm 292 */
							obj_t BgL_pairz00_3761;

							BgL_pairz00_3761 = CDR(((obj_t) BgL_tmpz00_3756));
							return CAR(BgL_pairz00_3761);
						}
					else
						{	/* Match/compiler.scm 293 */
							obj_t BgL_gz00_3762;
							obj_t BgL_tryz00_3763;

							BgL_gz00_3762 =
								BGL_PROCEDURE_CALL1(BGl_jimzd2gensymzd2zz__match_s2cfunz00,
								BGl_string2232z00zz__match_compilerz00);
							BgL_tryz00_3763 =
								BGL_PROCEDURE_CALL1(BGl_jimzd2gensymzd2zz__match_s2cfunz00,
								BGl_string2233z00zz__match_compilerz00);
							{	/* Match/compiler.scm 295 */
								obj_t BgL_auxz00_3764;

								{	/* Match/compiler.scm 295 */
									obj_t BgL_arg1516z00_3765;

									{	/* Match/compiler.scm 295 */
										obj_t BgL_list1517z00_3766;

										{	/* Match/compiler.scm 295 */
											obj_t BgL_arg1520z00_3767;

											BgL_arg1520z00_3767 =
												MAKE_YOUNG_PAIR(BgL_tryz00_3763, BNIL);
											BgL_list1517z00_3766 =
												MAKE_YOUNG_PAIR(BgL_dz00_3620, BgL_arg1520z00_3767);
										}
										BgL_arg1516z00_3765 = BgL_list1517z00_3766;
									}
									BgL_auxz00_3764 =
										MAKE_YOUNG_PAIR(BgL_arg1516z00_3765,
										BGL_UNSAFE_CELL_REF(BgL_dzd2envzd2_3611));
								}
								BGL_UNSAFE_CELL_SET(BgL_dzd2envzd2_3611, BgL_auxz00_3764);
							}
							{	/* Match/compiler.scm 296 */
								obj_t BgL_newzd2defzd2_3768;

								{	/* Match/compiler.scm 299 */
									obj_t BgL_arg1521z00_3769;

									{	/* Match/compiler.scm 299 */
										obj_t BgL_arg1524z00_3770;

										{	/* Match/compiler.scm 299 */
											obj_t BgL_arg1525z00_3771;

											{	/* Match/compiler.scm 299 */
												obj_t BgL_arg1526z00_3772;

												{	/* Match/compiler.scm 299 */
													obj_t BgL_arg1527z00_3773;

													{	/* Match/compiler.scm 299 */
														obj_t BgL_arg1528z00_3774;

														{	/* Match/compiler.scm 299 */
															obj_t BgL_arg1532z00_3775;

															{	/* Match/compiler.scm 299 */
																obj_t BgL_arg1533z00_3776;
																obj_t BgL_arg1534z00_3777;

																BgL_arg1533z00_3776 =
																	MAKE_YOUNG_PAIR(BgL_gz00_3762, BNIL);
																{	/* Match/compiler.scm 304 */
																	obj_t BgL_arg1537z00_3778;

																	{	/* Match/compiler.scm 304 */
																		obj_t BgL_zc3z04anonymousza31539ze3z87_3779;

																		BgL_zc3z04anonymousza31539ze3z87_3779 =
																			MAKE_FX_PROCEDURE
																			(BGl_z62zc3z04anonymousza31539ze3ze5zz__match_compilerz00,
																			(int) (1L), (int) (11L));
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (0L), BgL_dzd2envzd2_3611);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (1L), BgL_f2z00_3614);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (2L), BgL_fzd2envzd2_3615);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (3L), BgL_mz00_3617);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (4L), BgL_envz00_3610);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (5L), BgL_nz00_3612);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (6L), BgL_f1z00_3613);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (7L), BgL_gz00_3762);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (8L), BgL_rz00_3616);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (9L), BgL_kz00_3618);
																		PROCEDURE_SET
																			(BgL_zc3z04anonymousza31539ze3z87_3779,
																			(int) (10L), BgL_za7za7_3619);
																		BgL_arg1537z00_3778 =
																			BGl_compilez00zz__match_compilerz00
																			(BgL_f2z00_3614, BgL_gz00_3762,
																			BgL_rz00_3616, BgL_mz00_3617,
																			BgL_kz00_3618,
																			BgL_zc3z04anonymousza31539ze3z87_3779,
																			BgL_dz00_3620);
																	}
																	BgL_arg1534z00_3777 =
																		MAKE_YOUNG_PAIR(BgL_arg1537z00_3778, BNIL);
																}
																BgL_arg1532z00_3775 =
																	MAKE_YOUNG_PAIR(BgL_arg1533z00_3776,
																	BgL_arg1534z00_3777);
															}
															BgL_arg1528z00_3774 =
																MAKE_YOUNG_PAIR
																(BGl_symbol2154z00zz__match_compilerz00,
																BgL_arg1532z00_3775);
														}
														BgL_arg1527z00_3773 =
															MAKE_YOUNG_PAIR(BgL_arg1528z00_3774, BNIL);
													}
													BgL_arg1526z00_3772 =
														MAKE_YOUNG_PAIR(BgL_tryz00_3763,
														BgL_arg1527z00_3773);
												}
												BgL_arg1525z00_3771 =
													MAKE_YOUNG_PAIR(BgL_arg1526z00_3772, BNIL);
											}
											BgL_arg1524z00_3770 =
												MAKE_YOUNG_PAIR(BgL_arg1525z00_3771, BNIL);
										}
										BgL_arg1521z00_3769 =
											MAKE_YOUNG_PAIR(BGl_symbol2230z00zz__match_compilerz00,
											BgL_arg1524z00_3770);
									}
									{	/* Match/compiler.scm 296 */
										obj_t BgL_list1522z00_3780;

										{	/* Match/compiler.scm 296 */
											obj_t BgL_arg1523z00_3781;

											BgL_arg1523z00_3781 =
												MAKE_YOUNG_PAIR(BgL_arg1521z00_3769, BNIL);
											BgL_list1522z00_3780 =
												MAKE_YOUNG_PAIR(BgL_tryz00_3763, BgL_arg1523z00_3781);
										}
										BgL_newzd2defzd2_3768 = BgL_list1522z00_3780;
								}}
								{	/* Match/compiler.scm 309 */
									obj_t BgL_auxz00_3782;

									BgL_auxz00_3782 =
										MAKE_YOUNG_PAIR(BgL_newzd2defzd2_3768,
										BGL_UNSAFE_CELL_REF(BgL_fzd2envzd2_3615));
									BGL_UNSAFE_CELL_SET(BgL_fzd2envzd2_3615, BgL_auxz00_3782);
								}
								return BgL_tryz00_3763;
							}
						}
				}
			}
		}

	}



/* compile-vector-begin */
	obj_t BGl_compilezd2vectorzd2beginz00zz__match_compilerz00(obj_t
		BgL_lgminz00_118, obj_t BgL_fz00_119, obj_t BgL_ez00_120,
		obj_t BgL_rz00_121, obj_t BgL_mz00_122, obj_t BgL_kz00_123,
		obj_t BgL_za7za7_124, obj_t BgL_dz00_125)
	{
		{	/* Match/compiler.scm 334 */
			if (
				(CAR(((obj_t) BgL_dz00_125)) == BGl_symbol2234z00zz__match_compilerz00))
				{	/* Match/compiler.scm 336 */
					bool_t BgL_test2379z00_4886;

					{	/* Match/compiler.scm 336 */
						obj_t BgL_a1099z00_1791;

						{	/* Match/compiler.scm 336 */
							obj_t BgL_pairz00_2933;

							BgL_pairz00_2933 = CDR(((obj_t) BgL_dz00_125));
							BgL_a1099z00_1791 = CAR(BgL_pairz00_2933);
						}
						{	/* Match/compiler.scm 336 */
							bool_t BgL_test2380z00_4890;

							if (INTEGERP(BgL_a1099z00_1791))
								{	/* Match/compiler.scm 336 */
									BgL_test2380z00_4890 = INTEGERP(BgL_lgminz00_118);
								}
							else
								{	/* Match/compiler.scm 336 */
									BgL_test2380z00_4890 = ((bool_t) 0);
								}
							if (BgL_test2380z00_4890)
								{	/* Match/compiler.scm 336 */
									BgL_test2379z00_4886 =
										(
										(long) CINT(BgL_a1099z00_1791) >=
										(long) CINT(BgL_lgminz00_118));
								}
							else
								{	/* Match/compiler.scm 336 */
									BgL_test2379z00_4886 =
										BGl_2ze3zd3z30zz__r4_numbers_6_5z00(BgL_a1099z00_1791,
										BgL_lgminz00_118);
								}
						}
					}
					if (BgL_test2379z00_4886)
						{	/* Match/compiler.scm 337 */
							obj_t BgL_fun1549z00_1779;

							BgL_fun1549z00_1779 =
								BGl_compilez00zz__match_compilerz00(BgL_fz00_119, BgL_ez00_120,
								BgL_rz00_121, BgL_mz00_122, BgL_kz00_123, BgL_za7za7_124,
								BgL_dz00_125);
							return BGL_PROCEDURE_CALL1(BgL_fun1549z00_1779, BINT(0L));
						}
					else
						{	/* Match/compiler.scm 339 */
							obj_t BgL_arg1551z00_1780;

							{	/* Match/compiler.scm 339 */
								obj_t BgL_arg1552z00_1781;
								obj_t BgL_arg1554z00_1782;

								{	/* Match/compiler.scm 339 */
									obj_t BgL_arg1555z00_1783;

									{	/* Match/compiler.scm 339 */
										obj_t BgL_arg1558z00_1784;
										obj_t BgL_arg1559z00_1785;

										{	/* Match/compiler.scm 339 */
											obj_t BgL_arg1561z00_1786;

											BgL_arg1561z00_1786 = MAKE_YOUNG_PAIR(BgL_ez00_120, BNIL);
											BgL_arg1558z00_1784 =
												MAKE_YOUNG_PAIR(BGl_symbol2199z00zz__match_compilerz00,
												BgL_arg1561z00_1786);
										}
										BgL_arg1559z00_1785 =
											MAKE_YOUNG_PAIR(BgL_lgminz00_118, BNIL);
										BgL_arg1555z00_1783 =
											MAKE_YOUNG_PAIR(BgL_arg1558z00_1784, BgL_arg1559z00_1785);
									}
									BgL_arg1552z00_1781 =
										MAKE_YOUNG_PAIR(BGl_symbol2236z00zz__match_compilerz00,
										BgL_arg1555z00_1783);
								}
								{	/* Match/compiler.scm 340 */
									obj_t BgL_arg1562z00_1787;
									obj_t BgL_arg1563z00_1788;

									{	/* Match/compiler.scm 340 */
										obj_t BgL_fun1564z00_1789;

										BgL_fun1564z00_1789 =
											BGl_compilez00zz__match_compilerz00(BgL_fz00_119,
											BgL_ez00_120, BgL_rz00_121, BgL_mz00_122, BgL_kz00_123,
											BgL_za7za7_124, BgL_dz00_125);
										BgL_arg1562z00_1787 =
											BGL_PROCEDURE_CALL1(BgL_fun1564z00_1789, BINT(0L));
									}
									{	/* Match/compiler.scm 342 */
										obj_t BgL_arg1565z00_1790;

										BgL_arg1565z00_1790 =
											BGL_PROCEDURE_CALL1(BgL_za7za7_124, BgL_dz00_125);
										BgL_arg1563z00_1788 =
											MAKE_YOUNG_PAIR(BgL_arg1565z00_1790, BNIL);
									}
									BgL_arg1554z00_1782 =
										MAKE_YOUNG_PAIR(BgL_arg1562z00_1787, BgL_arg1563z00_1788);
								}
								BgL_arg1551z00_1780 =
									MAKE_YOUNG_PAIR(BgL_arg1552z00_1781, BgL_arg1554z00_1782);
							}
							return
								MAKE_YOUNG_PAIR(BGl_symbol2158z00zz__match_compilerz00,
								BgL_arg1551z00_1780);
						}
				}
			else
				{	/* Match/compiler.scm 343 */
					obj_t BgL_arg1568z00_1793;

					{	/* Match/compiler.scm 343 */
						obj_t BgL_arg1569z00_1794;
						obj_t BgL_arg1573z00_1795;

						{	/* Match/compiler.scm 343 */
							obj_t BgL_arg1574z00_1796;

							BgL_arg1574z00_1796 = MAKE_YOUNG_PAIR(BgL_ez00_120, BNIL);
							BgL_arg1569z00_1794 =
								MAKE_YOUNG_PAIR(BGl_symbol2238z00zz__match_compilerz00,
								BgL_arg1574z00_1796);
						}
						{	/* Match/compiler.scm 344 */
							obj_t BgL_arg1575z00_1797;
							obj_t BgL_arg1577z00_1798;

							{	/* Match/compiler.scm 344 */
								obj_t BgL_arg1578z00_1799;

								{	/* Match/compiler.scm 344 */
									obj_t BgL_arg1579z00_1800;
									obj_t BgL_arg1580z00_1801;

									{	/* Match/compiler.scm 344 */
										obj_t BgL_arg1581z00_1802;

										{	/* Match/compiler.scm 344 */
											obj_t BgL_arg1582z00_1803;
											obj_t BgL_arg1584z00_1804;

											{	/* Match/compiler.scm 344 */
												obj_t BgL_arg1586z00_1805;

												BgL_arg1586z00_1805 =
													MAKE_YOUNG_PAIR(BgL_ez00_120, BNIL);
												BgL_arg1582z00_1803 =
													MAKE_YOUNG_PAIR
													(BGl_symbol2199z00zz__match_compilerz00,
													BgL_arg1586z00_1805);
											}
											BgL_arg1584z00_1804 =
												MAKE_YOUNG_PAIR(BgL_lgminz00_118, BNIL);
											BgL_arg1581z00_1802 =
												MAKE_YOUNG_PAIR(BgL_arg1582z00_1803,
												BgL_arg1584z00_1804);
										}
										BgL_arg1579z00_1800 =
											MAKE_YOUNG_PAIR(BGl_symbol2236z00zz__match_compilerz00,
											BgL_arg1581z00_1802);
									}
									{	/* Match/compiler.scm 348 */
										obj_t BgL_arg1587z00_1806;
										obj_t BgL_arg1588z00_1807;

										{	/* Match/compiler.scm 348 */
											obj_t BgL_fun1597z00_1812;

											{	/* Match/compiler.scm 348 */
												obj_t BgL_arg1592z00_1808;

												{	/* Match/compiler.scm 348 */
													obj_t BgL_arg1593z00_1809;

													{	/* Match/compiler.scm 348 */
														obj_t BgL_arg1595z00_1810;

														BgL_arg1595z00_1810 =
															MAKE_YOUNG_PAIR(make_vector(
																(long) CINT(BgL_lgminz00_118),
																BGl_list2150z00zz__match_compilerz00), BNIL);
														BgL_arg1593z00_1809 =
															MAKE_YOUNG_PAIR(BgL_lgminz00_118,
															BgL_arg1595z00_1810);
													}
													BgL_arg1592z00_1808 =
														MAKE_YOUNG_PAIR
														(BGl_symbol2234z00zz__match_compilerz00,
														BgL_arg1593z00_1809);
												}
												BgL_fun1597z00_1812 =
													BGl_compilez00zz__match_compilerz00(BgL_fz00_119,
													BgL_ez00_120, BgL_rz00_121, BgL_mz00_122,
													BgL_kz00_123, BgL_za7za7_124, BgL_arg1592z00_1808);
											}
											BgL_arg1587z00_1806 =
												BGL_PROCEDURE_CALL1(BgL_fun1597z00_1812, BINT(0L));
										}
										{	/* Match/compiler.scm 350 */
											obj_t BgL_arg1598z00_1813;

											{	/* Match/compiler.scm 350 */
												obj_t BgL_arg1599z00_1814;

												{	/* Match/compiler.scm 350 */
													obj_t BgL_arg1600z00_1815;

													{	/* Match/compiler.scm 350 */
														obj_t BgL_arg1602z00_1816;

														BgL_arg1602z00_1816 =
															MAKE_YOUNG_PAIR(make_vector(0L,
																BGl_list2150z00zz__match_compilerz00), BNIL);
														BgL_arg1600z00_1815 =
															MAKE_YOUNG_PAIR(BINT(0L), BgL_arg1602z00_1816);
													}
													BgL_arg1599z00_1814 =
														MAKE_YOUNG_PAIR
														(BGl_symbol2234z00zz__match_compilerz00,
														BgL_arg1600z00_1815);
												}
												BgL_arg1598z00_1813 =
													BGL_PROCEDURE_CALL1(BgL_za7za7_124,
													BgL_arg1599z00_1814);
											}
											BgL_arg1588z00_1807 =
												MAKE_YOUNG_PAIR(BgL_arg1598z00_1813, BNIL);
										}
										BgL_arg1580z00_1801 =
											MAKE_YOUNG_PAIR(BgL_arg1587z00_1806, BgL_arg1588z00_1807);
									}
									BgL_arg1578z00_1799 =
										MAKE_YOUNG_PAIR(BgL_arg1579z00_1800, BgL_arg1580z00_1801);
								}
								BgL_arg1575z00_1797 =
									MAKE_YOUNG_PAIR(BGl_symbol2158z00zz__match_compilerz00,
									BgL_arg1578z00_1799);
							}
							{	/* Match/compiler.scm 351 */
								obj_t BgL_arg1604z00_1818;

								{	/* Match/compiler.scm 351 */
									obj_t BgL_arg1605z00_1819;

									BgL_arg1605z00_1819 =
										BGl_patternzd2pluszd2zz__match_descriptionsz00(BgL_dz00_125,
										BGl_list2240z00zz__match_compilerz00);
									BgL_arg1604z00_1818 =
										BGL_PROCEDURE_CALL1(BgL_za7za7_124, BgL_arg1605z00_1819);
								}
								BgL_arg1577z00_1798 =
									MAKE_YOUNG_PAIR(BgL_arg1604z00_1818, BNIL);
							}
							BgL_arg1573z00_1795 =
								MAKE_YOUNG_PAIR(BgL_arg1575z00_1797, BgL_arg1577z00_1798);
						}
						BgL_arg1568z00_1793 =
							MAKE_YOUNG_PAIR(BgL_arg1569z00_1794, BgL_arg1573z00_1795);
					}
					return
						MAKE_YOUNG_PAIR(BGl_symbol2158z00zz__match_compilerz00,
						BgL_arg1568z00_1793);
				}
		}

	}



/* compile-vector-cons */
	obj_t BGl_compilezd2vectorzd2consz00zz__match_compilerz00(obj_t BgL_f1z00_126,
		obj_t BgL_f2z00_127, obj_t BgL_ez00_128, obj_t BgL_rz00_129,
		obj_t BgL_mz00_130, obj_t BgL_kz00_131, obj_t BgL_za7za7_132,
		obj_t BgL_dz00_133)
	{
		{	/* Match/compiler.scm 357 */
			{	/* Match/compiler.scm 358 */
				obj_t BgL_zc3z04anonymousza31606ze3z87_3629;

				BgL_zc3z04anonymousza31606ze3z87_3629 =
					MAKE_FX_PROCEDURE
					(BGl_z62zc3z04anonymousza31606ze3ze5zz__match_compilerz00, (int) (1L),
					(int) (8L));
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (0L),
					BgL_dz00_133);
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (1L),
					BgL_ez00_128);
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (2L),
					BgL_f2z00_127);
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (3L),
					BgL_mz00_130);
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (4L),
					BgL_kz00_131);
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (5L),
					BgL_za7za7_132);
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (6L),
					BgL_f1z00_126);
				PROCEDURE_SET(BgL_zc3z04anonymousza31606ze3z87_3629, (int) (7L),
					BgL_rz00_129);
				return BgL_zc3z04anonymousza31606ze3z87_3629;
			}
		}

	}



/* &<@anonymous:1606> */
	obj_t BGl_z62zc3z04anonymousza31606ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3630, obj_t BgL_iz00_3639)
	{
		{	/* Match/compiler.scm 358 */
			{	/* Match/compiler.scm 359 */
				obj_t BgL_dz00_3631;
				obj_t BgL_ez00_3632;
				obj_t BgL_f2z00_3633;
				obj_t BgL_mz00_3634;
				obj_t BgL_kz00_3635;
				obj_t BgL_za7za7_3636;
				obj_t BgL_f1z00_3637;
				obj_t BgL_rz00_3638;

				BgL_dz00_3631 = PROCEDURE_REF(BgL_envz00_3630, (int) (0L));
				BgL_ez00_3632 = PROCEDURE_REF(BgL_envz00_3630, (int) (1L));
				BgL_f2z00_3633 = PROCEDURE_REF(BgL_envz00_3630, (int) (2L));
				BgL_mz00_3634 = PROCEDURE_REF(BgL_envz00_3630, (int) (3L));
				BgL_kz00_3635 = PROCEDURE_REF(BgL_envz00_3630, (int) (4L));
				BgL_za7za7_3636 = PROCEDURE_REF(BgL_envz00_3630, (int) (5L));
				BgL_f1z00_3637 = PROCEDURE_REF(BgL_envz00_3630, (int) (6L));
				BgL_rz00_3638 = PROCEDURE_REF(BgL_envz00_3630, (int) (7L));
				{	/* Match/compiler.scm 359 */
					bool_t BgL_test2382z00_4998;

					{	/* Match/compiler.scm 359 */
						long BgL_b1100z00_3783;

						{	/* Match/compiler.scm 359 */
							obj_t BgL_arg1615z00_3784;

							{	/* Match/compiler.scm 359 */
								obj_t BgL_pairz00_3785;

								{	/* Match/compiler.scm 359 */
									obj_t BgL_pairz00_3786;

									BgL_pairz00_3786 = CDR(((obj_t) BgL_dz00_3631));
									BgL_pairz00_3785 = CDR(BgL_pairz00_3786);
								}
								BgL_arg1615z00_3784 = CAR(BgL_pairz00_3785);
							}
							BgL_b1100z00_3783 = VECTOR_LENGTH(((obj_t) BgL_arg1615z00_3784));
						}
						if (INTEGERP(BgL_iz00_3639))
							{	/* Match/compiler.scm 359 */
								BgL_test2382z00_4998 =
									((long) CINT(BgL_iz00_3639) >= BgL_b1100z00_3783);
							}
						else
							{	/* Match/compiler.scm 359 */
								BgL_test2382z00_4998 =
									BGl_2ze3zd3z30zz__r4_numbers_6_5z00(BgL_iz00_3639,
									BINT(BgL_b1100z00_3783));
							}
					}
					if (BgL_test2382z00_4998)
						{	/* Match/compiler.scm 360 */
							obj_t BgL_arg1610z00_3787;
							obj_t BgL_arg1612z00_3788;

							{	/* Match/compiler.scm 360 */
								obj_t BgL_pairz00_3789;

								BgL_pairz00_3789 = CDR(((obj_t) BgL_dz00_3631));
								BgL_arg1610z00_3787 = CDR(BgL_pairz00_3789);
							}
							{	/* Match/compiler.scm 361 */
								obj_t BgL_arg1613z00_3790;
								obj_t BgL_arg1614z00_3791;

								{	/* Match/compiler.scm 361 */
									obj_t BgL_pairz00_3792;

									{	/* Match/compiler.scm 361 */
										obj_t BgL_pairz00_3793;

										BgL_pairz00_3793 = CDR(((obj_t) BgL_dz00_3631));
										BgL_pairz00_3792 = CDR(BgL_pairz00_3793);
									}
									BgL_arg1613z00_3790 = CAR(BgL_pairz00_3792);
								}
								if (INTEGERP(BgL_iz00_3639))
									{	/* Match/compiler.scm 361 */
										obj_t BgL_tmpz00_3794;

										BgL_tmpz00_3794 = BINT(0L);
										{	/* Match/compiler.scm 361 */
											bool_t BgL_test2385z00_5021;

											{	/* Match/compiler.scm 361 */
												obj_t BgL_tmpz00_5022;

												BgL_tmpz00_5022 = BINT(1L);
												BgL_test2385z00_5021 =
													BGL_ADDFX_OV(BgL_iz00_3639, BgL_tmpz00_5022,
													BgL_tmpz00_3794);
											}
											if (BgL_test2385z00_5021)
												{	/* Match/compiler.scm 361 */
													BgL_arg1614z00_3791 =
														bgl_bignum_add(bgl_long_to_bignum(
															(long) CINT(BgL_iz00_3639)),
														bgl_long_to_bignum(1L));
												}
											else
												{	/* Match/compiler.scm 361 */
													BgL_arg1614z00_3791 = BgL_tmpz00_3794;
												}
										}
									}
								else
									{	/* Match/compiler.scm 361 */
										BgL_arg1614z00_3791 =
											BGl_2zb2zb2zz__r4_numbers_6_5z00(BgL_iz00_3639, BINT(1L));
									}
								BgL_arg1612z00_3788 =
									BGl_extendzd2vectorzd2zz__match_descriptionsz00
									(BgL_arg1613z00_3790, BgL_arg1614z00_3791,
									BGl_list2150z00zz__match_compilerz00);
							}
							{	/* Match/compiler.scm 360 */
								obj_t BgL_tmpz00_5032;

								BgL_tmpz00_5032 = ((obj_t) BgL_arg1610z00_3787);
								SET_CAR(BgL_tmpz00_5032, BgL_arg1612z00_3788);
							}
						}
					else
						{	/* Match/compiler.scm 359 */
							BTRUE;
						}
				}
				{	/* Match/compiler.scm 363 */
					obj_t BgL_arg1616z00_3795;
					obj_t BgL_arg1620z00_3796;

					{	/* Match/compiler.scm 363 */
						obj_t BgL_arg1621z00_3797;

						{	/* Match/compiler.scm 363 */
							obj_t BgL_arg1622z00_3798;

							BgL_arg1622z00_3798 = MAKE_YOUNG_PAIR(BgL_iz00_3639, BNIL);
							BgL_arg1621z00_3797 =
								MAKE_YOUNG_PAIR(BgL_ez00_3632, BgL_arg1622z00_3798);
						}
						BgL_arg1616z00_3795 =
							MAKE_YOUNG_PAIR(BGl_symbol2242z00zz__match_compilerz00,
							BgL_arg1621z00_3797);
					}
					{	/* Match/compiler.scm 369 */
						obj_t BgL_arg1629z00_3799;

						{	/* Match/compiler.scm 369 */
							obj_t BgL_pairz00_3800;

							{	/* Match/compiler.scm 369 */
								obj_t BgL_pairz00_3801;

								BgL_pairz00_3801 = CDR(((obj_t) BgL_dz00_3631));
								BgL_pairz00_3800 = CDR(BgL_pairz00_3801);
							}
							BgL_arg1629z00_3799 = CAR(BgL_pairz00_3800);
						}
						{	/* Match/compiler.scm 369 */
							long BgL_kz00_3802;

							BgL_kz00_3802 = (long) CINT(BgL_iz00_3639);
							BgL_arg1620z00_3796 =
								VECTOR_REF(((obj_t) BgL_arg1629z00_3799), BgL_kz00_3802);
					}}
					{	/* Match/compiler.scm 365 */
						obj_t BgL_zc3z04anonymousza31623ze3z87_3803;
						obj_t BgL_zc3z04anonymousza31627ze3z87_3804;

						BgL_zc3z04anonymousza31623ze3z87_3803 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31623ze3ze5zz__match_compilerz00,
							(int) (3L), (int) (7L));
						BgL_zc3z04anonymousza31627ze3z87_3804 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31627ze3ze5zz__match_compilerz00,
							(int) (1L), (int) (3L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31623ze3z87_3803, (int) (0L),
							BgL_dz00_3631);
						PROCEDURE_SET(BgL_zc3z04anonymousza31623ze3z87_3803, (int) (1L),
							BgL_iz00_3639);
						PROCEDURE_SET(BgL_zc3z04anonymousza31623ze3z87_3803, (int) (2L),
							BgL_f2z00_3633);
						PROCEDURE_SET(BgL_zc3z04anonymousza31623ze3z87_3803, (int) (3L),
							BgL_ez00_3632);
						PROCEDURE_SET(BgL_zc3z04anonymousza31623ze3z87_3803, (int) (4L),
							BgL_mz00_3634);
						PROCEDURE_SET(BgL_zc3z04anonymousza31623ze3z87_3803, (int) (5L),
							BgL_kz00_3635);
						PROCEDURE_SET(BgL_zc3z04anonymousza31623ze3z87_3803, (int) (6L),
							BgL_za7za7_3636);
						PROCEDURE_SET(BgL_zc3z04anonymousza31627ze3z87_3804, (int) (0L),
							BgL_dz00_3631);
						PROCEDURE_SET(BgL_zc3z04anonymousza31627ze3z87_3804, (int) (1L),
							BgL_iz00_3639);
						PROCEDURE_SET(BgL_zc3z04anonymousza31627ze3z87_3804, (int) (2L),
							BgL_za7za7_3636);
						return BGl_compilez00zz__match_compilerz00(BgL_f1z00_3637,
							BgL_arg1616z00_3795, BgL_rz00_3638, BgL_mz00_3634,
							BgL_zc3z04anonymousza31623ze3z87_3803,
							BgL_zc3z04anonymousza31627ze3z87_3804, BgL_arg1620z00_3796);
					}
				}
			}
		}

	}



/* &<@anonymous:1627> */
	obj_t BGl_z62zc3z04anonymousza31627ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3640, obj_t BgL_d1z00_3644)
	{
		{	/* Match/compiler.scm 367 */
			{	/* Match/compiler.scm 368 */
				obj_t BgL_dz00_3641;
				obj_t BgL_iz00_3642;
				obj_t BgL_za7za7_3643;

				BgL_dz00_3641 = PROCEDURE_REF(BgL_envz00_3640, (int) (0L));
				BgL_iz00_3642 = PROCEDURE_REF(BgL_envz00_3640, (int) (1L));
				BgL_za7za7_3643 = PROCEDURE_REF(BgL_envz00_3640, (int) (2L));
				{	/* Match/compiler.scm 368 */
					obj_t BgL_arg1628z00_3805;

					BgL_arg1628z00_3805 =
						BGl_vectorzd2pluszd2zz__match_descriptionsz00(BgL_dz00_3641,
						BgL_iz00_3642, BgL_d1z00_3644);
					return BGL_PROCEDURE_CALL1(BgL_za7za7_3643, BgL_arg1628z00_3805);
				}
			}
		}

	}



/* &<@anonymous:1623> */
	obj_t BGl_z62zc3z04anonymousza31623ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3645, obj_t BgL_rz00_3653, obj_t BgL_za71za7_3654,
		obj_t BgL_d1z00_3655)
	{
		{	/* Match/compiler.scm 364 */
			{	/* Match/compiler.scm 365 */
				obj_t BgL_dz00_3646;
				obj_t BgL_iz00_3647;
				obj_t BgL_f2z00_3648;
				obj_t BgL_ez00_3649;
				obj_t BgL_mz00_3650;
				obj_t BgL_kz00_3651;
				obj_t BgL_za7za7_3652;

				BgL_dz00_3646 = PROCEDURE_REF(BgL_envz00_3645, (int) (0L));
				BgL_iz00_3647 = PROCEDURE_REF(BgL_envz00_3645, (int) (1L));
				BgL_f2z00_3648 = PROCEDURE_REF(BgL_envz00_3645, (int) (2L));
				BgL_ez00_3649 = PROCEDURE_REF(BgL_envz00_3645, (int) (3L));
				BgL_mz00_3650 = PROCEDURE_REF(BgL_envz00_3645, (int) (4L));
				BgL_kz00_3651 = PROCEDURE_REF(BgL_envz00_3645, (int) (5L));
				BgL_za7za7_3652 = PROCEDURE_REF(BgL_envz00_3645, (int) (6L));
				{	/* Match/compiler.scm 365 */
					obj_t BgL_fun1626z00_3806;

					BgL_fun1626z00_3806 =
						BGl_compilez00zz__match_compilerz00(BgL_f2z00_3648, BgL_ez00_3649,
						BgL_rz00_3653, BgL_mz00_3650, BgL_kz00_3651, BgL_za7za7_3652,
						BGl_vectorzd2pluszd2zz__match_descriptionsz00(BgL_dz00_3646,
							BgL_iz00_3647, BgL_d1z00_3655));
					{	/* Match/compiler.scm 366 */
						obj_t BgL_arg1625z00_3807;

						if (INTEGERP(BgL_iz00_3647))
							{	/* Match/compiler.scm 366 */
								obj_t BgL_tmpz00_3808;

								BgL_tmpz00_3808 = BINT(0L);
								{	/* Match/compiler.scm 366 */
									bool_t BgL_test2387z00_5102;

									{	/* Match/compiler.scm 366 */
										obj_t BgL_tmpz00_5103;

										BgL_tmpz00_5103 = BINT(1L);
										BgL_test2387z00_5102 =
											BGL_ADDFX_OV(BgL_iz00_3647, BgL_tmpz00_5103,
											BgL_tmpz00_3808);
									}
									if (BgL_test2387z00_5102)
										{	/* Match/compiler.scm 366 */
											BgL_arg1625z00_3807 =
												bgl_bignum_add(bgl_long_to_bignum(
													(long) CINT(BgL_iz00_3647)), bgl_long_to_bignum(1L));
										}
									else
										{	/* Match/compiler.scm 366 */
											BgL_arg1625z00_3807 = BgL_tmpz00_3808;
										}
								}
							}
						else
							{	/* Match/compiler.scm 366 */
								BgL_arg1625z00_3807 =
									BGl_2zb2zb2zz__r4_numbers_6_5z00(BgL_iz00_3647, BINT(1L));
							}
						return
							BGL_PROCEDURE_CALL1(BgL_fun1626z00_3806, BgL_arg1625z00_3807);
					}
				}
			}
		}

	}



/* compile-struct-pat */
	obj_t BGl_compilezd2structzd2patz00zz__match_compilerz00(obj_t BgL_fz00_155,
		obj_t BgL_ez00_156, obj_t BgL_rz00_157, obj_t BgL_mz00_158,
		obj_t BgL_kz00_159, obj_t BgL_za7za7_160, obj_t BgL_dz00_161)
	{
		{	/* Match/compiler.scm 387 */
			{	/* Match/compiler.scm 388 */
				obj_t BgL_predz00_1865;

				{	/* Match/compiler.scm 389 */
					obj_t BgL_pairz00_3009;

					{	/* Match/compiler.scm 389 */
						obj_t BgL_pairz00_3008;

						BgL_pairz00_3008 = CDR(((obj_t) BgL_fz00_155));
						BgL_pairz00_3009 = CDR(BgL_pairz00_3008);
					}
					BgL_predz00_1865 = CAR(BgL_pairz00_3009);
				}
				{	/* Match/compiler.scm 389 */
					obj_t BgL_pza2za2_1866;

					{	/* Match/compiler.scm 390 */
						obj_t BgL_pairz00_3015;

						{	/* Match/compiler.scm 390 */
							obj_t BgL_pairz00_3014;

							BgL_pairz00_3014 = CDR(((obj_t) BgL_fz00_155));
							BgL_pairz00_3015 = CDR(BgL_pairz00_3014);
						}
						BgL_pza2za2_1866 = CDR(BgL_pairz00_3015);
					}
					{	/* Match/compiler.scm 390 */
						obj_t BgL_za2kza2z00_1867;

						BgL_za2kza2z00_1867 =
							BGL_PROCEDURE_CALL1(BGl_jimzd2gensymzd2zz__match_s2cfunz00,
							BGl_string2219z00zz__match_compilerz00);
						{	/* Match/compiler.scm 391 */
							obj_t BgL_za2varsza2z00_1868;

							BgL_za2varsza2z00_1868 =
								BGl_patternzd2variableszd2zz__match_descriptionsz00
								(BgL_fz00_155);
							{	/* Match/compiler.scm 392 */
								obj_t BgL_za2callza2z00_1869;

								BgL_za2callza2z00_1869 =
									MAKE_YOUNG_PAIR(BgL_za2kza2z00_1867, BgL_za2varsza2z00_1868);
								{	/* Match/compiler.scm 393 */
									obj_t BgL_successzd2formzd2_1870;

									{	/* Match/compiler.scm 394 */
										obj_t BgL_arg1651z00_1888;

										BgL_arg1651z00_1888 =
											BGl_extendza2za2zz__match_compilerz00(BgL_rz00_157,
											BgL_za2varsza2z00_1868);
										BgL_successzd2formzd2_1870 =
											BGL_PROCEDURE_CALL3(BgL_kz00_159, BgL_arg1651z00_1888,
											BgL_za7za7_160, BgL_dz00_161);
									}
									{	/* Match/compiler.scm 394 */
										obj_t BgL_failurezd2formzd2_1871;

										BgL_failurezd2formzd2_1871 =
											BGL_PROCEDURE_CALL1(BgL_za7za7_160, BgL_dz00_161);
										{	/* Match/compiler.scm 395 */
											obj_t BgL_indexesz00_1872;

											{	/* Match/compiler.scm 396 */
												obj_t BgL_arg1649z00_1886;

												{	/* Match/compiler.scm 396 */
													long BgL_a1101z00_1887;

													BgL_a1101z00_1887 = bgl_list_length(BgL_pza2za2_1866);
													{	/* Match/compiler.scm 396 */
														obj_t BgL_za71za7_3016;

														BgL_za71za7_3016 = BINT(BgL_a1101z00_1887);
														{	/* Match/compiler.scm 396 */
															obj_t BgL_tmpz00_3018;

															BgL_tmpz00_3018 = BINT(0L);
															{	/* Match/compiler.scm 396 */
																bool_t BgL_test2388z00_5144;

																{	/* Match/compiler.scm 396 */
																	obj_t BgL_tmpz00_5145;

																	BgL_tmpz00_5145 = BINT(1L);
																	BgL_test2388z00_5144 =
																		BGL_SUBFX_OV(BgL_za71za7_3016,
																		BgL_tmpz00_5145, BgL_tmpz00_3018);
																}
																if (BgL_test2388z00_5144)
																	{	/* Match/compiler.scm 396 */
																		BgL_arg1649z00_1886 =
																			bgl_bignum_sub(bgl_long_to_bignum(
																				(long) CINT(BgL_za71za7_3016)),
																			bgl_long_to_bignum(1L));
																	}
																else
																	{	/* Match/compiler.scm 396 */
																		BgL_arg1649z00_1886 = BgL_tmpz00_3018;
																	}
															}
														}
													}
												}
												BgL_indexesz00_1872 =
													BGl_integersz00zz__match_compilerz00(BINT(0L),
													BgL_arg1649z00_1886);
											}
											{	/* Match/compiler.scm 396 */

												{	/* Match/compiler.scm 397 */
													obj_t BgL_arg1641z00_1873;
													obj_t BgL_arg1642z00_1874;

													{	/* Match/compiler.scm 397 */
														obj_t BgL_arg1643z00_1875;

														BgL_arg1643z00_1875 =
															MAKE_YOUNG_PAIR(BgL_ez00_156, BNIL);
														BgL_arg1641z00_1873 =
															MAKE_YOUNG_PAIR(BgL_predz00_1865,
															BgL_arg1643z00_1875);
													}
													{	/* Match/compiler.scm 400 */
														obj_t BgL_zc3z04anonymousza31647ze3z87_3656;

														BgL_zc3z04anonymousza31647ze3z87_3656 =
															MAKE_FX_PROCEDURE
															(BGl_z62zc3z04anonymousza31647ze3ze5zz__match_compilerz00,
															(int) (1L), (int) (1L));
														PROCEDURE_SET(BgL_zc3z04anonymousza31647ze3z87_3656,
															(int) (0L), BgL_failurezd2formzd2_1871);
														BgL_arg1642z00_1874 =
															BGl_z62compileza2zc0zz__match_compilerz00
															(BgL_successzd2formzd2_1870,
															BgL_zc3z04anonymousza31647ze3z87_3656,
															BgL_mz00_158, BgL_ez00_156,
															BgL_failurezd2formzd2_1871, BgL_pza2za2_1866,
															BgL_indexesz00_1872, BgL_rz00_157,
															BGl_list2150z00zz__match_compilerz00);
													}
													return
														BGl_buildzd2ifzd2zz__match_compilerz00
														(BgL_arg1641z00_1873, BgL_arg1642z00_1874,
														BgL_failurezd2formzd2_1871);
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* &compile* */
	obj_t BGl_z62compileza2zc0zz__match_compilerz00(obj_t
		BgL_successzd2formzd2_3663, obj_t BgL_zc3z04anonymousza31647ze3z87_3662,
		obj_t BgL_mz00_3661, obj_t BgL_ez00_3660, obj_t BgL_failurezd2formzd2_3659,
		obj_t BgL_pza2za2_3027, obj_t BgL_iza2za2_3028, obj_t BgL_rz00_3029,
		obj_t BgL_dz00_3030)
	{
		{	/* Match/compiler.scm 405 */
			if (NULLP(BgL_pza2za2_3027))
				{	/* Match/compiler.scm 406 */
					return BgL_successzd2formzd2_3663;
				}
			else
				{	/* Match/compiler.scm 408 */
					obj_t BgL_arg1653z00_3032;
					obj_t BgL_arg1655z00_3033;

					BgL_arg1653z00_3032 = CAR(((obj_t) BgL_pza2za2_3027));
					{	/* Match/compiler.scm 408 */
						obj_t BgL_arg1659z00_3034;

						{	/* Match/compiler.scm 408 */
							obj_t BgL_arg1660z00_3035;

							{	/* Match/compiler.scm 408 */
								obj_t BgL_arg1662z00_3036;

								BgL_arg1662z00_3036 = CAR(((obj_t) BgL_iza2za2_3028));
								BgL_arg1660z00_3035 =
									MAKE_YOUNG_PAIR(BgL_arg1662z00_3036, BNIL);
							}
							BgL_arg1659z00_3034 =
								MAKE_YOUNG_PAIR(BgL_ez00_3660, BgL_arg1660z00_3035);
						}
						BgL_arg1655z00_3033 =
							MAKE_YOUNG_PAIR(BGl_symbol2244z00zz__match_compilerz00,
							BgL_arg1659z00_3034);
					}
					{	/* Match/compiler.scm 410 */
						obj_t BgL_zc3z04anonymousza31663ze3z87_3657;

						BgL_zc3z04anonymousza31663ze3z87_3657 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31663ze3ze5zz__match_compilerz00,
							(int) (3L), (int) (7L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31663ze3z87_3657, (int) (0L),
							BgL_failurezd2formzd2_3659);
						PROCEDURE_SET(BgL_zc3z04anonymousza31663ze3z87_3657, (int) (1L),
							BgL_ez00_3660);
						PROCEDURE_SET(BgL_zc3z04anonymousza31663ze3z87_3657, (int) (2L),
							BgL_mz00_3661);
						PROCEDURE_SET(BgL_zc3z04anonymousza31663ze3z87_3657, (int) (3L),
							BgL_zc3z04anonymousza31647ze3z87_3662);
						PROCEDURE_SET(BgL_zc3z04anonymousza31663ze3z87_3657, (int) (4L),
							BgL_successzd2formzd2_3663);
						PROCEDURE_SET(BgL_zc3z04anonymousza31663ze3z87_3657, (int) (5L),
							BgL_pza2za2_3027);
						PROCEDURE_SET(BgL_zc3z04anonymousza31663ze3z87_3657, (int) (6L),
							BgL_iza2za2_3028);
						return BGl_compilez00zz__match_compilerz00(BgL_arg1653z00_3032,
							BgL_arg1655z00_3033, BgL_rz00_3029, BgL_mz00_3661,
							BgL_zc3z04anonymousza31663ze3z87_3657,
							BgL_zc3z04anonymousza31647ze3z87_3662,
							BGl_list2150z00zz__match_compilerz00);
					}
				}
		}

	}



/* &<@anonymous:1647> */
	obj_t BGl_z62zc3z04anonymousza31647ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3664, obj_t BgL_dz00_3666)
	{
		{	/* Match/compiler.scm 401 */
			return PROCEDURE_REF(BgL_envz00_3664, (int) (0L));
		}

	}



/* &<@anonymous:1663> */
	obj_t BGl_z62zc3z04anonymousza31663ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3667, obj_t BgL_rrz00_3675, obj_t BgL_za7za7z00_3676,
		obj_t BgL_ddz00_3677)
	{
		{	/* Match/compiler.scm 409 */
			{	/* Match/compiler.scm 410 */
				obj_t BgL_failurezd2formzd2_3668;
				obj_t BgL_ez00_3669;
				obj_t BgL_mz00_3670;
				obj_t BgL_zc3z04anonymousza31647ze3z87_3671;
				obj_t BgL_successzd2formzd2_3672;
				obj_t BgL_pza2za2_3673;
				obj_t BgL_iza2za2_3674;

				BgL_failurezd2formzd2_3668 = PROCEDURE_REF(BgL_envz00_3667, (int) (0L));
				BgL_ez00_3669 = PROCEDURE_REF(BgL_envz00_3667, (int) (1L));
				BgL_mz00_3670 = PROCEDURE_REF(BgL_envz00_3667, (int) (2L));
				BgL_zc3z04anonymousza31647ze3z87_3671 =
					((obj_t) PROCEDURE_REF(BgL_envz00_3667, (int) (3L)));
				BgL_successzd2formzd2_3672 = PROCEDURE_REF(BgL_envz00_3667, (int) (4L));
				BgL_pza2za2_3673 = PROCEDURE_REF(BgL_envz00_3667, (int) (5L));
				BgL_iza2za2_3674 = PROCEDURE_REF(BgL_envz00_3667, (int) (6L));
				{	/* Match/compiler.scm 410 */
					obj_t BgL_arg1664z00_3809;
					obj_t BgL_arg1665z00_3810;

					BgL_arg1664z00_3809 = CDR(((obj_t) BgL_pza2za2_3673));
					BgL_arg1665z00_3810 = CDR(((obj_t) BgL_iza2za2_3674));
					return
						BGl_z62compileza2zc0zz__match_compilerz00
						(BgL_successzd2formzd2_3672, BgL_zc3z04anonymousza31647ze3z87_3671,
						BgL_mz00_3670, BgL_ez00_3669, BgL_failurezd2formzd2_3668,
						BgL_arg1664z00_3809, BgL_arg1665z00_3810, BgL_rrz00_3675,
						BGl_list2150z00zz__match_compilerz00);
				}
			}
		}

	}



/* &k-init */
	obj_t BGl_z62kzd2initzb0zz__match_compilerz00(obj_t BgL_envz00_3445,
		obj_t BgL_rz00_3446, obj_t BgL_za7za7_3447, obj_t BgL_dz00_3448)
	{
		{	/* Match/compiler.scm 423 */
			return BBOOL(((bool_t) 1));
		}

	}



/* &z-init */
	obj_t BGl_z62za7zd2initz17zz__match_compilerz00(obj_t BgL_envz00_3449,
		obj_t BgL_dz00_3450)
	{
		{	/* Match/compiler.scm 425 */
			return BBOOL(((bool_t) 0));
		}

	}



/* extend* */
	obj_t BGl_extendza2za2zz__match_compilerz00(obj_t BgL_rz00_181,
		obj_t BgL_vza2za2_182)
	{
		{	/* Match/compiler.scm 442 */
			if (NULLP(BgL_vza2za2_182))
				{	/* Match/compiler.scm 443 */
					return BgL_rz00_181;
				}
			else
				{	/* Match/compiler.scm 445 */
					obj_t BgL_arg1681z00_3111;
					obj_t BgL_arg1683z00_3112;

					{	/* Match/compiler.scm 445 */
						obj_t BgL_arg1687z00_3113;

						BgL_arg1687z00_3113 = CDR(((obj_t) BgL_vza2za2_182));
						BgL_arg1681z00_3111 =
							BGl_extendza2za2zz__match_compilerz00(BgL_rz00_181,
							BgL_arg1687z00_3113);
					}
					BgL_arg1683z00_3112 = CAR(((obj_t) BgL_vza2za2_182));
					{	/* Match/compiler.scm 445 */
						obj_t BgL_imz00_3116;

						BgL_imz00_3116 = BGl_symbol2246z00zz__match_compilerz00;
						{	/* Match/compiler.scm 435 */
							obj_t BgL_arg1673z00_3117;

							BgL_arg1673z00_3117 =
								MAKE_YOUNG_PAIR(BgL_arg1683z00_3112, BgL_imz00_3116);
							return MAKE_YOUNG_PAIR(BgL_arg1673z00_3117, BgL_arg1681z00_3111);
						}
					}
				}
		}

	}



/* &m-init */
	obj_t BGl_z62mzd2initzb0zz__match_compilerz00(obj_t BgL_envz00_3443,
		obj_t BgL_nz00_3444)
	{
		{	/* Match/compiler.scm 450 */
			{	/* Match/compiler.scm 451 */
				obj_t BgL_zc3z04anonymousza31688ze3z87_3811;

				BgL_zc3z04anonymousza31688ze3z87_3811 =
					MAKE_FX_PROCEDURE
					(BGl_z62zc3z04anonymousza31688ze3ze5zz__match_compilerz00, (int) (5L),
					(int) (1L));
				PROCEDURE_SET(BgL_zc3z04anonymousza31688ze3z87_3811, (int) (0L),
					BgL_nz00_3444);
				return BgL_zc3z04anonymousza31688ze3z87_3811;
			}
		}

	}



/* &<@anonymous:1688> */
	obj_t BGl_z62zc3z04anonymousza31688ze3ze5zz__match_compilerz00(obj_t
		BgL_envz00_3679, obj_t BgL_ez00_3681, obj_t BgL_rz00_3682,
		obj_t BgL_kz00_3683, obj_t BgL_za7za7_3684, obj_t BgL_cz00_3685)
	{
		{	/* Match/compiler.scm 451 */
			{	/* Match/compiler.scm 452 */
				obj_t BgL_nz00_3680;

				BgL_nz00_3680 = PROCEDURE_REF(BgL_envz00_3679, (int) (0L));
				{	/* Match/compiler.scm 452 */
					obj_t BgL_list1689z00_3812;

					{	/* Match/compiler.scm 452 */
						obj_t BgL_arg1690z00_3813;

						BgL_arg1690z00_3813 = MAKE_YOUNG_PAIR(BgL_nz00_3680, BNIL);
						BgL_list1689z00_3812 =
							MAKE_YOUNG_PAIR(BGl_string2248z00zz__match_compilerz00,
							BgL_arg1690z00_3813);
					}
					return
						BGl_errorz00zz__errorz00(BGl_string2181z00zz__match_compilerz00,
						BgL_list1689z00_3812, BGl_string2182z00zz__match_compilerz00);
				}
			}
		}

	}



/* build-if */
	obj_t BGl_buildzd2ifzd2zz__match_compilerz00(obj_t BgL_tstz00_191,
		obj_t BgL_thenz00_192, obj_t BgL_elsez00_193)
	{
		{	/* Match/compiler.scm 470 */
			if ((BgL_tstz00_191 == BTRUE))
				{	/* Match/compiler.scm 472 */
					return BgL_thenz00_192;
				}
			else
				{	/* Match/compiler.scm 472 */
					if ((BgL_tstz00_191 == BFALSE))
						{	/* Match/compiler.scm 473 */
							return BgL_elsez00_193;
						}
					else
						{	/* Match/compiler.scm 474 */
							bool_t BgL_test2393z00_5237;

							if ((BgL_thenz00_192 == BTRUE))
								{	/* Match/compiler.scm 474 */
									BgL_test2393z00_5237 = (BgL_elsez00_193 == BFALSE);
								}
							else
								{	/* Match/compiler.scm 474 */
									BgL_test2393z00_5237 = ((bool_t) 0);
								}
							if (BgL_test2393z00_5237)
								{	/* Match/compiler.scm 474 */
									return BgL_tstz00_191;
								}
							else
								{	/* Match/compiler.scm 477 */
									bool_t BgL_test2395z00_5241;

									if ((BgL_thenz00_192 == BFALSE))
										{	/* Match/compiler.scm 477 */
											BgL_test2395z00_5241 = (BgL_elsez00_193 == BTRUE);
										}
									else
										{	/* Match/compiler.scm 477 */
											BgL_test2395z00_5241 = ((bool_t) 0);
										}
									if (BgL_test2395z00_5241)
										{	/* Match/compiler.scm 479 */
											obj_t BgL_arg1702z00_1931;

											BgL_arg1702z00_1931 =
												MAKE_YOUNG_PAIR(BgL_tstz00_191, BNIL);
											return
												MAKE_YOUNG_PAIR(BGl_symbol2164z00zz__match_compilerz00,
												BgL_arg1702z00_1931);
										}
									else
										{	/* Match/compiler.scm 480 */
											obj_t BgL_arg1703z00_1932;

											{	/* Match/compiler.scm 480 */
												obj_t BgL_arg1705z00_1933;

												{	/* Match/compiler.scm 480 */
													obj_t BgL_arg1706z00_1934;

													BgL_arg1706z00_1934 =
														MAKE_YOUNG_PAIR(BgL_elsez00_193, BNIL);
													BgL_arg1705z00_1933 =
														MAKE_YOUNG_PAIR(BgL_thenz00_192,
														BgL_arg1706z00_1934);
												}
												BgL_arg1703z00_1932 =
													MAKE_YOUNG_PAIR(BgL_tstz00_191, BgL_arg1705z00_1933);
											}
											return
												MAKE_YOUNG_PAIR(BGl_symbol2158z00zz__match_compilerz00,
												BgL_arg1703z00_1932);
										}
								}
						}
				}
		}

	}



/* build-let */
	obj_t BGl_buildzd2letzd2zz__match_compilerz00(obj_t BgL_za2carza2z00_194,
		obj_t BgL_za2cdrza2z00_195, obj_t BgL_ez00_196, obj_t BgL_bodyz00_197)
	{
		{	/* Match/compiler.scm 482 */
			{	/* Match/compiler.scm 483 */
				bool_t BgL_test2397z00_5251;

				{	/* Match/compiler.scm 483 */
					obj_t BgL_a1102z00_1980;

					BgL_a1102z00_1980 =
						BGl_countzd2occurrenceszd2zz__match_compilerz00
						(BgL_za2carza2z00_194, BgL_bodyz00_197, 0L);
					if (INTEGERP(BgL_a1102z00_1980))
						{	/* Match/compiler.scm 483 */
							BgL_test2397z00_5251 = ((long) CINT(BgL_a1102z00_1980) > 1L);
						}
					else
						{	/* Match/compiler.scm 483 */
							BgL_test2397z00_5251 =
								BGl_2ze3ze3zz__r4_numbers_6_5z00(BgL_a1102z00_1980, BINT(1L));
						}
				}
				if (BgL_test2397z00_5251)
					{	/* Match/compiler.scm 484 */
						bool_t BgL_test2399z00_5259;

						{	/* Match/compiler.scm 484 */
							obj_t BgL_a1103z00_1961;

							BgL_a1103z00_1961 =
								BGl_countzd2occurrenceszd2zz__match_compilerz00
								(BgL_za2cdrza2z00_195, BgL_bodyz00_197, 0L);
							if (INTEGERP(BgL_a1103z00_1961))
								{	/* Match/compiler.scm 484 */
									BgL_test2399z00_5259 = ((long) CINT(BgL_a1103z00_1961) > 1L);
								}
							else
								{	/* Match/compiler.scm 484 */
									BgL_test2399z00_5259 =
										BGl_2ze3ze3zz__r4_numbers_6_5z00(BgL_a1103z00_1961,
										BINT(1L));
								}
						}
						if (BgL_test2399z00_5259)
							{	/* Match/compiler.scm 485 */
								obj_t BgL_arg1709z00_1939;

								{	/* Match/compiler.scm 485 */
									obj_t BgL_arg1710z00_1940;
									obj_t BgL_arg1711z00_1941;

									{	/* Match/compiler.scm 485 */
										obj_t BgL_arg1712z00_1942;
										obj_t BgL_arg1714z00_1943;

										{	/* Match/compiler.scm 485 */
											obj_t BgL_arg1715z00_1944;

											{	/* Match/compiler.scm 485 */
												obj_t BgL_arg1716z00_1945;

												{	/* Match/compiler.scm 485 */
													obj_t BgL_arg1718z00_1946;

													BgL_arg1718z00_1946 =
														MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
													BgL_arg1716z00_1945 =
														MAKE_YOUNG_PAIR
														(BGl_symbol2249z00zz__match_compilerz00,
														BgL_arg1718z00_1946);
												}
												BgL_arg1715z00_1944 =
													MAKE_YOUNG_PAIR(BgL_arg1716z00_1945, BNIL);
											}
											BgL_arg1712z00_1942 =
												MAKE_YOUNG_PAIR(BgL_za2carza2z00_194,
												BgL_arg1715z00_1944);
										}
										{	/* Match/compiler.scm 485 */
											obj_t BgL_arg1719z00_1947;

											{	/* Match/compiler.scm 485 */
												obj_t BgL_arg1720z00_1948;

												{	/* Match/compiler.scm 485 */
													obj_t BgL_arg1721z00_1949;

													{	/* Match/compiler.scm 485 */
														obj_t BgL_arg1722z00_1950;

														BgL_arg1722z00_1950 =
															MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
														BgL_arg1721z00_1949 =
															MAKE_YOUNG_PAIR
															(BGl_symbol2251z00zz__match_compilerz00,
															BgL_arg1722z00_1950);
													}
													BgL_arg1720z00_1948 =
														MAKE_YOUNG_PAIR(BgL_arg1721z00_1949, BNIL);
												}
												BgL_arg1719z00_1947 =
													MAKE_YOUNG_PAIR(BgL_za2cdrza2z00_195,
													BgL_arg1720z00_1948);
											}
											BgL_arg1714z00_1943 =
												MAKE_YOUNG_PAIR(BgL_arg1719z00_1947, BNIL);
										}
										BgL_arg1710z00_1940 =
											MAKE_YOUNG_PAIR(BgL_arg1712z00_1942, BgL_arg1714z00_1943);
									}
									BgL_arg1711z00_1941 = MAKE_YOUNG_PAIR(BgL_bodyz00_197, BNIL);
									BgL_arg1709z00_1939 =
										MAKE_YOUNG_PAIR(BgL_arg1710z00_1940, BgL_arg1711z00_1941);
								}
								return
									MAKE_YOUNG_PAIR(BGl_symbol2226z00zz__match_compilerz00,
									BgL_arg1709z00_1939);
							}
						else
							{	/* Match/compiler.scm 487 */
								obj_t BgL_arg1723z00_1951;

								{	/* Match/compiler.scm 487 */
									obj_t BgL_arg1724z00_1952;
									obj_t BgL_arg1725z00_1953;

									{	/* Match/compiler.scm 487 */
										obj_t BgL_arg1726z00_1954;

										{	/* Match/compiler.scm 487 */
											obj_t BgL_arg1727z00_1955;

											{	/* Match/compiler.scm 487 */
												obj_t BgL_arg1728z00_1956;

												{	/* Match/compiler.scm 487 */
													obj_t BgL_arg1729z00_1957;

													BgL_arg1729z00_1957 =
														MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
													BgL_arg1728z00_1956 =
														MAKE_YOUNG_PAIR
														(BGl_symbol2249z00zz__match_compilerz00,
														BgL_arg1729z00_1957);
												}
												BgL_arg1727z00_1955 =
													MAKE_YOUNG_PAIR(BgL_arg1728z00_1956, BNIL);
											}
											BgL_arg1726z00_1954 =
												MAKE_YOUNG_PAIR(BgL_za2carza2z00_194,
												BgL_arg1727z00_1955);
										}
										BgL_arg1724z00_1952 =
											MAKE_YOUNG_PAIR(BgL_arg1726z00_1954, BNIL);
									}
									{	/* Match/compiler.scm 488 */
										obj_t BgL_arg1730z00_1958;

										{	/* Match/compiler.scm 488 */
											obj_t BgL_arg1731z00_1959;

											{	/* Match/compiler.scm 488 */
												obj_t BgL_arg1732z00_1960;

												BgL_arg1732z00_1960 =
													MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
												BgL_arg1731z00_1959 =
													MAKE_YOUNG_PAIR
													(BGl_symbol2251z00zz__match_compilerz00,
													BgL_arg1732z00_1960);
											}
											BgL_arg1730z00_1958 =
												BGl_unfoldz00zz__match_compilerz00(BgL_za2cdrza2z00_195,
												BgL_arg1731z00_1959, BgL_bodyz00_197);
										}
										BgL_arg1725z00_1953 =
											MAKE_YOUNG_PAIR(BgL_arg1730z00_1958, BNIL);
									}
									BgL_arg1723z00_1951 =
										MAKE_YOUNG_PAIR(BgL_arg1724z00_1952, BgL_arg1725z00_1953);
								}
								return
									MAKE_YOUNG_PAIR(BGl_symbol2226z00zz__match_compilerz00,
									BgL_arg1723z00_1951);
							}
					}
				else
					{	/* Match/compiler.scm 489 */
						bool_t BgL_test2401z00_5291;

						{	/* Match/compiler.scm 489 */
							obj_t BgL_a1104z00_1979;

							BgL_a1104z00_1979 =
								BGl_countzd2occurrenceszd2zz__match_compilerz00
								(BgL_za2cdrza2z00_195, BgL_bodyz00_197, 0L);
							if (INTEGERP(BgL_a1104z00_1979))
								{	/* Match/compiler.scm 489 */
									BgL_test2401z00_5291 = ((long) CINT(BgL_a1104z00_1979) > 1L);
								}
							else
								{	/* Match/compiler.scm 489 */
									BgL_test2401z00_5291 =
										BGl_2ze3ze3zz__r4_numbers_6_5z00(BgL_a1104z00_1979,
										BINT(1L));
								}
						}
						if (BgL_test2401z00_5291)
							{	/* Match/compiler.scm 490 */
								obj_t BgL_arg1734z00_1964;

								{	/* Match/compiler.scm 490 */
									obj_t BgL_arg1735z00_1965;
									obj_t BgL_arg1739z00_1966;

									{	/* Match/compiler.scm 490 */
										obj_t BgL_arg1740z00_1967;

										{	/* Match/compiler.scm 490 */
											obj_t BgL_arg1741z00_1968;

											{	/* Match/compiler.scm 490 */
												obj_t BgL_arg1742z00_1969;

												{	/* Match/compiler.scm 490 */
													obj_t BgL_arg1743z00_1970;

													BgL_arg1743z00_1970 =
														MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
													BgL_arg1742z00_1969 =
														MAKE_YOUNG_PAIR
														(BGl_symbol2251z00zz__match_compilerz00,
														BgL_arg1743z00_1970);
												}
												BgL_arg1741z00_1968 =
													MAKE_YOUNG_PAIR(BgL_arg1742z00_1969, BNIL);
											}
											BgL_arg1740z00_1967 =
												MAKE_YOUNG_PAIR(BgL_za2cdrza2z00_195,
												BgL_arg1741z00_1968);
										}
										BgL_arg1735z00_1965 =
											MAKE_YOUNG_PAIR(BgL_arg1740z00_1967, BNIL);
									}
									{	/* Match/compiler.scm 491 */
										obj_t BgL_arg1744z00_1971;

										{	/* Match/compiler.scm 491 */
											obj_t BgL_arg1745z00_1972;

											{	/* Match/compiler.scm 491 */
												obj_t BgL_arg1747z00_1973;

												BgL_arg1747z00_1973 =
													MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
												BgL_arg1745z00_1972 =
													MAKE_YOUNG_PAIR
													(BGl_symbol2249z00zz__match_compilerz00,
													BgL_arg1747z00_1973);
											}
											BgL_arg1744z00_1971 =
												BGl_unfoldz00zz__match_compilerz00(BgL_za2carza2z00_194,
												BgL_arg1745z00_1972, BgL_bodyz00_197);
										}
										BgL_arg1739z00_1966 =
											MAKE_YOUNG_PAIR(BgL_arg1744z00_1971, BNIL);
									}
									BgL_arg1734z00_1964 =
										MAKE_YOUNG_PAIR(BgL_arg1735z00_1965, BgL_arg1739z00_1966);
								}
								return
									MAKE_YOUNG_PAIR(BGl_symbol2226z00zz__match_compilerz00,
									BgL_arg1734z00_1964);
							}
						else
							{	/* Match/compiler.scm 492 */
								obj_t BgL_arg1748z00_1974;
								obj_t BgL_arg1749z00_1975;

								{	/* Match/compiler.scm 492 */
									obj_t BgL_arg1750z00_1976;

									BgL_arg1750z00_1976 = MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
									BgL_arg1748z00_1974 =
										MAKE_YOUNG_PAIR(BGl_symbol2251z00zz__match_compilerz00,
										BgL_arg1750z00_1976);
								}
								{	/* Match/compiler.scm 493 */
									obj_t BgL_arg1754z00_1977;

									{	/* Match/compiler.scm 493 */
										obj_t BgL_arg1755z00_1978;

										BgL_arg1755z00_1978 = MAKE_YOUNG_PAIR(BgL_ez00_196, BNIL);
										BgL_arg1754z00_1977 =
											MAKE_YOUNG_PAIR(BGl_symbol2249z00zz__match_compilerz00,
											BgL_arg1755z00_1978);
									}
									BgL_arg1749z00_1975 =
										BGl_unfoldz00zz__match_compilerz00(BgL_za2carza2z00_194,
										BgL_arg1754z00_1977, BgL_bodyz00_197);
								}
								return
									BGl_unfoldz00zz__match_compilerz00(BgL_za2cdrza2z00_195,
									BgL_arg1748z00_1974, BgL_arg1749z00_1975);
							}
					}
			}
		}

	}



/* unfold */
	obj_t BGl_unfoldz00zz__match_compilerz00(obj_t BgL_sz00_198,
		obj_t BgL_vz00_199, obj_t BgL_ez00_200)
	{
		{	/* Match/compiler.scm 498 */
			if (NULLP(BgL_ez00_200))
				{	/* Match/compiler.scm 499 */
					return BNIL;
				}
			else
				{	/* Match/compiler.scm 499 */
					if (CBOOL(BGl_atomzf3zf3zz__match_s2cfunz00(BgL_ez00_200)))
						{	/* Match/compiler.scm 501 */
							if ((BgL_ez00_200 == BgL_sz00_198))
								{	/* Match/compiler.scm 502 */
									return BgL_vz00_199;
								}
							else
								{	/* Match/compiler.scm 502 */
									return BgL_ez00_200;
								}
						}
					else
						{	/* Match/compiler.scm 501 */
							if (PAIRP(BgL_ez00_200))
								{	/* Match/compiler.scm 503 */
									if (
										(CAR(BgL_ez00_200) ==
											BGl_symbol2160z00zz__match_compilerz00))
										{	/* Match/compiler.scm 504 */
											return BgL_ez00_200;
										}
									else
										{	/* Match/compiler.scm 506 */
											obj_t BgL_fz00_1986;
											obj_t BgL_argsz00_1987;

											BgL_fz00_1986 = CAR(BgL_ez00_200);
											BgL_argsz00_1987 = CDR(BgL_ez00_200);
											return
												MAKE_YOUNG_PAIR(BGl_unfoldz00zz__match_compilerz00
												(BgL_sz00_198, BgL_vz00_199, BgL_fz00_1986),
												BGl_unfoldz00zz__match_compilerz00(BgL_sz00_198,
													BgL_vz00_199, BgL_argsz00_1987));
										}
								}
							else
								{	/* Match/compiler.scm 503 */
									return BFALSE;
								}
						}
				}
		}

	}



/* integers */
	obj_t BGl_integersz00zz__match_compilerz00(obj_t BgL_fromz00_201,
		obj_t BgL_toz00_202)
	{
		{	/* Match/compiler.scm 509 */
			{	/* Match/compiler.scm 510 */
				bool_t BgL_test2408z00_5333;

				{	/* Match/compiler.scm 510 */
					bool_t BgL_test2409z00_5334;

					if (INTEGERP(BgL_fromz00_201))
						{	/* Match/compiler.scm 510 */
							BgL_test2409z00_5334 = INTEGERP(BgL_toz00_202);
						}
					else
						{	/* Match/compiler.scm 510 */
							BgL_test2409z00_5334 = ((bool_t) 0);
						}
					if (BgL_test2409z00_5334)
						{	/* Match/compiler.scm 510 */
							BgL_test2408z00_5333 =
								((long) CINT(BgL_fromz00_201) > (long) CINT(BgL_toz00_202));
						}
					else
						{	/* Match/compiler.scm 510 */
							BgL_test2408z00_5333 =
								BGl_2ze3ze3zz__r4_numbers_6_5z00(BgL_fromz00_201,
								BgL_toz00_202);
						}
				}
				if (BgL_test2408z00_5333)
					{	/* Match/compiler.scm 510 */
						return BNIL;
					}
				else
					{	/* Match/compiler.scm 512 */
						obj_t BgL_arg1766z00_1993;

						{	/* Match/compiler.scm 512 */
							obj_t BgL_arg1767z00_1994;

							if (INTEGERP(BgL_fromz00_201))
								{	/* Match/compiler.scm 512 */
									obj_t BgL_tmpz00_3156;

									BgL_tmpz00_3156 = BINT(0L);
									{	/* Match/compiler.scm 512 */
										bool_t BgL_test2412z00_5345;

										{	/* Match/compiler.scm 512 */
											obj_t BgL_tmpz00_5346;

											BgL_tmpz00_5346 = BINT(1L);
											BgL_test2412z00_5345 =
												BGL_ADDFX_OV(BgL_fromz00_201, BgL_tmpz00_5346,
												BgL_tmpz00_3156);
										}
										if (BgL_test2412z00_5345)
											{	/* Match/compiler.scm 512 */
												BgL_arg1767z00_1994 =
													bgl_bignum_add(bgl_long_to_bignum(
														(long) CINT(BgL_fromz00_201)),
													bgl_long_to_bignum(1L));
											}
										else
											{	/* Match/compiler.scm 512 */
												BgL_arg1767z00_1994 = BgL_tmpz00_3156;
											}
									}
								}
							else
								{	/* Match/compiler.scm 512 */
									BgL_arg1767z00_1994 =
										BGl_2zb2zb2zz__r4_numbers_6_5z00(BgL_fromz00_201, BINT(1L));
								}
							BgL_arg1766z00_1993 =
								BGl_integersz00zz__match_compilerz00(BgL_arg1767z00_1994,
								BgL_toz00_202);
						}
						return MAKE_YOUNG_PAIR(BgL_fromz00_201, BgL_arg1766z00_1993);
					}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__match_compilerz00(void)
	{
		{	/* Match/compiler.scm 26 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__match_compilerz00(void)
	{
		{	/* Match/compiler.scm 26 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__match_compilerz00(void)
	{
		{	/* Match/compiler.scm 26 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__match_compilerz00(void)
	{
		{	/* Match/compiler.scm 26 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string2253z00zz__match_compilerz00));
			BGl_modulezd2initializa7ationz75zz__match_s2cfunz00(509060701L,
				BSTRING_TO_STRING(BGl_string2253z00zz__match_compilerz00));
			BGl_modulezd2initializa7ationz75zz__match_descriptionsz00(232414635L,
				BSTRING_TO_STRING(BGl_string2253z00zz__match_compilerz00));
			return
				BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string2253z00zz__match_compilerz00));
		}

	}

#ifdef __cplusplus
}
#endif
