/*===========================================================================*/
/*   (Unsafe/pcre.scm)                                                       */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -srfi enable-gmp -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -rm -copt -w -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Unsafe/pcre.scm -indent -o objs/obj_u/Unsafe/pcre.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___REGEXP_TYPE_DEFINITIONS
#define BGL___REGEXP_TYPE_DEFINITIONS
#endif													// BGL___REGEXP_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	extern obj_t BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pregexpzd2quotezd2zz__regexpz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_regexpzd2patternzd2zz__regexpz00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_regexpzf3zf3zz__regexpz00(obj_t);
	static obj_t BGl_z62regexpzf3z91zz__regexpz00(obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__regexpz00 = BUNSPEC;
	static obj_t BGl_pregexpzd2readzd2escapedzd2numberzd2zz__regexpz00(obj_t,
		obj_t, long);
	static obj_t BGl__pregexpzd2matchzd2nzd2positionsz12zc0zz__regexpz00(obj_t,
		obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__regexpz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_pregexpzd2listzd2refz00zz__regexpz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pregexpzd2replaceza2z70zz__regexpz00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL long
		BGl_pregexpzd2matchzd2nzd2positionsz12zc0zz__regexpz00(obj_t, obj_t, obj_t,
		long, long, obj_t);
	static obj_t BGl_list1842z00zz__regexpz00 = BUNSPEC;
	static obj_t BGl_z62pregexpzd2quotezb0zz__regexpz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pregexpzd2matchzd2positionsz00zz__regexpz00(obj_t,
		obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__regexpz00(void);
	static obj_t BGl_genericzd2initzd2zz__regexpz00(void);
	static obj_t BGl__pregexpzd2matchzd2positionsz00zz__regexpz00(obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zz__regexpz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__regexpz00(void);
	static obj_t BGl_objectzd2initzd2zz__regexpz00(void);
	extern obj_t BGl_listzd2ze3stringz31zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_pregexpzd2replacezd2auxz00zz__regexpz00(obj_t, obj_t, long,
		obj_t);
	static obj_t BGl__pregexpzd2matchzd2zz__regexpz00(obj_t, obj_t);
	extern obj_t BGl_memvz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pregexpz00zz__regexpz00(obj_t, obj_t);
	extern obj_t bgl_reverse_bang(obj_t);
	extern obj_t string_append_3(obj_t, obj_t, obj_t);
	static obj_t BGl_z62pregexpz62zz__regexpz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pregexpzd2splitzd2zz__regexpz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pregexpzd2replacezd2zz__regexpz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62pregexpzd2replacezb0zz__regexpz00(obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t bgl_regcomp(obj_t, obj_t, bool_t);
	static obj_t BGl_z62pregexpzd2replaceza2z12zz__regexpz00(obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t c_substring(obj_t, long, long);
	static obj_t BGl_z62regexpzd2patternzb0zz__regexpz00(obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zz__regexpz00(void);
	static obj_t BGl_z62regexpzd2capturezd2countz62zz__regexpz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_pregexpzd2matchzd2zz__regexpz00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62pregexpzd2splitzb0zz__regexpz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL long BGl_regexpzd2capturezd2countz00zz__regexpz00(obj_t);
	extern obj_t string_append(obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_pregexpzd2envzd2zz__regexpz00,
		BgL_bgl_za762pregexpza762za7za7_1845z00, va_generic_entry,
		BGl_z62pregexpz62zz__regexpz00, BUNSPEC, -2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_regexpzd2capturezd2countzd2envzd2zz__regexpz00,
		BgL_bgl_za762regexpza7d2capt1846z00,
		BGl_z62regexpzd2capturezd2countz62zz__regexpz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_pregexpzd2splitzd2envz00zz__regexpz00,
		BgL_bgl_za762pregexpza7d2spl1847z00, BGl_z62pregexpzd2splitzb0zz__regexpz00,
		0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_pregexpzd2quotezd2envz00zz__regexpz00,
		BgL_bgl_za762pregexpza7d2quo1848z00, BGl_z62pregexpzd2quotezb0zz__regexpz00,
		0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_regexpzd2patternzd2envz00zz__regexpz00,
		BgL_bgl_za762regexpza7d2patt1849z00,
		BGl_z62regexpzd2patternzb0zz__regexpz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_pregexpzd2replacezd2envz00zz__regexpz00,
		BgL_bgl_za762pregexpza7d2rep1850z00,
		BGl_z62pregexpzd2replacezb0zz__regexpz00, 0L, BUNSPEC, 3);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_regexpzf3zd2envz21zz__regexpz00,
		BgL_bgl_za762regexpza7f3za791za71851z00, BGl_z62regexpzf3z91zz__regexpz00,
		0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_pregexpzd2replaceza2zd2envza2zz__regexpz00,
		BgL_bgl_za762pregexpza7d2rep1852z00,
		BGl_z62pregexpzd2replaceza2z12zz__regexpz00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_pregexpzd2matchzd2nzd2positionsz12zd2envz12zz__regexpz00,
		BgL_bgl__pregexpza7d2match1853za7, opt_generic_entry,
		BGl__pregexpzd2matchzd2nzd2positionsz12zc0zz__regexpz00, BFALSE, -1);
	      DEFINE_STRING(BGl_string1827z00zz__regexpz00,
		BgL_bgl_string1827za700za7za7_1854za7,
		"/tmp/bigloo/runtime/Unsafe/pcre.scm", 35);
	      DEFINE_STRING(BGl_string1828z00zz__regexpz00,
		BgL_bgl_string1828za700za7za7_1855za7, "&regexp-pattern", 15);
	      DEFINE_STRING(BGl_string1829z00zz__regexpz00,
		BgL_bgl_string1829za700za7za7_1856za7, "regexp", 6);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_pregexpzd2matchzd2positionszd2envzd2zz__regexpz00,
		BgL_bgl__pregexpza7d2match1857za7, opt_generic_entry,
		BGl__pregexpzd2matchzd2positionsz00zz__regexpz00, BFALSE, -1);
	      DEFINE_STRING(BGl_string1830z00zz__regexpz00,
		BgL_bgl_string1830za700za7za7_1858za7, "&regexp-capture-count", 21);
	      DEFINE_STRING(BGl_string1831z00zz__regexpz00,
		BgL_bgl_string1831za700za7za7_1859za7, "&pregexp", 8);
	      DEFINE_STRING(BGl_string1832z00zz__regexpz00,
		BgL_bgl_string1832za700za7za7_1860za7, "bstring", 7);
	      DEFINE_STRING(BGl_string1833z00zz__regexpz00,
		BgL_bgl_string1833za700za7za7_1861za7, "_pregexp-match-positions", 24);
	      DEFINE_STRING(BGl_string1834z00zz__regexpz00,
		BgL_bgl_string1834za700za7za7_1862za7, "bint", 4);
	      DEFINE_STRING(BGl_string1835z00zz__regexpz00,
		BgL_bgl_string1835za700za7za7_1863za7, "_pregexp-match-n-positions!", 27);
	      DEFINE_STRING(BGl_string1836z00zz__regexpz00,
		BgL_bgl_string1836za700za7za7_1864za7, "vector", 6);
	      DEFINE_STRING(BGl_string1837z00zz__regexpz00,
		BgL_bgl_string1837za700za7za7_1865za7, "_pregexp-match", 14);
	      DEFINE_STRING(BGl_string1838z00zz__regexpz00,
		BgL_bgl_string1838za700za7za7_1866za7, "", 0);
	      DEFINE_STRING(BGl_string1839z00zz__regexpz00,
		BgL_bgl_string1839za700za7za7_1867za7, "&pregexp-split", 14);
	      DEFINE_STRING(BGl_string1840z00zz__regexpz00,
		BgL_bgl_string1840za700za7za7_1868za7, "&pregexp-replace", 16);
	      DEFINE_STRING(BGl_string1841z00zz__regexpz00,
		BgL_bgl_string1841za700za7za7_1869za7, "&pregexp-replace*", 17);
	      DEFINE_STRING(BGl_string1843z00zz__regexpz00,
		BgL_bgl_string1843za700za7za7_1870za7, "&pregexp-quote", 14);
	      DEFINE_STRING(BGl_string1844z00zz__regexpz00,
		BgL_bgl_string1844za700za7za7_1871za7, "__regexp", 8);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_pregexpzd2matchzd2envz00zz__regexpz00,
		BgL_bgl__pregexpza7d2match1872za7, opt_generic_entry,
		BGl__pregexpzd2matchzd2zz__regexpz00, BFALSE, -1);

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;
		     ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__regexpz00));
		     ADD_ROOT((void *) (&BGl_list1842z00zz__regexpz00));
#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__regexpz00(long
		BgL_checksumz00_2383, char *BgL_fromz00_2384)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__regexpz00))
				{
					BGl_requirezd2initializa7ationz75zz__regexpz00 = BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zz__regexpz00();
					BGl_cnstzd2initzd2zz__regexpz00();
					BGl_importedzd2moduleszd2initz00zz__regexpz00();
					return BGl_methodzd2initzd2zz__regexpz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__regexpz00(void)
	{
		{	/* Unsafe/pcre.scm 15 */
			return (BGl_list1842z00zz__regexpz00 =
				MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '\\')),
					MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '.')),
						MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '?')),
							MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '*')),
								MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '+')),
									MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '|')),
										MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '^')),
											MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '$')),
												MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '[')),
													MAKE_YOUNG_PAIR(BCHAR(((unsigned char) ']')),
														MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '{')),
															MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '}')),
																MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '(')),
																	MAKE_YOUNG_PAIR(BCHAR(((unsigned char) ')')),
																		BNIL)))))))))))))), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__regexpz00(void)
	{
		{	/* Unsafe/pcre.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* regexp? */
	BGL_EXPORTED_DEF bool_t BGl_regexpzf3zf3zz__regexpz00(obj_t BgL_objz00_3)
	{
		{	/* Unsafe/pcre.scm 92 */
			return BGL_REGEXPP(BgL_objz00_3);
		}

	}



/* &regexp? */
	obj_t BGl_z62regexpzf3z91zz__regexpz00(obj_t BgL_envz00_2242,
		obj_t BgL_objz00_2243)
	{
		{	/* Unsafe/pcre.scm 92 */
			return BBOOL(BGl_regexpzf3zf3zz__regexpz00(BgL_objz00_2243));
		}

	}



/* regexp-pattern */
	BGL_EXPORTED_DEF obj_t BGl_regexpzd2patternzd2zz__regexpz00(obj_t BgL_rez00_4)
	{
		{	/* Unsafe/pcre.scm 98 */
			return BGL_REGEXP_PAT(BgL_rez00_4);
		}

	}



/* &regexp-pattern */
	obj_t BGl_z62regexpzd2patternzb0zz__regexpz00(obj_t BgL_envz00_2244,
		obj_t BgL_rez00_2245)
	{
		{	/* Unsafe/pcre.scm 98 */
			{	/* Unsafe/pcre.scm 99 */
				obj_t BgL_auxz00_2425;

				if (BGl_regexpzf3zf3zz__regexpz00(BgL_rez00_2245))
					{	/* Unsafe/pcre.scm 99 */
						BgL_auxz00_2425 = BgL_rez00_2245;
					}
				else
					{
						obj_t BgL_auxz00_2428;

						BgL_auxz00_2428 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(4253L), BGl_string1828z00zz__regexpz00,
							BGl_string1829z00zz__regexpz00, BgL_rez00_2245);
						FAILURE(BgL_auxz00_2428, BFALSE, BFALSE);
					}
				return BGl_regexpzd2patternzd2zz__regexpz00(BgL_auxz00_2425);
			}
		}

	}



/* regexp-capture-count */
	BGL_EXPORTED_DEF long BGl_regexpzd2capturezd2countz00zz__regexpz00(obj_t
		BgL_rez00_5)
	{
		{	/* Unsafe/pcre.scm 104 */
			return BGL_REGEXP_CAPTURE_COUNT(BgL_rez00_5);
		}

	}



/* &regexp-capture-count */
	obj_t BGl_z62regexpzd2capturezd2countz62zz__regexpz00(obj_t BgL_envz00_2246,
		obj_t BgL_rez00_2247)
	{
		{	/* Unsafe/pcre.scm 104 */
			{	/* Unsafe/pcre.scm 105 */
				long BgL_tmpz00_2434;

				{	/* Unsafe/pcre.scm 105 */
					obj_t BgL_auxz00_2435;

					if (BGl_regexpzf3zf3zz__regexpz00(BgL_rez00_2247))
						{	/* Unsafe/pcre.scm 105 */
							BgL_auxz00_2435 = BgL_rez00_2247;
						}
					else
						{
							obj_t BgL_auxz00_2438;

							BgL_auxz00_2438 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
								BINT(4542L), BGl_string1830z00zz__regexpz00,
								BGl_string1829z00zz__regexpz00, BgL_rez00_2247);
							FAILURE(BgL_auxz00_2438, BFALSE, BFALSE);
						}
					BgL_tmpz00_2434 =
						BGl_regexpzd2capturezd2countz00zz__regexpz00(BgL_auxz00_2435);
				}
				return BINT(BgL_tmpz00_2434);
			}
		}

	}



/* pregexp */
	BGL_EXPORTED_DEF obj_t BGl_pregexpz00zz__regexpz00(obj_t BgL_rez00_6,
		obj_t BgL_optzd2argszd2_7)
	{
		{	/* Unsafe/pcre.scm 119 */
			return bgl_regcomp(BgL_rez00_6, BgL_optzd2argszd2_7, ((bool_t) 1));
		}

	}



/* &pregexp */
	obj_t BGl_z62pregexpz62zz__regexpz00(obj_t BgL_envz00_2248,
		obj_t BgL_rez00_2249, obj_t BgL_optzd2argszd2_2250)
	{
		{	/* Unsafe/pcre.scm 119 */
			{	/* Unsafe/pcre.scm 120 */
				obj_t BgL_auxz00_2445;

				if (STRINGP(BgL_rez00_2249))
					{	/* Unsafe/pcre.scm 120 */
						BgL_auxz00_2445 = BgL_rez00_2249;
					}
				else
					{
						obj_t BgL_auxz00_2448;

						BgL_auxz00_2448 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(5172L), BGl_string1831z00zz__regexpz00,
							BGl_string1832z00zz__regexpz00, BgL_rez00_2249);
						FAILURE(BgL_auxz00_2448, BFALSE, BFALSE);
					}
				return
					BGl_pregexpz00zz__regexpz00(BgL_auxz00_2445, BgL_optzd2argszd2_2250);
			}
		}

	}



/* _pregexp-match-positions */
	obj_t BGl__pregexpzd2matchzd2positionsz00zz__regexpz00(obj_t
		BgL_env1119z00_22, obj_t BgL_opt1118z00_21)
	{
		{	/* Unsafe/pcre.scm 136 */
			{	/* Unsafe/pcre.scm 136 */
				obj_t BgL_patz00_1195;
				obj_t BgL_strz00_1196;

				BgL_patz00_1195 = VECTOR_REF(BgL_opt1118z00_21, 0L);
				BgL_strz00_1196 = VECTOR_REF(BgL_opt1118z00_21, 1L);
				switch (VECTOR_LENGTH(BgL_opt1118z00_21))
					{
					case 2L:

						{	/* Unsafe/pcre.scm 136 */
							long BgL_endz00_1200;

							{	/* Unsafe/pcre.scm 136 */
								obj_t BgL_stringz00_1822;

								if (STRINGP(BgL_strz00_1196))
									{	/* Unsafe/pcre.scm 136 */
										BgL_stringz00_1822 = BgL_strz00_1196;
									}
								else
									{
										obj_t BgL_auxz00_2457;

										BgL_auxz00_2457 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string1827z00zz__regexpz00, BINT(5973L),
											BGl_string1833z00zz__regexpz00,
											BGl_string1832z00zz__regexpz00, BgL_strz00_1196);
										FAILURE(BgL_auxz00_2457, BFALSE, BFALSE);
									}
								BgL_endz00_1200 = STRING_LENGTH(BgL_stringz00_1822);
							}
							{	/* Unsafe/pcre.scm 136 */

								{	/* Unsafe/pcre.scm 136 */
									obj_t BgL_strz00_1823;

									if (STRINGP(BgL_strz00_1196))
										{	/* Unsafe/pcre.scm 136 */
											BgL_strz00_1823 = BgL_strz00_1196;
										}
									else
										{
											obj_t BgL_auxz00_2464;

											BgL_auxz00_2464 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(5908L),
												BGl_string1833z00zz__regexpz00,
												BGl_string1832z00zz__regexpz00, BgL_strz00_1196);
											FAILURE(BgL_auxz00_2464, BFALSE, BFALSE);
										}
									if (BGL_REGEXPP(BgL_patz00_1195))
										{	/* Unsafe/pcre.scm 127 */
											int BgL_auxz00_2483;
											int BgL_auxz00_2481;
											int BgL_auxz00_2479;
											char *BgL_auxz00_2477;
											obj_t BgL_tmpz00_2470;

											BgL_auxz00_2483 = (int) (0L);
											BgL_auxz00_2481 = (int) (BgL_endz00_1200);
											BgL_auxz00_2479 = (int) (0L);
											BgL_auxz00_2477 = BSTRING_TO_STRING(BgL_strz00_1823);
											if (BGl_regexpzf3zf3zz__regexpz00(BgL_patz00_1195))
												{	/* Unsafe/pcre.scm 127 */
													BgL_tmpz00_2470 = BgL_patz00_1195;
												}
											else
												{
													obj_t BgL_auxz00_2473;

													BgL_auxz00_2473 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string1827z00zz__regexpz00, BINT(5525L),
														BGl_string1833z00zz__regexpz00,
														BGl_string1829z00zz__regexpz00, BgL_patz00_1195);
													FAILURE(BgL_auxz00_2473, BFALSE, BFALSE);
												}
											return
												BGL_REGEXP_MATCH(BgL_tmpz00_2470, BgL_auxz00_2477,
												((bool_t) 0), BgL_auxz00_2479, BgL_auxz00_2481,
												BgL_auxz00_2483);
										}
									else
										{	/* Unsafe/pcre.scm 128 */
											obj_t BgL_rxz00_1825;

											{	/* Unsafe/pcre.scm 128 */
												obj_t BgL_tmpz00_2486;

												if (STRINGP(BgL_patz00_1195))
													{	/* Unsafe/pcre.scm 128 */
														BgL_tmpz00_2486 = BgL_patz00_1195;
													}
												else
													{
														obj_t BgL_auxz00_2489;

														BgL_auxz00_2489 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string1827z00zz__regexpz00, BINT(5587L),
															BGl_string1833z00zz__regexpz00,
															BGl_string1832z00zz__regexpz00, BgL_patz00_1195);
														FAILURE(BgL_auxz00_2489, BFALSE, BFALSE);
													}
												BgL_rxz00_1825 =
													bgl_regcomp(BgL_tmpz00_2486, BNIL, ((bool_t) 0));
											}
											{	/* Unsafe/pcre.scm 128 */
												obj_t BgL_valz00_1826;

												{	/* Unsafe/pcre.scm 129 */
													int BgL_auxz00_2500;
													int BgL_auxz00_2498;
													int BgL_auxz00_2496;
													char *BgL_tmpz00_2494;

													BgL_auxz00_2500 = (int) (0L);
													BgL_auxz00_2498 = (int) (BgL_endz00_1200);
													BgL_auxz00_2496 = (int) (0L);
													BgL_tmpz00_2494 = BSTRING_TO_STRING(BgL_strz00_1823);
													BgL_valz00_1826 =
														BGL_REGEXP_MATCH(BgL_rxz00_1825, BgL_tmpz00_2494,
														((bool_t) 0), BgL_auxz00_2496, BgL_auxz00_2498,
														BgL_auxz00_2500);
												}
												{	/* Unsafe/pcre.scm 129 */

													BGL_REGEXP_FREE(BgL_rxz00_1825);
													return BgL_valz00_1826;
												}
											}
										}
								}
							}
						}
						break;
					case 3L:

						{	/* Unsafe/pcre.scm 136 */
							obj_t BgL_begz00_1202;

							BgL_begz00_1202 = VECTOR_REF(BgL_opt1118z00_21, 2L);
							{	/* Unsafe/pcre.scm 136 */
								long BgL_endz00_1203;

								{	/* Unsafe/pcre.scm 136 */
									obj_t BgL_stringz00_1827;

									if (STRINGP(BgL_strz00_1196))
										{	/* Unsafe/pcre.scm 136 */
											BgL_stringz00_1827 = BgL_strz00_1196;
										}
									else
										{
											obj_t BgL_auxz00_2507;

											BgL_auxz00_2507 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(5973L),
												BGl_string1833z00zz__regexpz00,
												BGl_string1832z00zz__regexpz00, BgL_strz00_1196);
											FAILURE(BgL_auxz00_2507, BFALSE, BFALSE);
										}
									BgL_endz00_1203 = STRING_LENGTH(BgL_stringz00_1827);
								}
								{	/* Unsafe/pcre.scm 136 */

									{	/* Unsafe/pcre.scm 136 */
										obj_t BgL_strz00_1828;

										if (STRINGP(BgL_strz00_1196))
											{	/* Unsafe/pcre.scm 136 */
												BgL_strz00_1828 = BgL_strz00_1196;
											}
										else
											{
												obj_t BgL_auxz00_2514;

												BgL_auxz00_2514 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string1827z00zz__regexpz00, BINT(5908L),
													BGl_string1833z00zz__regexpz00,
													BGl_string1832z00zz__regexpz00, BgL_strz00_1196);
												FAILURE(BgL_auxz00_2514, BFALSE, BFALSE);
											}
										if (BGL_REGEXPP(BgL_patz00_1195))
											{	/* Unsafe/pcre.scm 127 */
												int BgL_auxz00_2540;
												int BgL_auxz00_2538;
												int BgL_auxz00_2529;
												char *BgL_auxz00_2527;
												obj_t BgL_tmpz00_2520;

												BgL_auxz00_2540 = (int) (0L);
												BgL_auxz00_2538 = (int) (BgL_endz00_1203);
												{	/* Unsafe/pcre.scm 127 */
													obj_t BgL_tmpz00_2530;

													if (INTEGERP(BgL_begz00_1202))
														{	/* Unsafe/pcre.scm 127 */
															BgL_tmpz00_2530 = BgL_begz00_1202;
														}
													else
														{
															obj_t BgL_auxz00_2533;

															BgL_auxz00_2533 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(5541L),
																BGl_string1833z00zz__regexpz00,
																BGl_string1834z00zz__regexpz00,
																BgL_begz00_1202);
															FAILURE(BgL_auxz00_2533, BFALSE, BFALSE);
														}
													BgL_auxz00_2529 = CINT(BgL_tmpz00_2530);
												}
												BgL_auxz00_2527 = BSTRING_TO_STRING(BgL_strz00_1828);
												if (BGl_regexpzf3zf3zz__regexpz00(BgL_patz00_1195))
													{	/* Unsafe/pcre.scm 127 */
														BgL_tmpz00_2520 = BgL_patz00_1195;
													}
												else
													{
														obj_t BgL_auxz00_2523;

														BgL_auxz00_2523 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string1827z00zz__regexpz00, BINT(5525L),
															BGl_string1833z00zz__regexpz00,
															BGl_string1829z00zz__regexpz00, BgL_patz00_1195);
														FAILURE(BgL_auxz00_2523, BFALSE, BFALSE);
													}
												return
													BGL_REGEXP_MATCH(BgL_tmpz00_2520, BgL_auxz00_2527,
													((bool_t) 0), BgL_auxz00_2529, BgL_auxz00_2538,
													BgL_auxz00_2540);
											}
										else
											{	/* Unsafe/pcre.scm 128 */
												obj_t BgL_rxz00_1830;

												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_tmpz00_2543;

													if (STRINGP(BgL_patz00_1195))
														{	/* Unsafe/pcre.scm 128 */
															BgL_tmpz00_2543 = BgL_patz00_1195;
														}
													else
														{
															obj_t BgL_auxz00_2546;

															BgL_auxz00_2546 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(5587L),
																BGl_string1833z00zz__regexpz00,
																BGl_string1832z00zz__regexpz00,
																BgL_patz00_1195);
															FAILURE(BgL_auxz00_2546, BFALSE, BFALSE);
														}
													BgL_rxz00_1830 =
														bgl_regcomp(BgL_tmpz00_2543, BNIL, ((bool_t) 0));
												}
												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_valz00_1831;

													{	/* Unsafe/pcre.scm 129 */
														int BgL_auxz00_2564;
														int BgL_auxz00_2562;
														int BgL_auxz00_2553;
														char *BgL_tmpz00_2551;

														BgL_auxz00_2564 = (int) (0L);
														BgL_auxz00_2562 = (int) (BgL_endz00_1203);
														{	/* Unsafe/pcre.scm 129 */
															obj_t BgL_tmpz00_2554;

															if (INTEGERP(BgL_begz00_1202))
																{	/* Unsafe/pcre.scm 129 */
																	BgL_tmpz00_2554 = BgL_begz00_1202;
																}
															else
																{
																	obj_t BgL_auxz00_2557;

																	BgL_auxz00_2557 =
																		BGl_typezd2errorzd2zz__errorz00
																		(BGl_string1827z00zz__regexpz00,
																		BINT(5638L), BGl_string1833z00zz__regexpz00,
																		BGl_string1834z00zz__regexpz00,
																		BgL_begz00_1202);
																	FAILURE(BgL_auxz00_2557, BFALSE, BFALSE);
																}
															BgL_auxz00_2553 = CINT(BgL_tmpz00_2554);
														}
														BgL_tmpz00_2551 =
															BSTRING_TO_STRING(BgL_strz00_1828);
														BgL_valz00_1831 =
															BGL_REGEXP_MATCH(BgL_rxz00_1830, BgL_tmpz00_2551,
															((bool_t) 0), BgL_auxz00_2553, BgL_auxz00_2562,
															BgL_auxz00_2564);
													}
													{	/* Unsafe/pcre.scm 129 */

														BGL_REGEXP_FREE(BgL_rxz00_1830);
														return BgL_valz00_1831;
													}
												}
											}
									}
								}
							}
						}
						break;
					case 4L:

						{	/* Unsafe/pcre.scm 136 */
							obj_t BgL_begz00_1205;

							BgL_begz00_1205 = VECTOR_REF(BgL_opt1118z00_21, 2L);
							{	/* Unsafe/pcre.scm 136 */
								obj_t BgL_endz00_1206;

								BgL_endz00_1206 = VECTOR_REF(BgL_opt1118z00_21, 3L);
								{	/* Unsafe/pcre.scm 136 */

									{	/* Unsafe/pcre.scm 136 */
										obj_t BgL_strz00_1832;

										if (STRINGP(BgL_strz00_1196))
											{	/* Unsafe/pcre.scm 136 */
												BgL_strz00_1832 = BgL_strz00_1196;
											}
										else
											{
												obj_t BgL_auxz00_2572;

												BgL_auxz00_2572 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string1827z00zz__regexpz00, BINT(5908L),
													BGl_string1833z00zz__regexpz00,
													BGl_string1832z00zz__regexpz00, BgL_strz00_1196);
												FAILURE(BgL_auxz00_2572, BFALSE, BFALSE);
											}
										if (BGL_REGEXPP(BgL_patz00_1195))
											{	/* Unsafe/pcre.scm 127 */
												int BgL_auxz00_2605;
												int BgL_auxz00_2596;
												int BgL_auxz00_2587;
												char *BgL_auxz00_2585;
												obj_t BgL_tmpz00_2578;

												BgL_auxz00_2605 = (int) (0L);
												{	/* Unsafe/pcre.scm 127 */
													obj_t BgL_tmpz00_2597;

													if (INTEGERP(BgL_endz00_1206))
														{	/* Unsafe/pcre.scm 127 */
															BgL_tmpz00_2597 = BgL_endz00_1206;
														}
													else
														{
															obj_t BgL_auxz00_2600;

															BgL_auxz00_2600 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(5545L),
																BGl_string1833z00zz__regexpz00,
																BGl_string1834z00zz__regexpz00,
																BgL_endz00_1206);
															FAILURE(BgL_auxz00_2600, BFALSE, BFALSE);
														}
													BgL_auxz00_2596 = CINT(BgL_tmpz00_2597);
												}
												{	/* Unsafe/pcre.scm 127 */
													obj_t BgL_tmpz00_2588;

													if (INTEGERP(BgL_begz00_1205))
														{	/* Unsafe/pcre.scm 127 */
															BgL_tmpz00_2588 = BgL_begz00_1205;
														}
													else
														{
															obj_t BgL_auxz00_2591;

															BgL_auxz00_2591 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(5541L),
																BGl_string1833z00zz__regexpz00,
																BGl_string1834z00zz__regexpz00,
																BgL_begz00_1205);
															FAILURE(BgL_auxz00_2591, BFALSE, BFALSE);
														}
													BgL_auxz00_2587 = CINT(BgL_tmpz00_2588);
												}
												BgL_auxz00_2585 = BSTRING_TO_STRING(BgL_strz00_1832);
												if (BGl_regexpzf3zf3zz__regexpz00(BgL_patz00_1195))
													{	/* Unsafe/pcre.scm 127 */
														BgL_tmpz00_2578 = BgL_patz00_1195;
													}
												else
													{
														obj_t BgL_auxz00_2581;

														BgL_auxz00_2581 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string1827z00zz__regexpz00, BINT(5525L),
															BGl_string1833z00zz__regexpz00,
															BGl_string1829z00zz__regexpz00, BgL_patz00_1195);
														FAILURE(BgL_auxz00_2581, BFALSE, BFALSE);
													}
												return
													BGL_REGEXP_MATCH(BgL_tmpz00_2578, BgL_auxz00_2585,
													((bool_t) 0), BgL_auxz00_2587, BgL_auxz00_2596,
													BgL_auxz00_2605);
											}
										else
											{	/* Unsafe/pcre.scm 128 */
												obj_t BgL_rxz00_1834;

												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_tmpz00_2608;

													if (STRINGP(BgL_patz00_1195))
														{	/* Unsafe/pcre.scm 128 */
															BgL_tmpz00_2608 = BgL_patz00_1195;
														}
													else
														{
															obj_t BgL_auxz00_2611;

															BgL_auxz00_2611 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(5587L),
																BGl_string1833z00zz__regexpz00,
																BGl_string1832z00zz__regexpz00,
																BgL_patz00_1195);
															FAILURE(BgL_auxz00_2611, BFALSE, BFALSE);
														}
													BgL_rxz00_1834 =
														bgl_regcomp(BgL_tmpz00_2608, BNIL, ((bool_t) 0));
												}
												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_valz00_1835;

													{	/* Unsafe/pcre.scm 129 */
														int BgL_auxz00_2636;
														int BgL_auxz00_2627;
														int BgL_auxz00_2618;
														char *BgL_tmpz00_2616;

														BgL_auxz00_2636 = (int) (0L);
														{	/* Unsafe/pcre.scm 129 */
															obj_t BgL_tmpz00_2628;

															if (INTEGERP(BgL_endz00_1206))
																{	/* Unsafe/pcre.scm 129 */
																	BgL_tmpz00_2628 = BgL_endz00_1206;
																}
															else
																{
																	obj_t BgL_auxz00_2631;

																	BgL_auxz00_2631 =
																		BGl_typezd2errorzd2zz__errorz00
																		(BGl_string1827z00zz__regexpz00,
																		BINT(5642L), BGl_string1833z00zz__regexpz00,
																		BGl_string1834z00zz__regexpz00,
																		BgL_endz00_1206);
																	FAILURE(BgL_auxz00_2631, BFALSE, BFALSE);
																}
															BgL_auxz00_2627 = CINT(BgL_tmpz00_2628);
														}
														{	/* Unsafe/pcre.scm 129 */
															obj_t BgL_tmpz00_2619;

															if (INTEGERP(BgL_begz00_1205))
																{	/* Unsafe/pcre.scm 129 */
																	BgL_tmpz00_2619 = BgL_begz00_1205;
																}
															else
																{
																	obj_t BgL_auxz00_2622;

																	BgL_auxz00_2622 =
																		BGl_typezd2errorzd2zz__errorz00
																		(BGl_string1827z00zz__regexpz00,
																		BINT(5638L), BGl_string1833z00zz__regexpz00,
																		BGl_string1834z00zz__regexpz00,
																		BgL_begz00_1205);
																	FAILURE(BgL_auxz00_2622, BFALSE, BFALSE);
																}
															BgL_auxz00_2618 = CINT(BgL_tmpz00_2619);
														}
														BgL_tmpz00_2616 =
															BSTRING_TO_STRING(BgL_strz00_1832);
														BgL_valz00_1835 =
															BGL_REGEXP_MATCH(BgL_rxz00_1834, BgL_tmpz00_2616,
															((bool_t) 0), BgL_auxz00_2618, BgL_auxz00_2627,
															BgL_auxz00_2636);
													}
													{	/* Unsafe/pcre.scm 129 */

														BGL_REGEXP_FREE(BgL_rxz00_1834);
														return BgL_valz00_1835;
													}
												}
											}
									}
								}
							}
						}
						break;
					case 5L:

						{	/* Unsafe/pcre.scm 136 */
							obj_t BgL_begz00_1208;

							BgL_begz00_1208 = VECTOR_REF(BgL_opt1118z00_21, 2L);
							{	/* Unsafe/pcre.scm 136 */
								obj_t BgL_endz00_1209;

								BgL_endz00_1209 = VECTOR_REF(BgL_opt1118z00_21, 3L);
								{	/* Unsafe/pcre.scm 136 */
									obj_t BgL_offsetz00_1210;

									BgL_offsetz00_1210 = VECTOR_REF(BgL_opt1118z00_21, 4L);
									{	/* Unsafe/pcre.scm 136 */

										{	/* Unsafe/pcre.scm 136 */
											obj_t BgL_strz00_1836;

											if (STRINGP(BgL_strz00_1196))
												{	/* Unsafe/pcre.scm 136 */
													BgL_strz00_1836 = BgL_strz00_1196;
												}
											else
												{
													obj_t BgL_auxz00_2645;

													BgL_auxz00_2645 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string1827z00zz__regexpz00, BINT(5908L),
														BGl_string1833z00zz__regexpz00,
														BGl_string1832z00zz__regexpz00, BgL_strz00_1196);
													FAILURE(BgL_auxz00_2645, BFALSE, BFALSE);
												}
											if (BGL_REGEXPP(BgL_patz00_1195))
												{	/* Unsafe/pcre.scm 127 */
													int BgL_auxz00_2678;
													int BgL_auxz00_2669;
													int BgL_auxz00_2660;
													char *BgL_auxz00_2658;
													obj_t BgL_tmpz00_2651;

													{	/* Unsafe/pcre.scm 127 */
														obj_t BgL_tmpz00_2679;

														if (INTEGERP(BgL_offsetz00_1210))
															{	/* Unsafe/pcre.scm 127 */
																BgL_tmpz00_2679 = BgL_offsetz00_1210;
															}
														else
															{
																obj_t BgL_auxz00_2682;

																BgL_auxz00_2682 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(5549L),
																	BGl_string1833z00zz__regexpz00,
																	BGl_string1834z00zz__regexpz00,
																	BgL_offsetz00_1210);
																FAILURE(BgL_auxz00_2682, BFALSE, BFALSE);
															}
														BgL_auxz00_2678 = CINT(BgL_tmpz00_2679);
													}
													{	/* Unsafe/pcre.scm 127 */
														obj_t BgL_tmpz00_2670;

														if (INTEGERP(BgL_endz00_1209))
															{	/* Unsafe/pcre.scm 127 */
																BgL_tmpz00_2670 = BgL_endz00_1209;
															}
														else
															{
																obj_t BgL_auxz00_2673;

																BgL_auxz00_2673 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(5545L),
																	BGl_string1833z00zz__regexpz00,
																	BGl_string1834z00zz__regexpz00,
																	BgL_endz00_1209);
																FAILURE(BgL_auxz00_2673, BFALSE, BFALSE);
															}
														BgL_auxz00_2669 = CINT(BgL_tmpz00_2670);
													}
													{	/* Unsafe/pcre.scm 127 */
														obj_t BgL_tmpz00_2661;

														if (INTEGERP(BgL_begz00_1208))
															{	/* Unsafe/pcre.scm 127 */
																BgL_tmpz00_2661 = BgL_begz00_1208;
															}
														else
															{
																obj_t BgL_auxz00_2664;

																BgL_auxz00_2664 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(5541L),
																	BGl_string1833z00zz__regexpz00,
																	BGl_string1834z00zz__regexpz00,
																	BgL_begz00_1208);
																FAILURE(BgL_auxz00_2664, BFALSE, BFALSE);
															}
														BgL_auxz00_2660 = CINT(BgL_tmpz00_2661);
													}
													BgL_auxz00_2658 = BSTRING_TO_STRING(BgL_strz00_1836);
													if (BGl_regexpzf3zf3zz__regexpz00(BgL_patz00_1195))
														{	/* Unsafe/pcre.scm 127 */
															BgL_tmpz00_2651 = BgL_patz00_1195;
														}
													else
														{
															obj_t BgL_auxz00_2654;

															BgL_auxz00_2654 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(5525L),
																BGl_string1833z00zz__regexpz00,
																BGl_string1829z00zz__regexpz00,
																BgL_patz00_1195);
															FAILURE(BgL_auxz00_2654, BFALSE, BFALSE);
														}
													return
														BGL_REGEXP_MATCH(BgL_tmpz00_2651, BgL_auxz00_2658,
														((bool_t) 0), BgL_auxz00_2660, BgL_auxz00_2669,
														BgL_auxz00_2678);
												}
											else
												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_rxz00_1838;

													{	/* Unsafe/pcre.scm 128 */
														obj_t BgL_tmpz00_2688;

														if (STRINGP(BgL_patz00_1195))
															{	/* Unsafe/pcre.scm 128 */
																BgL_tmpz00_2688 = BgL_patz00_1195;
															}
														else
															{
																obj_t BgL_auxz00_2691;

																BgL_auxz00_2691 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(5587L),
																	BGl_string1833z00zz__regexpz00,
																	BGl_string1832z00zz__regexpz00,
																	BgL_patz00_1195);
																FAILURE(BgL_auxz00_2691, BFALSE, BFALSE);
															}
														BgL_rxz00_1838 =
															bgl_regcomp(BgL_tmpz00_2688, BNIL, ((bool_t) 0));
													}
													{	/* Unsafe/pcre.scm 128 */
														obj_t BgL_valz00_1839;

														{	/* Unsafe/pcre.scm 129 */
															int BgL_auxz00_2716;
															int BgL_auxz00_2707;
															int BgL_auxz00_2698;
															char *BgL_tmpz00_2696;

															{	/* Unsafe/pcre.scm 129 */
																obj_t BgL_tmpz00_2717;

																if (INTEGERP(BgL_offsetz00_1210))
																	{	/* Unsafe/pcre.scm 129 */
																		BgL_tmpz00_2717 = BgL_offsetz00_1210;
																	}
																else
																	{
																		obj_t BgL_auxz00_2720;

																		BgL_auxz00_2720 =
																			BGl_typezd2errorzd2zz__errorz00
																			(BGl_string1827z00zz__regexpz00,
																			BINT(5646L),
																			BGl_string1833z00zz__regexpz00,
																			BGl_string1834z00zz__regexpz00,
																			BgL_offsetz00_1210);
																		FAILURE(BgL_auxz00_2720, BFALSE, BFALSE);
																	}
																BgL_auxz00_2716 = CINT(BgL_tmpz00_2717);
															}
															{	/* Unsafe/pcre.scm 129 */
																obj_t BgL_tmpz00_2708;

																if (INTEGERP(BgL_endz00_1209))
																	{	/* Unsafe/pcre.scm 129 */
																		BgL_tmpz00_2708 = BgL_endz00_1209;
																	}
																else
																	{
																		obj_t BgL_auxz00_2711;

																		BgL_auxz00_2711 =
																			BGl_typezd2errorzd2zz__errorz00
																			(BGl_string1827z00zz__regexpz00,
																			BINT(5642L),
																			BGl_string1833z00zz__regexpz00,
																			BGl_string1834z00zz__regexpz00,
																			BgL_endz00_1209);
																		FAILURE(BgL_auxz00_2711, BFALSE, BFALSE);
																	}
																BgL_auxz00_2707 = CINT(BgL_tmpz00_2708);
															}
															{	/* Unsafe/pcre.scm 129 */
																obj_t BgL_tmpz00_2699;

																if (INTEGERP(BgL_begz00_1208))
																	{	/* Unsafe/pcre.scm 129 */
																		BgL_tmpz00_2699 = BgL_begz00_1208;
																	}
																else
																	{
																		obj_t BgL_auxz00_2702;

																		BgL_auxz00_2702 =
																			BGl_typezd2errorzd2zz__errorz00
																			(BGl_string1827z00zz__regexpz00,
																			BINT(5638L),
																			BGl_string1833z00zz__regexpz00,
																			BGl_string1834z00zz__regexpz00,
																			BgL_begz00_1208);
																		FAILURE(BgL_auxz00_2702, BFALSE, BFALSE);
																	}
																BgL_auxz00_2698 = CINT(BgL_tmpz00_2699);
															}
															BgL_tmpz00_2696 =
																BSTRING_TO_STRING(BgL_strz00_1836);
															BgL_valz00_1839 =
																BGL_REGEXP_MATCH(BgL_rxz00_1838,
																BgL_tmpz00_2696, ((bool_t) 0), BgL_auxz00_2698,
																BgL_auxz00_2707, BgL_auxz00_2716);
														}
														{	/* Unsafe/pcre.scm 129 */

															BGL_REGEXP_FREE(BgL_rxz00_1838);
															return BgL_valz00_1839;
														}
													}
												}
										}
									}
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* pregexp-match-positions */
	BGL_EXPORTED_DEF obj_t BGl_pregexpzd2matchzd2positionsz00zz__regexpz00(obj_t
		BgL_patz00_16, obj_t BgL_strz00_17, obj_t BgL_begz00_18,
		obj_t BgL_endz00_19, obj_t BgL_offsetz00_20)
	{
		{	/* Unsafe/pcre.scm 136 */
			if (BGL_REGEXPP(BgL_patz00_16))
				{	/* Unsafe/pcre.scm 127 */
					int BgL_auxz00_2737;
					int BgL_auxz00_2735;
					int BgL_auxz00_2733;
					char *BgL_tmpz00_2731;

					BgL_auxz00_2737 = CINT(BgL_offsetz00_20);
					BgL_auxz00_2735 = CINT(BgL_endz00_19);
					BgL_auxz00_2733 = CINT(BgL_begz00_18);
					BgL_tmpz00_2731 = BSTRING_TO_STRING(BgL_strz00_17);
					return
						BGL_REGEXP_MATCH(BgL_patz00_16, BgL_tmpz00_2731, ((bool_t) 0),
						BgL_auxz00_2733, BgL_auxz00_2735, BgL_auxz00_2737);
				}
			else
				{	/* Unsafe/pcre.scm 128 */
					obj_t BgL_rxz00_1841;

					BgL_rxz00_1841 = bgl_regcomp(BgL_patz00_16, BNIL, ((bool_t) 0));
					{	/* Unsafe/pcre.scm 128 */
						obj_t BgL_valz00_1842;

						{	/* Unsafe/pcre.scm 129 */
							int BgL_auxz00_2747;
							int BgL_auxz00_2745;
							int BgL_auxz00_2743;
							char *BgL_tmpz00_2741;

							BgL_auxz00_2747 = CINT(BgL_offsetz00_20);
							BgL_auxz00_2745 = CINT(BgL_endz00_19);
							BgL_auxz00_2743 = CINT(BgL_begz00_18);
							BgL_tmpz00_2741 = BSTRING_TO_STRING(BgL_strz00_17);
							BgL_valz00_1842 =
								BGL_REGEXP_MATCH(BgL_rxz00_1841, BgL_tmpz00_2741, ((bool_t) 0),
								BgL_auxz00_2743, BgL_auxz00_2745, BgL_auxz00_2747);
						}
						{	/* Unsafe/pcre.scm 129 */

							BGL_REGEXP_FREE(BgL_rxz00_1841);
							return BgL_valz00_1842;
						}
					}
				}
		}

	}



/* _pregexp-match-n-positions! */
	obj_t BGl__pregexpzd2matchzd2nzd2positionsz12zc0zz__regexpz00(obj_t
		BgL_env1123z00_30, obj_t BgL_opt1122z00_29)
	{
		{	/* Unsafe/pcre.scm 142 */
			{	/* Unsafe/pcre.scm 142 */
				obj_t BgL_g1124z00_2367;
				obj_t BgL_g1125z00_2368;
				obj_t BgL_g1126z00_2369;
				obj_t BgL_g1127z00_2370;
				obj_t BgL_g1128z00_2371;

				BgL_g1124z00_2367 = VECTOR_REF(BgL_opt1122z00_29, 0L);
				BgL_g1125z00_2368 = VECTOR_REF(BgL_opt1122z00_29, 1L);
				BgL_g1126z00_2369 = VECTOR_REF(BgL_opt1122z00_29, 2L);
				BgL_g1127z00_2370 = VECTOR_REF(BgL_opt1122z00_29, 3L);
				BgL_g1128z00_2371 = VECTOR_REF(BgL_opt1122z00_29, 4L);
				switch (VECTOR_LENGTH(BgL_opt1122z00_29))
					{
					case 5L:

						{	/* Unsafe/pcre.scm 142 */

							{	/* Unsafe/pcre.scm 142 */
								obj_t BgL_patz00_2372;
								obj_t BgL_strz00_2373;
								obj_t BgL_vresz00_2374;
								long BgL_begz00_2375;
								long BgL_endz00_2376;

								if (BGl_regexpzf3zf3zz__regexpz00(BgL_g1124z00_2367))
									{	/* Unsafe/pcre.scm 142 */
										BgL_patz00_2372 = BgL_g1124z00_2367;
									}
								else
									{
										obj_t BgL_auxz00_2758;

										BgL_auxz00_2758 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string1827z00zz__regexpz00, BINT(6267L),
											BGl_string1835z00zz__regexpz00,
											BGl_string1829z00zz__regexpz00, BgL_g1124z00_2367);
										FAILURE(BgL_auxz00_2758, BFALSE, BFALSE);
									}
								if (STRINGP(BgL_g1125z00_2368))
									{	/* Unsafe/pcre.scm 142 */
										BgL_strz00_2373 = BgL_g1125z00_2368;
									}
								else
									{
										obj_t BgL_auxz00_2764;

										BgL_auxz00_2764 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string1827z00zz__regexpz00, BINT(6267L),
											BGl_string1835z00zz__regexpz00,
											BGl_string1832z00zz__regexpz00, BgL_g1125z00_2368);
										FAILURE(BgL_auxz00_2764, BFALSE, BFALSE);
									}
								if (VECTORP(BgL_g1126z00_2369))
									{	/* Unsafe/pcre.scm 142 */
										BgL_vresz00_2374 = BgL_g1126z00_2369;
									}
								else
									{
										obj_t BgL_auxz00_2770;

										BgL_auxz00_2770 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string1827z00zz__regexpz00, BINT(6267L),
											BGl_string1835z00zz__regexpz00,
											BGl_string1836z00zz__regexpz00, BgL_g1126z00_2369);
										FAILURE(BgL_auxz00_2770, BFALSE, BFALSE);
									}
								{	/* Unsafe/pcre.scm 142 */
									obj_t BgL_tmpz00_2774;

									if (INTEGERP(BgL_g1127z00_2370))
										{	/* Unsafe/pcre.scm 142 */
											BgL_tmpz00_2774 = BgL_g1127z00_2370;
										}
									else
										{
											obj_t BgL_auxz00_2777;

											BgL_auxz00_2777 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(6267L),
												BGl_string1835z00zz__regexpz00,
												BGl_string1834z00zz__regexpz00, BgL_g1127z00_2370);
											FAILURE(BgL_auxz00_2777, BFALSE, BFALSE);
										}
									BgL_begz00_2375 = (long) CINT(BgL_tmpz00_2774);
								}
								{	/* Unsafe/pcre.scm 142 */
									obj_t BgL_tmpz00_2782;

									if (INTEGERP(BgL_g1128z00_2371))
										{	/* Unsafe/pcre.scm 142 */
											BgL_tmpz00_2782 = BgL_g1128z00_2371;
										}
									else
										{
											obj_t BgL_auxz00_2785;

											BgL_auxz00_2785 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(6267L),
												BGl_string1835z00zz__regexpz00,
												BGl_string1834z00zz__regexpz00, BgL_g1128z00_2371);
											FAILURE(BgL_auxz00_2785, BFALSE, BFALSE);
										}
									BgL_endz00_2376 = (long) CINT(BgL_tmpz00_2782);
								}
								{	/* Unsafe/pcre.scm 143 */
									long BgL_tmpz00_2790;

									{	/* Unsafe/pcre.scm 143 */
										int BgL_auxz00_2797;
										int BgL_auxz00_2795;
										int BgL_auxz00_2793;
										char *BgL_tmpz00_2791;

										BgL_auxz00_2797 = (int) (0L);
										BgL_auxz00_2795 = (int) (BgL_endz00_2376);
										BgL_auxz00_2793 = (int) (BgL_begz00_2375);
										BgL_tmpz00_2791 = BSTRING_TO_STRING(BgL_strz00_2373);
										BgL_tmpz00_2790 =
											BGL_REGEXP_MATCH_N(BgL_patz00_2372, BgL_tmpz00_2791,
											BgL_vresz00_2374, BgL_auxz00_2793, BgL_auxz00_2795,
											BgL_auxz00_2797);
									}
									return BINT(BgL_tmpz00_2790);
								}
							}
						}
						break;
					case 6L:

						{	/* Unsafe/pcre.scm 142 */
							obj_t BgL_offsetz00_2377;

							BgL_offsetz00_2377 = VECTOR_REF(BgL_opt1122z00_29, 5L);
							{	/* Unsafe/pcre.scm 142 */

								{	/* Unsafe/pcre.scm 142 */
									obj_t BgL_patz00_2378;
									obj_t BgL_strz00_2379;
									obj_t BgL_vresz00_2380;
									long BgL_begz00_2381;
									long BgL_endz00_2382;

									if (BGl_regexpzf3zf3zz__regexpz00(BgL_g1124z00_2367))
										{	/* Unsafe/pcre.scm 142 */
											BgL_patz00_2378 = BgL_g1124z00_2367;
										}
									else
										{
											obj_t BgL_auxz00_2804;

											BgL_auxz00_2804 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(6267L),
												BGl_string1835z00zz__regexpz00,
												BGl_string1829z00zz__regexpz00, BgL_g1124z00_2367);
											FAILURE(BgL_auxz00_2804, BFALSE, BFALSE);
										}
									if (STRINGP(BgL_g1125z00_2368))
										{	/* Unsafe/pcre.scm 142 */
											BgL_strz00_2379 = BgL_g1125z00_2368;
										}
									else
										{
											obj_t BgL_auxz00_2810;

											BgL_auxz00_2810 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(6267L),
												BGl_string1835z00zz__regexpz00,
												BGl_string1832z00zz__regexpz00, BgL_g1125z00_2368);
											FAILURE(BgL_auxz00_2810, BFALSE, BFALSE);
										}
									if (VECTORP(BgL_g1126z00_2369))
										{	/* Unsafe/pcre.scm 142 */
											BgL_vresz00_2380 = BgL_g1126z00_2369;
										}
									else
										{
											obj_t BgL_auxz00_2816;

											BgL_auxz00_2816 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(6267L),
												BGl_string1835z00zz__regexpz00,
												BGl_string1836z00zz__regexpz00, BgL_g1126z00_2369);
											FAILURE(BgL_auxz00_2816, BFALSE, BFALSE);
										}
									{	/* Unsafe/pcre.scm 142 */
										obj_t BgL_tmpz00_2820;

										if (INTEGERP(BgL_g1127z00_2370))
											{	/* Unsafe/pcre.scm 142 */
												BgL_tmpz00_2820 = BgL_g1127z00_2370;
											}
										else
											{
												obj_t BgL_auxz00_2823;

												BgL_auxz00_2823 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string1827z00zz__regexpz00, BINT(6267L),
													BGl_string1835z00zz__regexpz00,
													BGl_string1834z00zz__regexpz00, BgL_g1127z00_2370);
												FAILURE(BgL_auxz00_2823, BFALSE, BFALSE);
											}
										BgL_begz00_2381 = (long) CINT(BgL_tmpz00_2820);
									}
									{	/* Unsafe/pcre.scm 142 */
										obj_t BgL_tmpz00_2828;

										if (INTEGERP(BgL_g1128z00_2371))
											{	/* Unsafe/pcre.scm 142 */
												BgL_tmpz00_2828 = BgL_g1128z00_2371;
											}
										else
											{
												obj_t BgL_auxz00_2831;

												BgL_auxz00_2831 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string1827z00zz__regexpz00, BINT(6267L),
													BGl_string1835z00zz__regexpz00,
													BGl_string1834z00zz__regexpz00, BgL_g1128z00_2371);
												FAILURE(BgL_auxz00_2831, BFALSE, BFALSE);
											}
										BgL_endz00_2382 = (long) CINT(BgL_tmpz00_2828);
									}
									{	/* Unsafe/pcre.scm 143 */
										long BgL_tmpz00_2836;

										{	/* Unsafe/pcre.scm 143 */
											int BgL_auxz00_2843;
											int BgL_auxz00_2841;
											int BgL_auxz00_2839;
											char *BgL_tmpz00_2837;

											{	/* Unsafe/pcre.scm 143 */
												obj_t BgL_tmpz00_2844;

												if (INTEGERP(BgL_offsetz00_2377))
													{	/* Unsafe/pcre.scm 143 */
														BgL_tmpz00_2844 = BgL_offsetz00_2377;
													}
												else
													{
														obj_t BgL_auxz00_2847;

														BgL_auxz00_2847 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string1827z00zz__regexpz00, BINT(6399L),
															BGl_string1835z00zz__regexpz00,
															BGl_string1834z00zz__regexpz00,
															BgL_offsetz00_2377);
														FAILURE(BgL_auxz00_2847, BFALSE, BFALSE);
													}
												BgL_auxz00_2843 = CINT(BgL_tmpz00_2844);
											}
											BgL_auxz00_2841 = (int) (BgL_endz00_2382);
											BgL_auxz00_2839 = (int) (BgL_begz00_2381);
											BgL_tmpz00_2837 = BSTRING_TO_STRING(BgL_strz00_2379);
											BgL_tmpz00_2836 =
												BGL_REGEXP_MATCH_N(BgL_patz00_2378, BgL_tmpz00_2837,
												BgL_vresz00_2380, BgL_auxz00_2839, BgL_auxz00_2841,
												BgL_auxz00_2843);
										}
										return BINT(BgL_tmpz00_2836);
									}
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* pregexp-match-n-positions! */
	BGL_EXPORTED_DEF long
		BGl_pregexpzd2matchzd2nzd2positionsz12zc0zz__regexpz00(obj_t BgL_patz00_23,
		obj_t BgL_strz00_24, obj_t BgL_vresz00_25, long BgL_begz00_26,
		long BgL_endz00_27, obj_t BgL_offsetz00_28)
	{
		{	/* Unsafe/pcre.scm 142 */
			{	/* Unsafe/pcre.scm 143 */
				int BgL_auxz00_2862;
				int BgL_auxz00_2860;
				int BgL_auxz00_2858;
				char *BgL_tmpz00_2856;

				BgL_auxz00_2862 = CINT(BgL_offsetz00_28);
				BgL_auxz00_2860 = (int) (BgL_endz00_27);
				BgL_auxz00_2858 = (int) (BgL_begz00_26);
				BgL_tmpz00_2856 = BSTRING_TO_STRING(BgL_strz00_24);
				return
					BGL_REGEXP_MATCH_N(BgL_patz00_23, BgL_tmpz00_2856, BgL_vresz00_25,
					BgL_auxz00_2858, BgL_auxz00_2860, BgL_auxz00_2862);
			}
		}

	}



/* _pregexp-match */
	obj_t BGl__pregexpzd2matchzd2zz__regexpz00(obj_t BgL_env1132z00_36,
		obj_t BgL_opt1131z00_35)
	{
		{	/* Unsafe/pcre.scm 148 */
			{	/* Unsafe/pcre.scm 148 */
				obj_t BgL_patz00_1220;
				obj_t BgL_strz00_1221;

				BgL_patz00_1220 = VECTOR_REF(BgL_opt1131z00_35, 0L);
				BgL_strz00_1221 = VECTOR_REF(BgL_opt1131z00_35, 1L);
				switch (VECTOR_LENGTH(BgL_opt1131z00_35))
					{
					case 2L:

						{	/* Unsafe/pcre.scm 148 */
							long BgL_endz00_1225;

							{	/* Unsafe/pcre.scm 148 */
								obj_t BgL_stringz00_1862;

								if (STRINGP(BgL_strz00_1221))
									{	/* Unsafe/pcre.scm 148 */
										BgL_stringz00_1862 = BgL_strz00_1221;
									}
								else
									{
										obj_t BgL_auxz00_2869;

										BgL_auxz00_2869 =
											BGl_typezd2errorzd2zz__errorz00
											(BGl_string1827z00zz__regexpz00, BINT(6686L),
											BGl_string1837z00zz__regexpz00,
											BGl_string1832z00zz__regexpz00, BgL_strz00_1221);
										FAILURE(BgL_auxz00_2869, BFALSE, BFALSE);
									}
								BgL_endz00_1225 = STRING_LENGTH(BgL_stringz00_1862);
							}
							{	/* Unsafe/pcre.scm 148 */

								{	/* Unsafe/pcre.scm 148 */
									obj_t BgL_strz00_1863;

									if (STRINGP(BgL_strz00_1221))
										{	/* Unsafe/pcre.scm 148 */
											BgL_strz00_1863 = BgL_strz00_1221;
										}
									else
										{
											obj_t BgL_auxz00_2876;

											BgL_auxz00_2876 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(6631L),
												BGl_string1837z00zz__regexpz00,
												BGl_string1832z00zz__regexpz00, BgL_strz00_1221);
											FAILURE(BgL_auxz00_2876, BFALSE, BFALSE);
										}
									{	/* Unsafe/pcre.scm 149 */

										if (BGL_REGEXPP(BgL_patz00_1220))
											{	/* Unsafe/pcre.scm 127 */
												int BgL_auxz00_2895;
												int BgL_auxz00_2893;
												int BgL_auxz00_2891;
												char *BgL_auxz00_2889;
												obj_t BgL_tmpz00_2882;

												BgL_auxz00_2895 = (int) (0L);
												BgL_auxz00_2893 = (int) (BgL_endz00_1225);
												BgL_auxz00_2891 = (int) (0L);
												BgL_auxz00_2889 = BSTRING_TO_STRING(BgL_strz00_1863);
												if (BGl_regexpzf3zf3zz__regexpz00(BgL_patz00_1220))
													{	/* Unsafe/pcre.scm 149 */
														BgL_tmpz00_2882 = BgL_patz00_1220;
													}
												else
													{
														obj_t BgL_auxz00_2885;

														BgL_auxz00_2885 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string1827z00zz__regexpz00, BINT(6718L),
															BGl_string1837z00zz__regexpz00,
															BGl_string1829z00zz__regexpz00, BgL_patz00_1220);
														FAILURE(BgL_auxz00_2885, BFALSE, BFALSE);
													}
												return
													BGL_REGEXP_MATCH(BgL_tmpz00_2882, BgL_auxz00_2889,
													((bool_t) 1), BgL_auxz00_2891, BgL_auxz00_2893,
													BgL_auxz00_2895);
											}
										else
											{	/* Unsafe/pcre.scm 128 */
												obj_t BgL_rxz00_1871;

												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_tmpz00_2898;

													if (STRINGP(BgL_patz00_1220))
														{	/* Unsafe/pcre.scm 149 */
															BgL_tmpz00_2898 = BgL_patz00_1220;
														}
													else
														{
															obj_t BgL_auxz00_2901;

															BgL_auxz00_2901 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(6718L),
																BGl_string1837z00zz__regexpz00,
																BGl_string1832z00zz__regexpz00,
																BgL_patz00_1220);
															FAILURE(BgL_auxz00_2901, BFALSE, BFALSE);
														}
													BgL_rxz00_1871 =
														bgl_regcomp(BgL_tmpz00_2898, BNIL, ((bool_t) 0));
												}
												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_valz00_1872;

													{	/* Unsafe/pcre.scm 129 */
														int BgL_auxz00_2912;
														int BgL_auxz00_2910;
														int BgL_auxz00_2908;
														char *BgL_tmpz00_2906;

														BgL_auxz00_2912 = (int) (0L);
														BgL_auxz00_2910 = (int) (BgL_endz00_1225);
														BgL_auxz00_2908 = (int) (0L);
														BgL_tmpz00_2906 =
															BSTRING_TO_STRING(BgL_strz00_1863);
														BgL_valz00_1872 =
															BGL_REGEXP_MATCH(BgL_rxz00_1871, BgL_tmpz00_2906,
															((bool_t) 1), BgL_auxz00_2908, BgL_auxz00_2910,
															BgL_auxz00_2912);
													}
													{	/* Unsafe/pcre.scm 129 */

														BGL_REGEXP_FREE(BgL_rxz00_1871);
														return BgL_valz00_1872;
													}
												}
											}
									}
								}
							}
						}
						break;
					case 3L:

						{	/* Unsafe/pcre.scm 148 */
							obj_t BgL_begz00_1226;

							BgL_begz00_1226 = VECTOR_REF(BgL_opt1131z00_35, 2L);
							{	/* Unsafe/pcre.scm 148 */
								long BgL_endz00_1227;

								{	/* Unsafe/pcre.scm 148 */
									obj_t BgL_stringz00_1873;

									if (STRINGP(BgL_strz00_1221))
										{	/* Unsafe/pcre.scm 148 */
											BgL_stringz00_1873 = BgL_strz00_1221;
										}
									else
										{
											obj_t BgL_auxz00_2919;

											BgL_auxz00_2919 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string1827z00zz__regexpz00, BINT(6686L),
												BGl_string1837z00zz__regexpz00,
												BGl_string1832z00zz__regexpz00, BgL_strz00_1221);
											FAILURE(BgL_auxz00_2919, BFALSE, BFALSE);
										}
									BgL_endz00_1227 = STRING_LENGTH(BgL_stringz00_1873);
								}
								{	/* Unsafe/pcre.scm 148 */

									{	/* Unsafe/pcre.scm 148 */
										obj_t BgL_strz00_1874;

										if (STRINGP(BgL_strz00_1221))
											{	/* Unsafe/pcre.scm 148 */
												BgL_strz00_1874 = BgL_strz00_1221;
											}
										else
											{
												obj_t BgL_auxz00_2926;

												BgL_auxz00_2926 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string1827z00zz__regexpz00, BINT(6631L),
													BGl_string1837z00zz__regexpz00,
													BGl_string1832z00zz__regexpz00, BgL_strz00_1221);
												FAILURE(BgL_auxz00_2926, BFALSE, BFALSE);
											}
										{	/* Unsafe/pcre.scm 149 */

											if (BGL_REGEXPP(BgL_patz00_1220))
												{	/* Unsafe/pcre.scm 127 */
													int BgL_auxz00_2952;
													int BgL_auxz00_2950;
													int BgL_auxz00_2941;
													char *BgL_auxz00_2939;
													obj_t BgL_tmpz00_2932;

													BgL_auxz00_2952 = (int) (0L);
													BgL_auxz00_2950 = (int) (BgL_endz00_1227);
													{	/* Unsafe/pcre.scm 149 */
														obj_t BgL_tmpz00_2942;

														if (INTEGERP(BgL_begz00_1226))
															{	/* Unsafe/pcre.scm 149 */
																BgL_tmpz00_2942 = BgL_begz00_1226;
															}
														else
															{
																obj_t BgL_auxz00_2945;

																BgL_auxz00_2945 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(6729L),
																	BGl_string1837z00zz__regexpz00,
																	BGl_string1834z00zz__regexpz00,
																	BgL_begz00_1226);
																FAILURE(BgL_auxz00_2945, BFALSE, BFALSE);
															}
														BgL_auxz00_2941 = CINT(BgL_tmpz00_2942);
													}
													BgL_auxz00_2939 = BSTRING_TO_STRING(BgL_strz00_1874);
													if (BGl_regexpzf3zf3zz__regexpz00(BgL_patz00_1220))
														{	/* Unsafe/pcre.scm 149 */
															BgL_tmpz00_2932 = BgL_patz00_1220;
														}
													else
														{
															obj_t BgL_auxz00_2935;

															BgL_auxz00_2935 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(6718L),
																BGl_string1837z00zz__regexpz00,
																BGl_string1829z00zz__regexpz00,
																BgL_patz00_1220);
															FAILURE(BgL_auxz00_2935, BFALSE, BFALSE);
														}
													return
														BGL_REGEXP_MATCH(BgL_tmpz00_2932, BgL_auxz00_2939,
														((bool_t) 1), BgL_auxz00_2941, BgL_auxz00_2950,
														BgL_auxz00_2952);
												}
											else
												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_rxz00_1882;

													{	/* Unsafe/pcre.scm 128 */
														obj_t BgL_tmpz00_2955;

														if (STRINGP(BgL_patz00_1220))
															{	/* Unsafe/pcre.scm 149 */
																BgL_tmpz00_2955 = BgL_patz00_1220;
															}
														else
															{
																obj_t BgL_auxz00_2958;

																BgL_auxz00_2958 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(6718L),
																	BGl_string1837z00zz__regexpz00,
																	BGl_string1832z00zz__regexpz00,
																	BgL_patz00_1220);
																FAILURE(BgL_auxz00_2958, BFALSE, BFALSE);
															}
														BgL_rxz00_1882 =
															bgl_regcomp(BgL_tmpz00_2955, BNIL, ((bool_t) 0));
													}
													{	/* Unsafe/pcre.scm 128 */
														obj_t BgL_valz00_1883;

														{	/* Unsafe/pcre.scm 129 */
															int BgL_auxz00_2976;
															int BgL_auxz00_2974;
															int BgL_auxz00_2965;
															char *BgL_tmpz00_2963;

															BgL_auxz00_2976 = (int) (0L);
															BgL_auxz00_2974 = (int) (BgL_endz00_1227);
															{	/* Unsafe/pcre.scm 149 */
																obj_t BgL_tmpz00_2966;

																if (INTEGERP(BgL_begz00_1226))
																	{	/* Unsafe/pcre.scm 149 */
																		BgL_tmpz00_2966 = BgL_begz00_1226;
																	}
																else
																	{
																		obj_t BgL_auxz00_2969;

																		BgL_auxz00_2969 =
																			BGl_typezd2errorzd2zz__errorz00
																			(BGl_string1827z00zz__regexpz00,
																			BINT(6729L),
																			BGl_string1837z00zz__regexpz00,
																			BGl_string1834z00zz__regexpz00,
																			BgL_begz00_1226);
																		FAILURE(BgL_auxz00_2969, BFALSE, BFALSE);
																	}
																BgL_auxz00_2965 = CINT(BgL_tmpz00_2966);
															}
															BgL_tmpz00_2963 =
																BSTRING_TO_STRING(BgL_strz00_1874);
															BgL_valz00_1883 =
																BGL_REGEXP_MATCH(BgL_rxz00_1882,
																BgL_tmpz00_2963, ((bool_t) 1), BgL_auxz00_2965,
																BgL_auxz00_2974, BgL_auxz00_2976);
														}
														{	/* Unsafe/pcre.scm 129 */

															BGL_REGEXP_FREE(BgL_rxz00_1882);
															return BgL_valz00_1883;
														}
													}
												}
										}
									}
								}
							}
						}
						break;
					case 4L:

						{	/* Unsafe/pcre.scm 148 */
							obj_t BgL_begz00_1228;

							BgL_begz00_1228 = VECTOR_REF(BgL_opt1131z00_35, 2L);
							{	/* Unsafe/pcre.scm 148 */
								obj_t BgL_endz00_1229;

								BgL_endz00_1229 = VECTOR_REF(BgL_opt1131z00_35, 3L);
								{	/* Unsafe/pcre.scm 148 */

									{	/* Unsafe/pcre.scm 148 */
										obj_t BgL_strz00_1884;

										if (STRINGP(BgL_strz00_1221))
											{	/* Unsafe/pcre.scm 148 */
												BgL_strz00_1884 = BgL_strz00_1221;
											}
										else
											{
												obj_t BgL_auxz00_2984;

												BgL_auxz00_2984 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string1827z00zz__regexpz00, BINT(6631L),
													BGl_string1837z00zz__regexpz00,
													BGl_string1832z00zz__regexpz00, BgL_strz00_1221);
												FAILURE(BgL_auxz00_2984, BFALSE, BFALSE);
											}
										{	/* Unsafe/pcre.scm 149 */

											if (BGL_REGEXPP(BgL_patz00_1220))
												{	/* Unsafe/pcre.scm 127 */
													int BgL_auxz00_3017;
													int BgL_auxz00_3008;
													int BgL_auxz00_2999;
													char *BgL_auxz00_2997;
													obj_t BgL_tmpz00_2990;

													BgL_auxz00_3017 = (int) (0L);
													{	/* Unsafe/pcre.scm 149 */
														obj_t BgL_tmpz00_3009;

														if (INTEGERP(BgL_endz00_1229))
															{	/* Unsafe/pcre.scm 149 */
																BgL_tmpz00_3009 = BgL_endz00_1229;
															}
														else
															{
																obj_t BgL_auxz00_3012;

																BgL_auxz00_3012 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(6733L),
																	BGl_string1837z00zz__regexpz00,
																	BGl_string1834z00zz__regexpz00,
																	BgL_endz00_1229);
																FAILURE(BgL_auxz00_3012, BFALSE, BFALSE);
															}
														BgL_auxz00_3008 = CINT(BgL_tmpz00_3009);
													}
													{	/* Unsafe/pcre.scm 149 */
														obj_t BgL_tmpz00_3000;

														if (INTEGERP(BgL_begz00_1228))
															{	/* Unsafe/pcre.scm 149 */
																BgL_tmpz00_3000 = BgL_begz00_1228;
															}
														else
															{
																obj_t BgL_auxz00_3003;

																BgL_auxz00_3003 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(6729L),
																	BGl_string1837z00zz__regexpz00,
																	BGl_string1834z00zz__regexpz00,
																	BgL_begz00_1228);
																FAILURE(BgL_auxz00_3003, BFALSE, BFALSE);
															}
														BgL_auxz00_2999 = CINT(BgL_tmpz00_3000);
													}
													BgL_auxz00_2997 = BSTRING_TO_STRING(BgL_strz00_1884);
													if (BGl_regexpzf3zf3zz__regexpz00(BgL_patz00_1220))
														{	/* Unsafe/pcre.scm 149 */
															BgL_tmpz00_2990 = BgL_patz00_1220;
														}
													else
														{
															obj_t BgL_auxz00_2993;

															BgL_auxz00_2993 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string1827z00zz__regexpz00, BINT(6718L),
																BGl_string1837z00zz__regexpz00,
																BGl_string1829z00zz__regexpz00,
																BgL_patz00_1220);
															FAILURE(BgL_auxz00_2993, BFALSE, BFALSE);
														}
													return
														BGL_REGEXP_MATCH(BgL_tmpz00_2990, BgL_auxz00_2997,
														((bool_t) 1), BgL_auxz00_2999, BgL_auxz00_3008,
														BgL_auxz00_3017);
												}
											else
												{	/* Unsafe/pcre.scm 128 */
													obj_t BgL_rxz00_1892;

													{	/* Unsafe/pcre.scm 128 */
														obj_t BgL_tmpz00_3020;

														if (STRINGP(BgL_patz00_1220))
															{	/* Unsafe/pcre.scm 149 */
																BgL_tmpz00_3020 = BgL_patz00_1220;
															}
														else
															{
																obj_t BgL_auxz00_3023;

																BgL_auxz00_3023 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string1827z00zz__regexpz00, BINT(6718L),
																	BGl_string1837z00zz__regexpz00,
																	BGl_string1832z00zz__regexpz00,
																	BgL_patz00_1220);
																FAILURE(BgL_auxz00_3023, BFALSE, BFALSE);
															}
														BgL_rxz00_1892 =
															bgl_regcomp(BgL_tmpz00_3020, BNIL, ((bool_t) 0));
													}
													{	/* Unsafe/pcre.scm 128 */
														obj_t BgL_valz00_1893;

														{	/* Unsafe/pcre.scm 129 */
															int BgL_auxz00_3048;
															int BgL_auxz00_3039;
															int BgL_auxz00_3030;
															char *BgL_tmpz00_3028;

															BgL_auxz00_3048 = (int) (0L);
															{	/* Unsafe/pcre.scm 149 */
																obj_t BgL_tmpz00_3040;

																if (INTEGERP(BgL_endz00_1229))
																	{	/* Unsafe/pcre.scm 149 */
																		BgL_tmpz00_3040 = BgL_endz00_1229;
																	}
																else
																	{
																		obj_t BgL_auxz00_3043;

																		BgL_auxz00_3043 =
																			BGl_typezd2errorzd2zz__errorz00
																			(BGl_string1827z00zz__regexpz00,
																			BINT(6733L),
																			BGl_string1837z00zz__regexpz00,
																			BGl_string1834z00zz__regexpz00,
																			BgL_endz00_1229);
																		FAILURE(BgL_auxz00_3043, BFALSE, BFALSE);
																	}
																BgL_auxz00_3039 = CINT(BgL_tmpz00_3040);
															}
															{	/* Unsafe/pcre.scm 149 */
																obj_t BgL_tmpz00_3031;

																if (INTEGERP(BgL_begz00_1228))
																	{	/* Unsafe/pcre.scm 149 */
																		BgL_tmpz00_3031 = BgL_begz00_1228;
																	}
																else
																	{
																		obj_t BgL_auxz00_3034;

																		BgL_auxz00_3034 =
																			BGl_typezd2errorzd2zz__errorz00
																			(BGl_string1827z00zz__regexpz00,
																			BINT(6729L),
																			BGl_string1837z00zz__regexpz00,
																			BGl_string1834z00zz__regexpz00,
																			BgL_begz00_1228);
																		FAILURE(BgL_auxz00_3034, BFALSE, BFALSE);
																	}
																BgL_auxz00_3030 = CINT(BgL_tmpz00_3031);
															}
															BgL_tmpz00_3028 =
																BSTRING_TO_STRING(BgL_strz00_1884);
															BgL_valz00_1893 =
																BGL_REGEXP_MATCH(BgL_rxz00_1892,
																BgL_tmpz00_3028, ((bool_t) 1), BgL_auxz00_3030,
																BgL_auxz00_3039, BgL_auxz00_3048);
														}
														{	/* Unsafe/pcre.scm 129 */

															BGL_REGEXP_FREE(BgL_rxz00_1892);
															return BgL_valz00_1893;
														}
													}
												}
										}
									}
								}
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* pregexp-match */
	BGL_EXPORTED_DEF obj_t BGl_pregexpzd2matchzd2zz__regexpz00(obj_t
		BgL_patz00_31, obj_t BgL_strz00_32, obj_t BgL_begz00_33,
		obj_t BgL_endz00_34)
	{
		{	/* Unsafe/pcre.scm 148 */
			{	/* Unsafe/pcre.scm 149 */

				if (BGL_REGEXPP(BgL_patz00_31))
					{	/* Unsafe/pcre.scm 127 */
						int BgL_auxz00_3062;
						int BgL_auxz00_3060;
						int BgL_auxz00_3058;
						char *BgL_tmpz00_3056;

						BgL_auxz00_3062 = (int) (0L);
						BgL_auxz00_3060 = CINT(BgL_endz00_34);
						BgL_auxz00_3058 = CINT(BgL_begz00_33);
						BgL_tmpz00_3056 = BSTRING_TO_STRING(BgL_strz00_32);
						return
							BGL_REGEXP_MATCH(BgL_patz00_31, BgL_tmpz00_3056, ((bool_t) 1),
							BgL_auxz00_3058, BgL_auxz00_3060, BgL_auxz00_3062);
					}
				else
					{	/* Unsafe/pcre.scm 128 */
						obj_t BgL_rxz00_1901;

						BgL_rxz00_1901 = bgl_regcomp(BgL_patz00_31, BNIL, ((bool_t) 0));
						{	/* Unsafe/pcre.scm 128 */
							obj_t BgL_valz00_1902;

							{	/* Unsafe/pcre.scm 129 */
								int BgL_auxz00_3072;
								int BgL_auxz00_3070;
								int BgL_auxz00_3068;
								char *BgL_tmpz00_3066;

								BgL_auxz00_3072 = (int) (0L);
								BgL_auxz00_3070 = CINT(BgL_endz00_34);
								BgL_auxz00_3068 = CINT(BgL_begz00_33);
								BgL_tmpz00_3066 = BSTRING_TO_STRING(BgL_strz00_32);
								BgL_valz00_1902 =
									BGL_REGEXP_MATCH(BgL_rxz00_1901, BgL_tmpz00_3066,
									((bool_t) 1), BgL_auxz00_3068, BgL_auxz00_3070,
									BgL_auxz00_3072);
							}
							{	/* Unsafe/pcre.scm 129 */

								BGL_REGEXP_FREE(BgL_rxz00_1901);
								return BgL_valz00_1902;
							}
						}
					}
			}
		}

	}



/* pregexp-read-escaped-number */
	obj_t BGl_pregexpzd2readzd2escapedzd2numberzd2zz__regexpz00(obj_t BgL_sz00_37,
		obj_t BgL_iz00_38, long BgL_nz00_39)
	{
		{	/* Unsafe/pcre.scm 154 */
			if ((((long) CINT(BgL_iz00_38) + 1L) < BgL_nz00_39))
				{	/* Unsafe/pcre.scm 157 */
					unsigned char BgL_cz00_1237;

					BgL_cz00_1237 =
						STRING_REF(BgL_sz00_37, ((long) CINT(BgL_iz00_38) + 1L));
					if (isdigit(BgL_cz00_1237))
						{	/* Unsafe/pcre.scm 159 */
							long BgL_g1049z00_1239;
							obj_t BgL_g1050z00_1240;

							BgL_g1049z00_1239 = ((long) CINT(BgL_iz00_38) + 2L);
							{	/* Unsafe/pcre.scm 159 */
								obj_t BgL_list1226z00_1265;

								BgL_list1226z00_1265 =
									MAKE_YOUNG_PAIR(BCHAR(BgL_cz00_1237), BNIL);
								BgL_g1050z00_1240 = BgL_list1226z00_1265;
							}
							{
								long BgL_iz00_1242;
								obj_t BgL_rz00_1243;

								BgL_iz00_1242 = BgL_g1049z00_1239;
								BgL_rz00_1243 = BgL_g1050z00_1240;
							BgL_zc3z04anonymousza31207ze3z87_1244:
								if ((BgL_iz00_1242 >= BgL_nz00_39))
									{	/* Unsafe/pcre.scm 161 */
										obj_t BgL_arg1209z00_1246;

										{	/* Unsafe/pcre.scm 161 */
											obj_t BgL_arg1213z00_1249;

											BgL_arg1213z00_1249 =
												BGl_listzd2ze3stringz31zz__r4_strings_6_7z00
												(bgl_reverse_bang(BgL_rz00_1243));
											{	/* Ieee/number.scm 175 */

												BgL_arg1209z00_1246 =
													BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00
													(BgL_arg1213z00_1249, BINT(10L));
											}
										}
										{	/* Unsafe/pcre.scm 161 */
											obj_t BgL_list1210z00_1247;

											{	/* Unsafe/pcre.scm 161 */
												obj_t BgL_arg1211z00_1248;

												BgL_arg1211z00_1248 =
													MAKE_YOUNG_PAIR(BINT(BgL_iz00_1242), BNIL);
												BgL_list1210z00_1247 =
													MAKE_YOUNG_PAIR(BgL_arg1209z00_1246,
													BgL_arg1211z00_1248);
											}
											return BgL_list1210z00_1247;
										}
									}
								else
									{	/* Unsafe/pcre.scm 162 */
										unsigned char BgL_cz00_1253;

										BgL_cz00_1253 = STRING_REF(BgL_sz00_37, BgL_iz00_1242);
										if (isdigit(BgL_cz00_1253))
											{	/* Unsafe/pcre.scm 164 */
												long BgL_arg1219z00_1255;
												obj_t BgL_arg1220z00_1256;

												BgL_arg1219z00_1255 = (BgL_iz00_1242 + 1L);
												BgL_arg1220z00_1256 =
													MAKE_YOUNG_PAIR(BCHAR(BgL_cz00_1253), BgL_rz00_1243);
												{
													obj_t BgL_rz00_3105;
													long BgL_iz00_3104;

													BgL_iz00_3104 = BgL_arg1219z00_1255;
													BgL_rz00_3105 = BgL_arg1220z00_1256;
													BgL_rz00_1243 = BgL_rz00_3105;
													BgL_iz00_1242 = BgL_iz00_3104;
													goto BgL_zc3z04anonymousza31207ze3z87_1244;
												}
											}
										else
											{	/* Unsafe/pcre.scm 165 */
												obj_t BgL_arg1221z00_1257;

												{	/* Unsafe/pcre.scm 165 */
													obj_t BgL_arg1224z00_1260;

													BgL_arg1224z00_1260 =
														BGl_listzd2ze3stringz31zz__r4_strings_6_7z00
														(bgl_reverse_bang(BgL_rz00_1243));
													{	/* Ieee/number.scm 175 */

														BgL_arg1221z00_1257 =
															BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00
															(BgL_arg1224z00_1260, BINT(10L));
													}
												}
												{	/* Unsafe/pcre.scm 165 */
													obj_t BgL_list1222z00_1258;

													{	/* Unsafe/pcre.scm 165 */
														obj_t BgL_arg1223z00_1259;

														BgL_arg1223z00_1259 =
															MAKE_YOUNG_PAIR(BINT(BgL_iz00_1242), BNIL);
														BgL_list1222z00_1258 =
															MAKE_YOUNG_PAIR(BgL_arg1221z00_1257,
															BgL_arg1223z00_1259);
													}
													return BgL_list1222z00_1258;
												}
											}
									}
							}
						}
					else
						{	/* Unsafe/pcre.scm 158 */
							return BFALSE;
						}
				}
			else
				{	/* Unsafe/pcre.scm 156 */
					return BFALSE;
				}
		}

	}



/* pregexp-list-ref */
	obj_t BGl_pregexpzd2listzd2refz00zz__regexpz00(obj_t BgL_sz00_40,
		obj_t BgL_iz00_41)
	{
		{	/* Unsafe/pcre.scm 171 */
			{
				obj_t BgL_sz00_1939;
				long BgL_kz00_1940;

				BgL_sz00_1939 = BgL_sz00_40;
				BgL_kz00_1940 = 0L;
			BgL_loopz00_1938:
				if (NULLP(BgL_sz00_1939))
					{	/* Unsafe/pcre.scm 175 */
						return BFALSE;
					}
				else
					{	/* Unsafe/pcre.scm 175 */
						if ((BgL_kz00_1940 == (long) CINT(BgL_iz00_41)))
							{	/* Unsafe/pcre.scm 176 */
								return CAR(((obj_t) BgL_sz00_1939));
							}
						else
							{
								long BgL_kz00_3123;
								obj_t BgL_sz00_3120;

								BgL_sz00_3120 = CDR(((obj_t) BgL_sz00_1939));
								BgL_kz00_3123 = (BgL_kz00_1940 + 1L);
								BgL_kz00_1940 = BgL_kz00_3123;
								BgL_sz00_1939 = BgL_sz00_3120;
								goto BgL_loopz00_1938;
							}
					}
			}
		}

	}



/* pregexp-replace-aux */
	obj_t BGl_pregexpzd2replacezd2auxz00zz__regexpz00(obj_t BgL_strz00_42,
		obj_t BgL_insz00_43, long BgL_nz00_44, obj_t BgL_backrefsz00_45)
	{
		{	/* Unsafe/pcre.scm 182 */
			{
				obj_t BgL_iz00_1278;
				obj_t BgL_rz00_1279;

				BgL_iz00_1278 = BINT(0L);
				BgL_rz00_1279 = BGl_string1838z00zz__regexpz00;
			BgL_zc3z04anonymousza31241ze3z87_1280:
				if (((long) CINT(BgL_iz00_1278) >= BgL_nz00_44))
					{	/* Unsafe/pcre.scm 184 */
						return BgL_rz00_1279;
					}
				else
					{	/* Unsafe/pcre.scm 185 */
						unsigned char BgL_cz00_1282;

						BgL_cz00_1282 =
							STRING_REF(BgL_insz00_43, (long) CINT(BgL_iz00_1278));
						if ((BgL_cz00_1282 == ((unsigned char) '\\')))
							{	/* Unsafe/pcre.scm 187 */
								obj_t BgL_brzd2izd2_1284;

								BgL_brzd2izd2_1284 =
									BGl_pregexpzd2readzd2escapedzd2numberzd2zz__regexpz00
									(BgL_insz00_43, BgL_iz00_1278, BgL_nz00_44);
								{	/* Unsafe/pcre.scm 187 */
									obj_t BgL_brz00_1285;

									if (CBOOL(BgL_brzd2izd2_1284))
										{	/* Unsafe/pcre.scm 188 */
											BgL_brz00_1285 = CAR(((obj_t) BgL_brzd2izd2_1284));
										}
									else
										{	/* Unsafe/pcre.scm 188 */
											if (
												(STRING_REF(BgL_insz00_43,
														((long) CINT(BgL_iz00_1278) + 1L)) ==
													((unsigned char) '&')))
												{	/* Unsafe/pcre.scm 189 */
													BgL_brz00_1285 = BINT(0L);
												}
											else
												{	/* Unsafe/pcre.scm 189 */
													BgL_brz00_1285 = BFALSE;
												}
										}
									{	/* Unsafe/pcre.scm 188 */
										obj_t BgL_iz00_1286;

										if (CBOOL(BgL_brzd2izd2_1284))
											{	/* Unsafe/pcre.scm 191 */
												obj_t BgL_pairz00_1969;

												BgL_pairz00_1969 = CDR(((obj_t) BgL_brzd2izd2_1284));
												BgL_iz00_1286 = CAR(BgL_pairz00_1969);
											}
										else
											{	/* Unsafe/pcre.scm 191 */
												if (CBOOL(BgL_brz00_1285))
													{	/* Unsafe/pcre.scm 192 */
														BgL_iz00_1286 = ADDFX(BgL_iz00_1278, BINT(2L));
													}
												else
													{	/* Unsafe/pcre.scm 192 */
														BgL_iz00_1286 = ADDFX(BgL_iz00_1278, BINT(1L));
													}
											}
										{	/* Unsafe/pcre.scm 191 */

											if (CBOOL(BgL_brz00_1285))
												{	/* Unsafe/pcre.scm 200 */
													obj_t BgL_arg1244z00_1287;

													{	/* Unsafe/pcre.scm 200 */
														obj_t BgL_backrefz00_1288;

														BgL_backrefz00_1288 =
															BGl_pregexpzd2listzd2refz00zz__regexpz00
															(BgL_backrefsz00_45, BgL_brz00_1285);
														if (CBOOL(BgL_backrefz00_1288))
															{	/* Unsafe/pcre.scm 203 */
																obj_t BgL_arg1246z00_1289;

																{	/* Unsafe/pcre.scm 203 */
																	obj_t BgL_arg1247z00_1290;
																	obj_t BgL_arg1248z00_1291;

																	BgL_arg1247z00_1290 =
																		CAR(((obj_t) BgL_backrefz00_1288));
																	BgL_arg1248z00_1291 =
																		CDR(((obj_t) BgL_backrefz00_1288));
																	BgL_arg1246z00_1289 =
																		c_substring(BgL_strz00_42,
																		(long) CINT(BgL_arg1247z00_1290),
																		(long) CINT(BgL_arg1248z00_1291));
																}
																BgL_arg1244z00_1287 =
																	string_append(BgL_rz00_1279,
																	BgL_arg1246z00_1289);
															}
														else
															{	/* Unsafe/pcre.scm 201 */
																BgL_arg1244z00_1287 = BgL_rz00_1279;
															}
													}
													{
														obj_t BgL_rz00_3168;
														obj_t BgL_iz00_3167;

														BgL_iz00_3167 = BgL_iz00_1286;
														BgL_rz00_3168 = BgL_arg1244z00_1287;
														BgL_rz00_1279 = BgL_rz00_3168;
														BgL_iz00_1278 = BgL_iz00_3167;
														goto BgL_zc3z04anonymousza31241ze3z87_1280;
													}
												}
											else
												{	/* Unsafe/pcre.scm 195 */
													unsigned char BgL_c2z00_1292;

													BgL_c2z00_1292 =
														STRING_REF(BgL_insz00_43,
														(long) CINT(BgL_iz00_1286));
													{	/* Unsafe/pcre.scm 196 */
														long BgL_arg1249z00_1293;
														obj_t BgL_arg1250z00_1294;

														BgL_arg1249z00_1293 =
															((long) CINT(BgL_iz00_1286) + 1L);
														if ((BgL_c2z00_1292 == ((unsigned char) '$')))
															{	/* Unsafe/pcre.scm 197 */
																BgL_arg1250z00_1294 = BgL_rz00_1279;
															}
														else
															{	/* Unsafe/pcre.scm 198 */
																obj_t BgL_arg1252z00_1296;

																{	/* Unsafe/pcre.scm 198 */
																	obj_t BgL_list1253z00_1297;

																	BgL_list1253z00_1297 =
																		MAKE_YOUNG_PAIR(BCHAR(BgL_c2z00_1292),
																		BNIL);
																	BgL_arg1252z00_1296 =
																		BGl_listzd2ze3stringz31zz__r4_strings_6_7z00
																		(BgL_list1253z00_1297);
																}
																BgL_arg1250z00_1294 =
																	string_append(BgL_rz00_1279,
																	BgL_arg1252z00_1296);
															}
														{
															obj_t BgL_rz00_3181;
															obj_t BgL_iz00_3179;

															BgL_iz00_3179 = BINT(BgL_arg1249z00_1293);
															BgL_rz00_3181 = BgL_arg1250z00_1294;
															BgL_rz00_1279 = BgL_rz00_3181;
															BgL_iz00_1278 = BgL_iz00_3179;
															goto BgL_zc3z04anonymousza31241ze3z87_1280;
														}
													}
												}
										}
									}
								}
							}
						else
							{	/* Unsafe/pcre.scm 205 */
								long BgL_arg1265z00_1303;
								obj_t BgL_arg1275z00_1304;

								BgL_arg1265z00_1303 = ((long) CINT(BgL_iz00_1278) + 1L);
								{	/* Unsafe/pcre.scm 205 */
									obj_t BgL_arg1276z00_1305;

									{	/* Unsafe/pcre.scm 205 */
										obj_t BgL_list1277z00_1306;

										BgL_list1277z00_1306 =
											MAKE_YOUNG_PAIR(BCHAR(BgL_cz00_1282), BNIL);
										BgL_arg1276z00_1305 =
											BGl_listzd2ze3stringz31zz__r4_strings_6_7z00
											(BgL_list1277z00_1306);
									}
									BgL_arg1275z00_1304 =
										string_append(BgL_rz00_1279, BgL_arg1276z00_1305);
								}
								{
									obj_t BgL_rz00_3190;
									obj_t BgL_iz00_3188;

									BgL_iz00_3188 = BINT(BgL_arg1265z00_1303);
									BgL_rz00_3190 = BgL_arg1275z00_1304;
									BgL_rz00_1279 = BgL_rz00_3190;
									BgL_iz00_1278 = BgL_iz00_3188;
									goto BgL_zc3z04anonymousza31241ze3z87_1280;
								}
							}
					}
			}
		}

	}



/* pregexp-split */
	BGL_EXPORTED_DEF obj_t BGl_pregexpzd2splitzd2zz__regexpz00(obj_t
		BgL_patz00_46, obj_t BgL_strz00_47)
	{
		{	/* Unsafe/pcre.scm 210 */
			{	/* Unsafe/pcre.scm 212 */
				long BgL_nz00_1308;

				BgL_nz00_1308 = STRING_LENGTH(BgL_strz00_47);
				{
					obj_t BgL_iz00_1311;
					obj_t BgL_rz00_1312;
					bool_t BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_1313;

					BgL_iz00_1311 = BINT(0L);
					BgL_rz00_1312 = BNIL;
					BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_1313 = ((bool_t) 0);
				BgL_zc3z04anonymousza31278ze3z87_1314:
					if (((long) CINT(BgL_iz00_1311) >= BgL_nz00_1308))
						{	/* Unsafe/pcre.scm 214 */
							return bgl_reverse_bang(BgL_rz00_1312);
						}
					else
						{	/* Unsafe/pcre.scm 215 */
							obj_t BgL_g1052z00_1316;

							{	/* Unsafe/pcre.scm 76 */

								if (BGL_REGEXPP(BgL_patz00_46))
									{	/* Unsafe/pcre.scm 127 */
										int BgL_auxz00_3205;
										int BgL_auxz00_3203;
										int BgL_auxz00_3201;
										char *BgL_tmpz00_3199;

										BgL_auxz00_3205 = (int) (0L);
										BgL_auxz00_3203 = (int) (BgL_nz00_1308);
										BgL_auxz00_3201 = CINT(BgL_iz00_1311);
										BgL_tmpz00_3199 = BSTRING_TO_STRING(BgL_strz00_47);
										BgL_g1052z00_1316 =
											BGL_REGEXP_MATCH(BgL_patz00_46, BgL_tmpz00_3199,
											((bool_t) 0), BgL_auxz00_3201, BgL_auxz00_3203,
											BgL_auxz00_3205);
									}
								else
									{	/* Unsafe/pcre.scm 128 */
										obj_t BgL_rxz00_1988;

										BgL_rxz00_1988 =
											bgl_regcomp(BgL_patz00_46, BNIL, ((bool_t) 0));
										{	/* Unsafe/pcre.scm 128 */
											obj_t BgL_valz00_1989;

											{	/* Unsafe/pcre.scm 129 */
												int BgL_auxz00_3215;
												int BgL_auxz00_3213;
												int BgL_auxz00_3211;
												char *BgL_tmpz00_3209;

												BgL_auxz00_3215 = (int) (0L);
												BgL_auxz00_3213 = (int) (BgL_nz00_1308);
												BgL_auxz00_3211 = CINT(BgL_iz00_1311);
												BgL_tmpz00_3209 = BSTRING_TO_STRING(BgL_strz00_47);
												BgL_valz00_1989 =
													BGL_REGEXP_MATCH(BgL_rxz00_1988, BgL_tmpz00_3209,
													((bool_t) 0), BgL_auxz00_3211, BgL_auxz00_3213,
													BgL_auxz00_3215);
											}
											{	/* Unsafe/pcre.scm 129 */

												BGL_REGEXP_FREE(BgL_rxz00_1988);
												BgL_g1052z00_1316 = BgL_valz00_1989;
							}}}}
							if (CBOOL(BgL_g1052z00_1316))
								{	/* Unsafe/pcre.scm 218 */
									obj_t BgL_jkz00_1319;

									BgL_jkz00_1319 = CAR(((obj_t) BgL_g1052z00_1316));
									{	/* Unsafe/pcre.scm 219 */
										obj_t BgL_jz00_1320;
										obj_t BgL_kz00_1321;

										BgL_jz00_1320 = CAR(((obj_t) BgL_jkz00_1319));
										BgL_kz00_1321 = CDR(((obj_t) BgL_jkz00_1319));
										if (
											((long) CINT(BgL_jz00_1320) ==
												(long) CINT(BgL_kz00_1321)))
											{	/* Unsafe/pcre.scm 221 */
												long BgL_arg1281z00_1323;
												obj_t BgL_arg1282z00_1324;

												BgL_arg1281z00_1323 = ((long) CINT(BgL_kz00_1321) + 1L);
												BgL_arg1282z00_1324 =
													MAKE_YOUNG_PAIR(c_substring(BgL_strz00_47,
														(long) CINT(BgL_iz00_1311),
														((long) CINT(BgL_jz00_1320) + 1L)), BgL_rz00_1312);
												{
													bool_t
														BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3241;
													obj_t BgL_rz00_3240;
													obj_t BgL_iz00_3238;

													BgL_iz00_3238 = BINT(BgL_arg1281z00_1323);
													BgL_rz00_3240 = BgL_arg1282z00_1324;
													BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3241
														= ((bool_t) 1);
													BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_1313
														=
														BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3241;
													BgL_rz00_1312 = BgL_rz00_3240;
													BgL_iz00_1311 = BgL_iz00_3238;
													goto BgL_zc3z04anonymousza31278ze3z87_1314;
												}
											}
										else
											{	/* Unsafe/pcre.scm 223 */
												bool_t BgL_test1959z00_3242;

												if (
													((long) CINT(BgL_jz00_1320) ==
														(long) CINT(BgL_iz00_1311)))
													{	/* Unsafe/pcre.scm 223 */
														BgL_test1959z00_3242 =
															BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_1313;
													}
												else
													{	/* Unsafe/pcre.scm 223 */
														BgL_test1959z00_3242 = ((bool_t) 0);
													}
												if (BgL_test1959z00_3242)
													{
														bool_t
															BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3248;
														obj_t BgL_iz00_3247;

														BgL_iz00_3247 = BgL_kz00_1321;
														BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3248
															= ((bool_t) 0);
														BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_1313
															=
															BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3248;
														BgL_iz00_1311 = BgL_iz00_3247;
														goto BgL_zc3z04anonymousza31278ze3z87_1314;
													}
												else
													{	/* Unsafe/pcre.scm 226 */
														obj_t BgL_arg1287z00_1329;

														BgL_arg1287z00_1329 =
															MAKE_YOUNG_PAIR(c_substring(BgL_strz00_47,
																(long) CINT(BgL_iz00_1311),
																(long) CINT(BgL_jz00_1320)), BgL_rz00_1312);
														{
															bool_t
																BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3255;
															obj_t BgL_rz00_3254;
															obj_t BgL_iz00_3253;

															BgL_iz00_3253 = BgL_kz00_1321;
															BgL_rz00_3254 = BgL_arg1287z00_1329;
															BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3255
																= ((bool_t) 0);
															BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_1313
																=
																BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3255;
															BgL_rz00_1312 = BgL_rz00_3254;
															BgL_iz00_1311 = BgL_iz00_3253;
															goto BgL_zc3z04anonymousza31278ze3z87_1314;
														}
													}
											}
									}
								}
							else
								{	/* Unsafe/pcre.scm 227 */
									obj_t BgL_arg1291z00_1332;

									BgL_arg1291z00_1332 =
										MAKE_YOUNG_PAIR(c_substring(BgL_strz00_47,
											(long) CINT(BgL_iz00_1311), BgL_nz00_1308),
										BgL_rz00_1312);
									{
										bool_t
											BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3262;
										obj_t BgL_rz00_3261;
										obj_t BgL_iz00_3259;

										BgL_iz00_3259 = BINT(BgL_nz00_1308);
										BgL_rz00_3261 = BgL_arg1291z00_1332;
										BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3262 =
											((bool_t) 0);
										BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_1313 =
											BgL_pickedzd2upzd2onezd2undelimitedzd2charzf3zf3_3262;
										BgL_rz00_1312 = BgL_rz00_3261;
										BgL_iz00_1311 = BgL_iz00_3259;
										goto BgL_zc3z04anonymousza31278ze3z87_1314;
									}
								}
						}
				}
			}
		}

	}



/* &pregexp-split */
	obj_t BGl_z62pregexpzd2splitzb0zz__regexpz00(obj_t BgL_envz00_2251,
		obj_t BgL_patz00_2252, obj_t BgL_strz00_2253)
	{
		{	/* Unsafe/pcre.scm 210 */
			{	/* Unsafe/pcre.scm 212 */
				obj_t BgL_auxz00_3264;

				if (STRINGP(BgL_strz00_2253))
					{	/* Unsafe/pcre.scm 212 */
						BgL_auxz00_3264 = BgL_strz00_2253;
					}
				else
					{
						obj_t BgL_auxz00_3267;

						BgL_auxz00_3267 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(9157L), BGl_string1839z00zz__regexpz00,
							BGl_string1832z00zz__regexpz00, BgL_strz00_2253);
						FAILURE(BgL_auxz00_3267, BFALSE, BFALSE);
					}
				return
					BGl_pregexpzd2splitzd2zz__regexpz00(BgL_patz00_2252, BgL_auxz00_3264);
			}
		}

	}



/* pregexp-replace */
	BGL_EXPORTED_DEF obj_t BGl_pregexpzd2replacezd2zz__regexpz00(obj_t
		BgL_patz00_48, obj_t BgL_strz00_49, obj_t BgL_insz00_50)
	{
		{	/* Unsafe/pcre.scm 232 */
			{	/* Unsafe/pcre.scm 233 */
				long BgL_nz00_1340;

				BgL_nz00_1340 = STRING_LENGTH(BgL_strz00_49);
				{	/* Unsafe/pcre.scm 233 */
					obj_t BgL_ppz00_1341;

					{	/* Unsafe/pcre.scm 76 */

						if (BGL_REGEXPP(BgL_patz00_48))
							{	/* Unsafe/pcre.scm 127 */
								int BgL_auxz00_3281;
								int BgL_auxz00_3279;
								int BgL_auxz00_3277;
								char *BgL_tmpz00_3275;

								BgL_auxz00_3281 = (int) (0L);
								BgL_auxz00_3279 = (int) (BgL_nz00_1340);
								BgL_auxz00_3277 = (int) (0L);
								BgL_tmpz00_3275 = BSTRING_TO_STRING(BgL_strz00_49);
								BgL_ppz00_1341 =
									BGL_REGEXP_MATCH(BgL_patz00_48, BgL_tmpz00_3275, ((bool_t) 0),
									BgL_auxz00_3277, BgL_auxz00_3279, BgL_auxz00_3281);
							}
						else
							{	/* Unsafe/pcre.scm 128 */
								obj_t BgL_rxz00_2011;

								BgL_rxz00_2011 = bgl_regcomp(BgL_patz00_48, BNIL, ((bool_t) 0));
								{	/* Unsafe/pcre.scm 128 */
									obj_t BgL_valz00_2012;

									{	/* Unsafe/pcre.scm 129 */
										int BgL_auxz00_3291;
										int BgL_auxz00_3289;
										int BgL_auxz00_3287;
										char *BgL_tmpz00_3285;

										BgL_auxz00_3291 = (int) (0L);
										BgL_auxz00_3289 = (int) (BgL_nz00_1340);
										BgL_auxz00_3287 = (int) (0L);
										BgL_tmpz00_3285 = BSTRING_TO_STRING(BgL_strz00_49);
										BgL_valz00_2012 =
											BGL_REGEXP_MATCH(BgL_rxz00_2011, BgL_tmpz00_3285,
											((bool_t) 0), BgL_auxz00_3287, BgL_auxz00_3289,
											BgL_auxz00_3291);
									}
									{	/* Unsafe/pcre.scm 129 */

										BGL_REGEXP_FREE(BgL_rxz00_2011);
										BgL_ppz00_1341 = BgL_valz00_2012;
					}}}}
					{	/* Unsafe/pcre.scm 234 */

						if (CBOOL(BgL_ppz00_1341))
							{	/* Unsafe/pcre.scm 236 */
								long BgL_inszd2lenzd2_1342;
								obj_t BgL_mzd2izd2_1343;
								obj_t BgL_mzd2nzd2_1344;

								BgL_inszd2lenzd2_1342 = STRING_LENGTH(BgL_insz00_50);
								{	/* Unsafe/pcre.scm 237 */
									obj_t BgL_pairz00_2017;

									BgL_pairz00_2017 = CAR(((obj_t) BgL_ppz00_1341));
									BgL_mzd2izd2_1343 = CAR(BgL_pairz00_2017);
								}
								{	/* Unsafe/pcre.scm 238 */
									obj_t BgL_pairz00_2021;

									BgL_pairz00_2021 = CAR(((obj_t) BgL_ppz00_1341));
									BgL_mzd2nzd2_1344 = CDR(BgL_pairz00_2021);
								}
								return
									string_append_3(c_substring(BgL_strz00_49, 0L,
										(long) CINT(BgL_mzd2izd2_1343)),
									BGl_pregexpzd2replacezd2auxz00zz__regexpz00(BgL_strz00_49,
										BgL_insz00_50, BgL_inszd2lenzd2_1342, BgL_ppz00_1341),
									c_substring(BgL_strz00_49, (long) CINT(BgL_mzd2nzd2_1344),
										BgL_nz00_1340));
							}
						else
							{	/* Unsafe/pcre.scm 235 */
								return BgL_strz00_49;
							}
					}
				}
			}
		}

	}



/* &pregexp-replace */
	obj_t BGl_z62pregexpzd2replacezb0zz__regexpz00(obj_t BgL_envz00_2254,
		obj_t BgL_patz00_2255, obj_t BgL_strz00_2256, obj_t BgL_insz00_2257)
	{
		{	/* Unsafe/pcre.scm 232 */
			{	/* Unsafe/pcre.scm 233 */
				obj_t BgL_auxz00_3317;
				obj_t BgL_auxz00_3310;

				if (STRINGP(BgL_insz00_2257))
					{	/* Unsafe/pcre.scm 233 */
						BgL_auxz00_3317 = BgL_insz00_2257;
					}
				else
					{
						obj_t BgL_auxz00_3320;

						BgL_auxz00_3320 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(9973L), BGl_string1840z00zz__regexpz00,
							BGl_string1832z00zz__regexpz00, BgL_insz00_2257);
						FAILURE(BgL_auxz00_3320, BFALSE, BFALSE);
					}
				if (STRINGP(BgL_strz00_2256))
					{	/* Unsafe/pcre.scm 233 */
						BgL_auxz00_3310 = BgL_strz00_2256;
					}
				else
					{
						obj_t BgL_auxz00_3313;

						BgL_auxz00_3313 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(9973L), BGl_string1840z00zz__regexpz00,
							BGl_string1832z00zz__regexpz00, BgL_strz00_2256);
						FAILURE(BgL_auxz00_3313, BFALSE, BFALSE);
					}
				return
					BGl_pregexpzd2replacezd2zz__regexpz00(BgL_patz00_2255,
					BgL_auxz00_3310, BgL_auxz00_3317);
			}
		}

	}



/* pregexp-replace* */
	BGL_EXPORTED_DEF obj_t BGl_pregexpzd2replaceza2z70zz__regexpz00(obj_t
		BgL_patz00_51, obj_t BgL_strz00_52, obj_t BgL_insz00_53)
	{
		{	/* Unsafe/pcre.scm 247 */
			{	/* Unsafe/pcre.scm 250 */
				obj_t BgL_patz00_1353;
				long BgL_nz00_1354;
				long BgL_inszd2lenzd2_1355;

				if (STRINGP(BgL_patz00_51))
					{	/* Unsafe/pcre.scm 250 */
						BgL_patz00_1353 = bgl_regcomp(BgL_patz00_51, BNIL, ((bool_t) 1));
					}
				else
					{	/* Unsafe/pcre.scm 250 */
						BgL_patz00_1353 = BgL_patz00_51;
					}
				BgL_nz00_1354 = STRING_LENGTH(BgL_strz00_52);
				BgL_inszd2lenzd2_1355 = STRING_LENGTH(BgL_insz00_53);
				{
					obj_t BgL_iz00_1357;
					obj_t BgL_rz00_1358;

					BgL_iz00_1357 = BINT(0L);
					BgL_rz00_1358 = BGl_string1838z00zz__regexpz00;
				BgL_zc3z04anonymousza31324ze3z87_1359:
					if (((long) CINT(BgL_iz00_1357) >= BgL_nz00_1354))
						{	/* Unsafe/pcre.scm 256 */
							return BgL_rz00_1358;
						}
					else
						{	/* Unsafe/pcre.scm 257 */
							obj_t BgL_ppz00_1361;

							{	/* Unsafe/pcre.scm 76 */

								if (BGL_REGEXPP(BgL_patz00_1353))
									{	/* Unsafe/pcre.scm 127 */
										int BgL_auxz00_3341;
										int BgL_auxz00_3339;
										int BgL_auxz00_3337;
										char *BgL_tmpz00_3335;

										BgL_auxz00_3341 = (int) (0L);
										BgL_auxz00_3339 = (int) (BgL_nz00_1354);
										BgL_auxz00_3337 = CINT(BgL_iz00_1357);
										BgL_tmpz00_3335 = BSTRING_TO_STRING(BgL_strz00_52);
										BgL_ppz00_1361 =
											BGL_REGEXP_MATCH(BgL_patz00_1353, BgL_tmpz00_3335,
											((bool_t) 0), BgL_auxz00_3337, BgL_auxz00_3339,
											BgL_auxz00_3341);
									}
								else
									{	/* Unsafe/pcre.scm 128 */
										obj_t BgL_rxz00_2034;

										BgL_rxz00_2034 =
											bgl_regcomp(BgL_patz00_1353, BNIL, ((bool_t) 0));
										{	/* Unsafe/pcre.scm 128 */
											obj_t BgL_valz00_2035;

											{	/* Unsafe/pcre.scm 129 */
												int BgL_auxz00_3351;
												int BgL_auxz00_3349;
												int BgL_auxz00_3347;
												char *BgL_tmpz00_3345;

												BgL_auxz00_3351 = (int) (0L);
												BgL_auxz00_3349 = (int) (BgL_nz00_1354);
												BgL_auxz00_3347 = CINT(BgL_iz00_1357);
												BgL_tmpz00_3345 = BSTRING_TO_STRING(BgL_strz00_52);
												BgL_valz00_2035 =
													BGL_REGEXP_MATCH(BgL_rxz00_2034, BgL_tmpz00_3345,
													((bool_t) 0), BgL_auxz00_3347, BgL_auxz00_3349,
													BgL_auxz00_3351);
											}
											{	/* Unsafe/pcre.scm 129 */

												BGL_REGEXP_FREE(BgL_rxz00_2034);
												BgL_ppz00_1361 = BgL_valz00_2035;
							}}}}
							if (CBOOL(BgL_ppz00_1361))
								{	/* Unsafe/pcre.scm 268 */
									obj_t BgL_arg1327z00_1362;
									obj_t BgL_arg1330z00_1363;

									{	/* Unsafe/pcre.scm 268 */
										obj_t BgL_pairz00_2039;

										BgL_pairz00_2039 = CAR(((obj_t) BgL_ppz00_1361));
										BgL_arg1327z00_1362 = CDR(BgL_pairz00_2039);
									}
									{	/* Unsafe/pcre.scm 271 */
										obj_t BgL_arg1331z00_1364;
										obj_t BgL_arg1332z00_1365;

										{	/* Unsafe/pcre.scm 271 */
											obj_t BgL_arg1333z00_1366;

											{	/* Unsafe/pcre.scm 271 */
												obj_t BgL_pairz00_2043;

												BgL_pairz00_2043 = CAR(((obj_t) BgL_ppz00_1361));
												BgL_arg1333z00_1366 = CAR(BgL_pairz00_2043);
											}
											BgL_arg1331z00_1364 =
												c_substring(BgL_strz00_52,
												(long) CINT(BgL_iz00_1357),
												(long) CINT(BgL_arg1333z00_1366));
										}
										BgL_arg1332z00_1365 =
											BGl_pregexpzd2replacezd2auxz00zz__regexpz00(BgL_strz00_52,
											BgL_insz00_53, BgL_inszd2lenzd2_1355, BgL_ppz00_1361);
										BgL_arg1330z00_1363 =
											string_append_3(BgL_rz00_1358, BgL_arg1331z00_1364,
											BgL_arg1332z00_1365);
									}
									{
										obj_t BgL_rz00_3369;
										obj_t BgL_iz00_3368;

										BgL_iz00_3368 = BgL_arg1327z00_1362;
										BgL_rz00_3369 = BgL_arg1330z00_1363;
										BgL_rz00_1358 = BgL_rz00_3369;
										BgL_iz00_1357 = BgL_iz00_3368;
										goto BgL_zc3z04anonymousza31324ze3z87_1359;
									}
								}
							else
								{	/* Unsafe/pcre.scm 258 */
									if (((long) CINT(BgL_iz00_1357) == 0L))
										{	/* Unsafe/pcre.scm 259 */
											return BgL_strz00_52;
										}
									else
										{	/* Unsafe/pcre.scm 259 */
											return
												string_append(BgL_rz00_1358,
												c_substring(BgL_strz00_52,
													(long) CINT(BgL_iz00_1357), BgL_nz00_1354));
		}}}}}}

	}



/* &pregexp-replace* */
	obj_t BGl_z62pregexpzd2replaceza2z12zz__regexpz00(obj_t BgL_envz00_2258,
		obj_t BgL_patz00_2259, obj_t BgL_strz00_2260, obj_t BgL_insz00_2261)
	{
		{	/* Unsafe/pcre.scm 247 */
			{	/* Unsafe/pcre.scm 250 */
				obj_t BgL_auxz00_3384;
				obj_t BgL_auxz00_3377;

				if (STRINGP(BgL_insz00_2261))
					{	/* Unsafe/pcre.scm 250 */
						BgL_auxz00_3384 = BgL_insz00_2261;
					}
				else
					{
						obj_t BgL_auxz00_3387;

						BgL_auxz00_3387 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(10597L), BGl_string1841z00zz__regexpz00,
							BGl_string1832z00zz__regexpz00, BgL_insz00_2261);
						FAILURE(BgL_auxz00_3387, BFALSE, BFALSE);
					}
				if (STRINGP(BgL_strz00_2260))
					{	/* Unsafe/pcre.scm 250 */
						BgL_auxz00_3377 = BgL_strz00_2260;
					}
				else
					{
						obj_t BgL_auxz00_3380;

						BgL_auxz00_3380 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(10597L), BGl_string1841z00zz__regexpz00,
							BGl_string1832z00zz__regexpz00, BgL_strz00_2260);
						FAILURE(BgL_auxz00_3380, BFALSE, BFALSE);
					}
				return
					BGl_pregexpzd2replaceza2z70zz__regexpz00(BgL_patz00_2259,
					BgL_auxz00_3377, BgL_auxz00_3384);
			}
		}

	}



/* pregexp-quote */
	BGL_EXPORTED_DEF obj_t BGl_pregexpzd2quotezd2zz__regexpz00(obj_t BgL_sz00_54)
	{
		{	/* Unsafe/pcre.scm 277 */
			{	/* Unsafe/pcre.scm 278 */
				long BgL_g1054z00_1377;

				BgL_g1054z00_1377 = (STRING_LENGTH(BgL_sz00_54) - 1L);
				{
					long BgL_iz00_1380;
					obj_t BgL_rz00_1381;

					BgL_iz00_1380 = BgL_g1054z00_1377;
					BgL_rz00_1381 = BNIL;
				BgL_zc3z04anonymousza31338ze3z87_1382:
					if ((BgL_iz00_1380 < 0L))
						{	/* Unsafe/pcre.scm 279 */
							return
								BGl_listzd2ze3stringz31zz__r4_strings_6_7z00(BgL_rz00_1381);
						}
					else
						{	/* Unsafe/pcre.scm 281 */
							long BgL_arg1341z00_1384;
							obj_t BgL_arg1342z00_1385;

							BgL_arg1341z00_1384 = (BgL_iz00_1380 - 1L);
							{	/* Unsafe/pcre.scm 282 */
								unsigned char BgL_cz00_1386;

								BgL_cz00_1386 = STRING_REF(BgL_sz00_54, BgL_iz00_1380);
								if (CBOOL(BGl_memvz00zz__r4_pairs_and_lists_6_3z00(BCHAR
											(BgL_cz00_1386), BGl_list1842z00zz__regexpz00)))
									{	/* Unsafe/pcre.scm 285 */
										obj_t BgL_arg1344z00_1388;

										BgL_arg1344z00_1388 =
											MAKE_YOUNG_PAIR(BCHAR(BgL_cz00_1386), BgL_rz00_1381);
										BgL_arg1342z00_1385 =
											MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '\\')),
											BgL_arg1344z00_1388);
									}
								else
									{	/* Unsafe/pcre.scm 283 */
										BgL_arg1342z00_1385 =
											MAKE_YOUNG_PAIR(BCHAR(BgL_cz00_1386), BgL_rz00_1381);
									}
							}
							{
								obj_t BgL_rz00_3410;
								long BgL_iz00_3409;

								BgL_iz00_3409 = BgL_arg1341z00_1384;
								BgL_rz00_3410 = BgL_arg1342z00_1385;
								BgL_rz00_1381 = BgL_rz00_3410;
								BgL_iz00_1380 = BgL_iz00_3409;
								goto BgL_zc3z04anonymousza31338ze3z87_1382;
							}
						}
				}
			}
		}

	}



/* &pregexp-quote */
	obj_t BGl_z62pregexpzd2quotezb0zz__regexpz00(obj_t BgL_envz00_2262,
		obj_t BgL_sz00_2263)
	{
		{	/* Unsafe/pcre.scm 277 */
			{	/* Unsafe/pcre.scm 278 */
				obj_t BgL_auxz00_3411;

				if (STRINGP(BgL_sz00_2263))
					{	/* Unsafe/pcre.scm 278 */
						BgL_auxz00_3411 = BgL_sz00_2263;
					}
				else
					{
						obj_t BgL_auxz00_3414;

						BgL_auxz00_3414 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1827z00zz__regexpz00,
							BINT(11558L), BGl_string1843z00zz__regexpz00,
							BGl_string1832z00zz__regexpz00, BgL_sz00_2263);
						FAILURE(BgL_auxz00_3414, BFALSE, BFALSE);
					}
				return BGl_pregexpzd2quotezd2zz__regexpz00(BgL_auxz00_3411);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__regexpz00(void)
	{
		{	/* Unsafe/pcre.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__regexpz00(void)
	{
		{	/* Unsafe/pcre.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__regexpz00(void)
	{
		{	/* Unsafe/pcre.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__regexpz00(void)
	{
		{	/* Unsafe/pcre.scm 15 */
			return
				BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1844z00zz__regexpz00));
		}

	}

#ifdef __cplusplus
}
#endif
