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

	static obj_t BGl_z62crczd2nameszb0zz__crcz00(obj_t);
	static obj_t BGl_symbol2481z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_list2454z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_crczd2fastzd2mmapz00zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62crczd2longzd2lez62zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t bstring_to_keyword(obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__crcz00 = BUNSPEC;
	extern obj_t BGl_openzd2inputzd2stringz00zz__r4_ports_6_10_1z00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_getzd2crczd2zz__crcz00(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__crcz00(long,
		char *);
	static obj_t BGl_z62crczd2longzb0zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t BGl_openzd2inputzd2filez00zz__r4_ports_6_10_1z00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_za2crcsza2z00zz__crcz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_crczd2polynomialzd2lez00zz__crcz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_crczd2lengthzd2zz__crcz00(obj_t);
	extern obj_t BGl_assocz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_crczd2nameszd2zz__crcz00(void);
	static obj_t BGl_toplevelzd2initzd2zz__crcz00(void);
	static obj_t BGl_z62crczd2lengthzb0zz__crcz00(obj_t, obj_t);
	static obj_t BGl_z62crczd2polynomialzb0zz__crcz00(obj_t, obj_t);
	extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__crcz00(void);
	static obj_t BGl_genericzd2initzd2zz__crcz00(void);
	static obj_t BGl_z62crczd2llongzb0zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_registerzd2crcz12zc0zz__crcz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_gczd2rootszd2initz00zz__crcz00(void);
	static obj_t BGl_objectzd2initzd2zz__crcz00(void);
	static obj_t BGl_z62crczd2elongzd2lez62zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_symbol2401z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2403z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2405z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2407z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2409z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_z62crczd2llongzd2lez62zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL long BGl_crczd2longzd2lez00zz__crcz00(unsigned char, long,
		long, long);
	static obj_t BGl_keyword2455z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_keyword2457z00zz__crcz00 = BUNSPEC;
	BGL_EXPORTED_DECL long BGl_crczd2elongzd2lez00zz__crcz00(unsigned char, long,
		long, long);
	BGL_EXPORTED_DECL obj_t BGl_crcz00zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_keyword2459z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2411z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2413z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2415z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2419z00zz__crcz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_crczd2polynomialzd2bezd2ze3lez31zz__crcz00(obj_t,
		obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	BGL_EXPORTED_DECL BGL_LONGLONG_T BGl_crczd2llongzd2lez00zz__crcz00(unsigned
		char, BGL_LONGLONG_T, BGL_LONGLONG_T, long);
	static obj_t BGl_symbol2422z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_z62crczd2elongzb0zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL BGL_LONGLONG_T BGl_crczd2llongzd2zz__crcz00(unsigned char,
		BGL_LONGLONG_T, BGL_LONGLONG_T, long);
	static obj_t BGl_symbol2426z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_z62registerzd2crcz12za2zz__crcz00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31654ze3ze5zz__crcz00(obj_t);
	static obj_t BGl__crczd2stringzd2zz__crcz00(obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zz__crcz00(void);
	extern obj_t BGl_readzd2charzd2zz__r4_input_6_10_2z00(obj_t);
	static obj_t BGl_symbol2439z00zz__crcz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_crczd2polynomialzd2zz__crcz00(obj_t);
	static obj_t BGl_z62zc3z04anonymousza31654ze32211ze5zz__crcz00(obj_t);
	static obj_t BGl_symbol2441z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2443z00zz__crcz00 = BUNSPEC;
	static obj_t BGl__crczd2filezd2zz__crcz00(obj_t, obj_t);
	static obj_t BGl_symbol2445z00zz__crcz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_crczd2filezd2zz__crcz00(obj_t, obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL long BGl_crczd2longzd2zz__crcz00(unsigned char, long, long,
		long);
	BGL_EXPORTED_DECL obj_t BGl_crczd2stringzd2zz__crcz00(obj_t, obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_symbol2377z00zz__crcz00 = BUNSPEC;
	static obj_t BGl__crczd2portzd2zz__crcz00(obj_t, obj_t);
	extern obj_t bgl_close_input_port(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_crczd2portzd2zz__crcz00(obj_t, obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_symbol2379z00zz__crcz00 = BUNSPEC;
	static obj_t BGl__crcz00zz__crcz00(obj_t, obj_t);
	BGL_EXPORTED_DECL long BGl_crczd2elongzd2zz__crcz00(unsigned char, long, long,
		long);
	static obj_t BGl_z62crczd2polynomialzd2bezd2ze3lez53zz__crcz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_symbol2461z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2381z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2383z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2385z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2468z00zz__crcz00 = BUNSPEC;
	static obj_t BGl__crczd2mmapzd2zz__crcz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_crczd2mmapzd2zz__crcz00(obj_t, obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_symbol2390z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_crczd2fastzd2portz00zz__crcz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_symbol2393z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2475z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2395z00zz__crcz00 = BUNSPEC;
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_symbol2478z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2397z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_symbol2399z00zz__crcz00 = BUNSPEC;
	static obj_t BGl_z62crczd2polynomialzd2lez62zz__crcz00(obj_t, obj_t);
	static obj_t *__cnst;


	extern obj_t BGl_bitzd2orelongzd2envz00zz__bitz00;
	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_registerzd2crcz12zd2envz12zz__crcz00,
		BgL_bgl_za762registerza7d2cr2485z00, BGl_z62registerzd2crcz12za2zz__crcz00,
		0L, BUNSPEC, 3);
	extern obj_t BGl_bitzd2rshllongzd2envz00zz__bitz00;
	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2longzd2lezd2envzd2zz__crcz00,
		BgL_bgl_za762crcza7d2longza7d22486za7, BGl_z62crczd2longzd2lez62zz__crcz00,
		0L, BUNSPEC, 4);
	      BGL_DEFINE_STRING(BGl_string2400z00zz__crcz00,
		BgL_bgl_string2400za700za7za7_2487za7, "epc-5", 5);
	      BGL_DEFINE_STRING(BGl_string2402z00zz__crcz00,
		BgL_bgl_string2402za700za7za7_2488za7, "itu-5", 5);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2portzd2envz00zz__crcz00,
		BgL_bgl__crcza7d2portza7d2za7za72489z00, opt_generic_entry,
		BGl__crczd2portzd2zz__crcz00, BFALSE, -1);
	      BGL_DEFINE_STRING(BGl_string2404z00zz__crcz00,
		BgL_bgl_string2404za700za7za7_2490za7, "usb-5", 5);
	      BGL_DEFINE_STRING(BGl_string2406z00zz__crcz00,
		BgL_bgl_string2406za700za7za7_2491za7, "itu-6", 5);
	      BGL_DEFINE_STRING(BGl_string2408z00zz__crcz00,
		BgL_bgl_string2408za700za7za7_2492za7, "atm-8", 5);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2elongzd2envz00zz__crcz00,
		BgL_bgl_za762crcza7d2elongza7b2493za7, BGl_z62crczd2elongzb0zz__crcz00, 0L,
		BUNSPEC, 4);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2llongzd2lezd2envzd2zz__crcz00,
		BgL_bgl_za762crcza7d2llongza7d2494za7, BGl_z62crczd2llongzd2lez62zz__crcz00,
		0L, BUNSPEC, 4);
	      BGL_DEFINE_STRING(BGl_string2410z00zz__crcz00,
		BgL_bgl_string2410za700za7za7_2495za7, "ccitt-8", 7);
	      BGL_DEFINE_STRING(BGl_string2412z00zz__crcz00,
		BgL_bgl_string2412za700za7za7_2496za7, "dallas/maxim-8", 14);
	      BGL_DEFINE_STRING(BGl_string2414z00zz__crcz00,
		BgL_bgl_string2414za700za7za7_2497za7, "sae-j1850-8", 11);
	      BGL_DEFINE_STRING(BGl_string2416z00zz__crcz00,
		BgL_bgl_string2416za700za7za7_2498za7, "can-15", 6);
	      BGL_DEFINE_STRING(BGl_string2420z00zz__crcz00,
		BgL_bgl_string2420za700za7za7_2499za7, "bit-andellong", 13);
	      BGL_DEFINE_STRING(BGl_string2423z00zz__crcz00,
		BgL_bgl_string2423za700za7za7_2500za7, "iso-64", 6);
	      BGL_DEFINE_STRING(BGl_string2427z00zz__crcz00,
		BgL_bgl_string2427za700za7za7_2501za7, "ecma-182-64", 11);
	      BGL_DEFINE_ELONG(BGl_elong2448z00zz__crcz00,
		BgL_bgl_elong2448za700za7za7__2502za7, 1);
	      BGL_DEFINE_STRING(BGl_string2428z00zz__crcz00,
		BgL_bgl_string2428za700za7za7_2503za7, "/tmp/bigloo/runtime/Unsafe/crc.scm",
		34);
	      BGL_DEFINE_STRING(BGl_string2429z00zz__crcz00,
		BgL_bgl_string2429za700za7za7_2504za7, "&crc-long", 9);
	extern obj_t BGl_bitzd2lshzd2envz00zz__bitz00;
	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2nameszd2envz00zz__crcz00,
		BgL_bgl_za762crcza7d2namesza7b2505za7, BGl_z62crczd2nameszb0zz__crcz00, 0L,
		BUNSPEC, 0);
	extern obj_t BGl_bitzd2lshelongzd2envz00zz__bitz00;
	   
		 
		BGL_DEFINE_ELONG(BGl_elong2450z00zz__crcz00,
		BgL_bgl_elong2450za700za7za7__2506za7, 0);
	      BGL_DEFINE_STRING(BGl_string2430z00zz__crcz00,
		BgL_bgl_string2430za700za7za7_2507za7, "bchar", 5);
	      BGL_DEFINE_STRING(BGl_string2431z00zz__crcz00,
		BgL_bgl_string2431za700za7za7_2508za7, "bint", 4);
	      BGL_DEFINE_STRING(BGl_string2432z00zz__crcz00,
		BgL_bgl_string2432za700za7za7_2509za7, "&crc-elong", 10);
	      BGL_DEFINE_STRING(BGl_string2433z00zz__crcz00,
		BgL_bgl_string2433za700za7za7_2510za7, "belong", 6);
	      BGL_DEFINE_STRING(BGl_string2434z00zz__crcz00,
		BgL_bgl_string2434za700za7za7_2511za7, "&crc-llong", 10);
	      BGL_DEFINE_STRING(BGl_string2435z00zz__crcz00,
		BgL_bgl_string2435za700za7za7_2512za7, "bllong", 6);
	      BGL_DEFINE_STRING(BGl_string2436z00zz__crcz00,
		BgL_bgl_string2436za700za7za7_2513za7, "&crc-long-le", 12);
	      BGL_DEFINE_STRING(BGl_string2437z00zz__crcz00,
		BgL_bgl_string2437za700za7za7_2514za7, "&crc-elong-le", 13);
	      BGL_DEFINE_ELONG(BGl_elong2376z00zz__crcz00,
		BgL_bgl_elong2376za700za7za7__2515za7, 79764919);
	      BGL_DEFINE_STRING(BGl_string2438z00zz__crcz00,
		BgL_bgl_string2438za700za7za7_2516za7, "&crc-llong-le", 13);
	extern obj_t BGl_bitzd2andelongzd2envz00zz__bitz00;
	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2envzd2zz__crcz00,
		BgL_bgl__crcza700za7za7__crcza702517z00, opt_generic_entry,
		BGl__crcz00zz__crcz00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2elongzd2lezd2envzd2zz__crcz00,
		BgL_bgl_za762crcza7d2elongza7d2518za7, BGl_z62crczd2elongzd2lez62zz__crcz00,
		0L, BUNSPEC, 4);
	      BGL_DEFINE_STRING(BGl_string2440z00zz__crcz00,
		BgL_bgl_string2440za700za7za7_2519za7, "long", 4);
	      BGL_DEFINE_STRING(BGl_string2442z00zz__crcz00,
		BgL_bgl_string2442za700za7za7_2520za7, "elong", 5);
	      BGL_DEFINE_STRING(BGl_string2444z00zz__crcz00,
		BgL_bgl_string2444za700za7za7_2521za7, "llong", 5);
	      BGL_DEFINE_STRING(BGl_string2446z00zz__crcz00,
		BgL_bgl_string2446za700za7za7_2522za7, "crc-gen", 7);
	      BGL_DEFINE_STRING(BGl_string2447z00zz__crcz00,
		BgL_bgl_string2447za700za7za7_2523za7, "could not determine type", 24);
	      BGL_DEFINE_ELONG(BGl_elong2387z00zz__crcz00,
		BgL_bgl_elong2387za700za7za7__2524za7, 1021788929);
	      BGL_DEFINE_ELONG(BGl_elong2388z00zz__crcz00,
		BgL_bgl_elong2388za700za7za7__2525za7, 540064207);
	      BGL_DEFINE_ELONG(BGl_elong2389z00zz__crcz00,
		BgL_bgl_elong2389za700za7za7__2526za7, 517762881);
	extern obj_t BGl_bitzd2orllongzd2envz00zz__bitz00;
	   
		 
		BGL_DEFINE_STRING(BGl_string2452z00zz__crcz00,
		BgL_bgl_string2452za700za7za7_2527za7, "_crc", 4);
	extern obj_t BGl_bitzd2rshelongzd2envz00zz__bitz00;
	   
		 
		BGL_DEFINE_STRING(BGl_string2453z00zz__crcz00,
		BgL_bgl_string2453za700za7za7_2528za7, "vector", 6);
	      BGL_DEFINE_ELONG(BGl_elong2392z00zz__crcz00,
		BgL_bgl_elong2392za700za7za7__2529za7, 1947962583);
	      BGL_DEFINE_STRING(BGl_string2456z00zz__crcz00,
		BgL_bgl_string2456za700za7za7_2530za7, "big-endian?", 11);
	      BGL_DEFINE_STRING(BGl_string2458z00zz__crcz00,
		BgL_bgl_string2458za700za7za7_2531za7, "final-xor", 9);
	      BGL_DEFINE_STRING(BGl_string2378z00zz__crcz00,
		BgL_bgl_string2378za700za7za7_2532za7, "ieee-32", 7);
	      BGL_DEFINE_STRING(BGl_string2460z00zz__crcz00,
		BgL_bgl_string2460za700za7za7_2533za7, "init", 4);
	      BGL_DEFINE_STRING(BGl_string2380z00zz__crcz00,
		BgL_bgl_string2380za700za7za7_2534za7, "radix-64-24", 11);
	      BGL_DEFINE_STRING(BGl_string2462z00zz__crcz00,
		BgL_bgl_string2462za700za7za7_2535za7, "crc", 3);
	      BGL_DEFINE_STRING(BGl_string2463z00zz__crcz00,
		BgL_bgl_string2463za700za7za7_2536za7, "Illegal keyword argument", 24);
	      BGL_DEFINE_STRING(BGl_string2382z00zz__crcz00,
		BgL_bgl_string2382za700za7za7_2537za7, "ccitt-16", 8);
	      BGL_DEFINE_STRING(BGl_string2464z00zz__crcz00,
		BgL_bgl_string2464za700za7za7_2538za7,
		"wrong number of arguments: [2..5] expected, provided", 52);
	      BGL_DEFINE_STRING(BGl_string2465z00zz__crcz00,
		BgL_bgl_string2465za700za7za7_2539za7, "mmap", 4);
	      BGL_DEFINE_STRING(BGl_string2384z00zz__crcz00,
		BgL_bgl_string2384za700za7za7_2540za7, "dnp-16", 6);
	      BGL_DEFINE_STRING(BGl_string2466z00zz__crcz00,
		BgL_bgl_string2466za700za7za7_2541za7, "Illegal argument", 16);
	      BGL_DEFINE_STRING(BGl_string2467z00zz__crcz00,
		BgL_bgl_string2467za700za7za7_2542za7, "_crc-file", 9);
	      BGL_DEFINE_STRING(BGl_string2386z00zz__crcz00,
		BgL_bgl_string2386za700za7za7_2543za7, "ibm-16", 6);
	      BGL_DEFINE_STRING(BGl_string2469z00zz__crcz00,
		BgL_bgl_string2469za700za7za7_2544za7, "crc-file", 8);
	extern obj_t BGl_bitzd2rshzd2envz00zz__bitz00;
	extern obj_t BGl_bitzd2andzd2envz00zz__bitz00;
	   
		 
		BGL_DEFINE_STRING(BGl_string2470z00zz__crcz00,
		BgL_bgl_string2470za700za7za7_2545za7, "bstring", 7);
	      BGL_DEFINE_STRING(BGl_string2471z00zz__crcz00,
		BgL_bgl_string2471za700za7za7_2546za7, "Could not open file", 19);
	      BGL_DEFINE_STRING(BGl_string2472z00zz__crcz00,
		BgL_bgl_string2472za700za7za7_2547za7, "input-port", 10);
	      BGL_DEFINE_STRING(BGl_string2391z00zz__crcz00,
		BgL_bgl_string2391za700za7za7_2548za7, "c-32", 4);
	      BGL_DEFINE_STRING(BGl_string2473z00zz__crcz00,
		BgL_bgl_string2473za700za7za7_2549za7, "pair", 4);
	      BGL_DEFINE_STRING(BGl_string2474z00zz__crcz00,
		BgL_bgl_string2474za700za7za7_2550za7, "_crc-string", 11);
	      BGL_DEFINE_STRING(BGl_string2394z00zz__crcz00,
		BgL_bgl_string2394za700za7za7_2551za7, "k-32", 4);
	      BGL_DEFINE_STRING(BGl_string2476z00zz__crcz00,
		BgL_bgl_string2476za700za7za7_2552za7, "crc-string", 10);
	      BGL_DEFINE_LLONG(BGl_llong2417z00zz__crcz00,
		BgL_bgl_llong2417za700za7za7__2553za7,
		(-(0 + ((BGL_LONGLONG_T) 65536 * ((0 + ((BGL_LONGLONG_T) 65536 * ((0 +
										((BGL_LONGLONG_T) 65536 *
											(((BGL_LONGLONG_T) 10240))))))))))));
	      BGL_DEFINE_STRING(BGl_string2477z00zz__crcz00,
		BgL_bgl_string2477za700za7za7_2554za7, "_crc-port", 9);
	      BGL_DEFINE_LLONG(BGl_llong2418z00zz__crcz00,
		BgL_bgl_llong2418za700za7za7__2555za7, (-((BGL_LONGLONG_T) 1)));
	      BGL_DEFINE_STRING(BGl_string2396z00zz__crcz00,
		BgL_bgl_string2396za700za7za7_2556za7, "q-32", 4);
	      BGL_DEFINE_STRING(BGl_string2479z00zz__crcz00,
		BgL_bgl_string2479za700za7za7_2557za7, "crc-port", 8);
	      BGL_DEFINE_STRING(BGl_string2398z00zz__crcz00,
		BgL_bgl_string2398za700za7za7_2558za7, "itu-4", 5);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2stringzd2envz00zz__crcz00,
		BgL_bgl__crcza7d2stringza7d22559z00, opt_generic_entry,
		BGl__crczd2stringzd2zz__crcz00, BFALSE, -1);
	      BGL_DEFINE_STRING(BGl_string2480z00zz__crcz00,
		BgL_bgl_string2480za700za7za7_2560za7, "_crc-mmap", 9);
	      BGL_DEFINE_LLONG(BGl_llong2421z00zz__crcz00,
		BgL_bgl_llong2421za700za7za7__2561za7, ((BGL_LONGLONG_T) 27));
	      BGL_DEFINE_STRING(BGl_string2482z00zz__crcz00,
		BgL_bgl_string2482za700za7za7_2562za7, "crc-mmap", 8);
	      BGL_DEFINE_STRING(BGl_string2483z00zz__crcz00,
		BgL_bgl_string2483za700za7za7_2563za7, "Could not find crc", 18);
	      BGL_DEFINE_LLONG(BGl_llong2424z00zz__crcz00,
		BgL_bgl_llong2424za700za7za7__2564za7,
		(-(61630 + ((BGL_LONGLONG_T) 65536 * ((10360 +
							((BGL_LONGLONG_T) 65536 * ((43114 +
										((BGL_LONGLONG_T) 65536 *
											(((BGL_LONGLONG_T) 13971))))))))))));
	      BGL_DEFINE_STRING(BGl_string2484z00zz__crcz00,
		BgL_bgl_string2484za700za7za7_2565za7, "bad polynomial", 14);
	      BGL_DEFINE_LLONG(BGl_llong2425z00zz__crcz00,
		BgL_bgl_llong2425za700za7za7__2566za7,
		(13971 + ((BGL_LONGLONG_T) 65536 * ((43498 +
						((BGL_LONGLONG_T) 65536 * ((57835 +
									((BGL_LONGLONG_T) 65536 * (((BGL_LONGLONG_T) 17136)))))))))));
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_crczd2polynomialzd2bezd2ze3lezd2envze3zz__crcz00,
		BgL_bgl_za762crcza7d2polynom2567z00,
		BGl_z62crczd2polynomialzd2bezd2ze3lez53zz__crcz00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2llongzd2envz00zz__crcz00,
		BgL_bgl_za762crcza7d2llongza7b2568za7, BGl_z62crczd2llongzb0zz__crcz00, 0L,
		BUNSPEC, 4);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2mmapzd2envz00zz__crcz00,
		BgL_bgl__crcza7d2mmapza7d2za7za72569z00, opt_generic_entry,
		BGl__crczd2mmapzd2zz__crcz00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2lengthzd2envz00zz__crcz00,
		BgL_bgl_za762crcza7d2lengthza72570za7, BGl_z62crczd2lengthzb0zz__crcz00, 0L,
		BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2polynomialzd2lezd2envzd2zz__crcz00,
		BgL_bgl_za762crcza7d2polynom2571z00,
		BGl_z62crczd2polynomialzd2lez62zz__crcz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2polynomialzd2envz00zz__crcz00,
		BgL_bgl_za762crcza7d2polynom2572z00, BGl_z62crczd2polynomialzb0zz__crcz00,
		0L, BUNSPEC, 1);
	extern obj_t BGl_bitzd2orzd2envz00zz__bitz00;
	   
		 
		BGL_DEFINE_LLONG(BGl_llong2449z00zz__crcz00,
		BgL_bgl_llong2449za700za7za7__2573za7, ((BGL_LONGLONG_T) 1));
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2filezd2envz00zz__crcz00,
		BgL_bgl__crcza7d2fileza7d2za7za72574z00, opt_generic_entry,
		BGl__crczd2filezd2zz__crcz00, BFALSE, -1);
	extern obj_t BGl_bitzd2lshllongzd2envz00zz__bitz00;
	   
		 
		BGL_DEFINE_LLONG(BGl_llong2451z00zz__crcz00,
		BgL_bgl_llong2451za700za7za7__2575za7, ((BGL_LONGLONG_T) 0));
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crczd2longzd2envz00zz__crcz00,
		BgL_bgl_za762crcza7d2longza7b02576za7, BGl_z62crczd2longzb0zz__crcz00, 0L,
		BUNSPEC, 4);
	extern obj_t BGl_bitzd2andllongzd2envz00zz__bitz00;

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_crczd2longzd2envz00zz__crcz00,
			BgL_bgl_za762crcza7d2longza7b02576za7);
		BGL_BIND_LLONG(BGl_llong2451z00zz__crcz00,
			BgL_bgl_llong2451za700za7za7__2575za7);
		BGL_BIND_PROCEDURE(BGl_crczd2filezd2envz00zz__crcz00,
			BgL_bgl__crcza7d2fileza7d2za7za72574z00);
		BGL_BIND_LLONG(BGl_llong2449z00zz__crcz00,
			BgL_bgl_llong2449za700za7za7__2573za7);
		BGL_BIND_PROCEDURE(BGl_crczd2polynomialzd2envz00zz__crcz00,
			BgL_bgl_za762crcza7d2polynom2572z00);
		BGL_BIND_PROCEDURE(BGl_crczd2polynomialzd2lezd2envzd2zz__crcz00,
			BgL_bgl_za762crcza7d2polynom2571z00);
		BGL_BIND_PROCEDURE(BGl_crczd2lengthzd2envz00zz__crcz00,
			BgL_bgl_za762crcza7d2lengthza72570za7);
		BGL_BIND_PROCEDURE(BGl_crczd2mmapzd2envz00zz__crcz00,
			BgL_bgl__crcza7d2mmapza7d2za7za72569z00);
		BGL_BIND_PROCEDURE(BGl_crczd2llongzd2envz00zz__crcz00,
			BgL_bgl_za762crcza7d2llongza7b2568za7);
		BGL_BIND_PROCEDURE(BGl_crczd2polynomialzd2bezd2ze3lezd2envze3zz__crcz00,
			BgL_bgl_za762crcza7d2polynom2567z00);
		BGL_BIND_LLONG(BGl_llong2425z00zz__crcz00,
			BgL_bgl_llong2425za700za7za7__2566za7);
		BGL_BIND_STRING(BGl_string2484z00zz__crcz00,
			BgL_bgl_string2484za700za7za7_2565za7);
		BGL_BIND_LLONG(BGl_llong2424z00zz__crcz00,
			BgL_bgl_llong2424za700za7za7__2564za7);
		BGL_BIND_STRING(BGl_string2483z00zz__crcz00,
			BgL_bgl_string2483za700za7za7_2563za7);
		BGL_BIND_STRING(BGl_string2482z00zz__crcz00,
			BgL_bgl_string2482za700za7za7_2562za7);
		BGL_BIND_LLONG(BGl_llong2421z00zz__crcz00,
			BgL_bgl_llong2421za700za7za7__2561za7);
		BGL_BIND_STRING(BGl_string2480z00zz__crcz00,
			BgL_bgl_string2480za700za7za7_2560za7);
		BGL_BIND_PROCEDURE(BGl_crczd2stringzd2envz00zz__crcz00,
			BgL_bgl__crcza7d2stringza7d22559z00);
		BGL_BIND_STRING(BGl_string2398z00zz__crcz00,
			BgL_bgl_string2398za700za7za7_2558za7);
		BGL_BIND_STRING(BGl_string2479z00zz__crcz00,
			BgL_bgl_string2479za700za7za7_2557za7);
		BGL_BIND_STRING(BGl_string2396z00zz__crcz00,
			BgL_bgl_string2396za700za7za7_2556za7);
		BGL_BIND_LLONG(BGl_llong2418z00zz__crcz00,
			BgL_bgl_llong2418za700za7za7__2555za7);
		BGL_BIND_STRING(BGl_string2477z00zz__crcz00,
			BgL_bgl_string2477za700za7za7_2554za7);
		BGL_BIND_LLONG(BGl_llong2417z00zz__crcz00,
			BgL_bgl_llong2417za700za7za7__2553za7);
		BGL_BIND_STRING(BGl_string2476z00zz__crcz00,
			BgL_bgl_string2476za700za7za7_2552za7);
		BGL_BIND_STRING(BGl_string2394z00zz__crcz00,
			BgL_bgl_string2394za700za7za7_2551za7);
		BGL_BIND_STRING(BGl_string2474z00zz__crcz00,
			BgL_bgl_string2474za700za7za7_2550za7);
		BGL_BIND_STRING(BGl_string2473z00zz__crcz00,
			BgL_bgl_string2473za700za7za7_2549za7);
		BGL_BIND_STRING(BGl_string2391z00zz__crcz00,
			BgL_bgl_string2391za700za7za7_2548za7);
		BGL_BIND_STRING(BGl_string2472z00zz__crcz00,
			BgL_bgl_string2472za700za7za7_2547za7);
		BGL_BIND_STRING(BGl_string2471z00zz__crcz00,
			BgL_bgl_string2471za700za7za7_2546za7);
		BGL_BIND_STRING(BGl_string2470z00zz__crcz00,
			BgL_bgl_string2470za700za7za7_2545za7);
		BGL_BIND_STRING(BGl_string2469z00zz__crcz00,
			BgL_bgl_string2469za700za7za7_2544za7);
		BGL_BIND_STRING(BGl_string2386z00zz__crcz00,
			BgL_bgl_string2386za700za7za7_2543za7);
		BGL_BIND_STRING(BGl_string2467z00zz__crcz00,
			BgL_bgl_string2467za700za7za7_2542za7);
		BGL_BIND_STRING(BGl_string2466z00zz__crcz00,
			BgL_bgl_string2466za700za7za7_2541za7);
		BGL_BIND_STRING(BGl_string2384z00zz__crcz00,
			BgL_bgl_string2384za700za7za7_2540za7);
		BGL_BIND_STRING(BGl_string2465z00zz__crcz00,
			BgL_bgl_string2465za700za7za7_2539za7);
		BGL_BIND_STRING(BGl_string2464z00zz__crcz00,
			BgL_bgl_string2464za700za7za7_2538za7);
		BGL_BIND_STRING(BGl_string2382z00zz__crcz00,
			BgL_bgl_string2382za700za7za7_2537za7);
		BGL_BIND_STRING(BGl_string2463z00zz__crcz00,
			BgL_bgl_string2463za700za7za7_2536za7);
		BGL_BIND_STRING(BGl_string2462z00zz__crcz00,
			BgL_bgl_string2462za700za7za7_2535za7);
		BGL_BIND_STRING(BGl_string2380z00zz__crcz00,
			BgL_bgl_string2380za700za7za7_2534za7);
		BGL_BIND_STRING(BGl_string2460z00zz__crcz00,
			BgL_bgl_string2460za700za7za7_2533za7);
		BGL_BIND_STRING(BGl_string2378z00zz__crcz00,
			BgL_bgl_string2378za700za7za7_2532za7);
		BGL_BIND_STRING(BGl_string2458z00zz__crcz00,
			BgL_bgl_string2458za700za7za7_2531za7);
		BGL_BIND_STRING(BGl_string2456z00zz__crcz00,
			BgL_bgl_string2456za700za7za7_2530za7);
		BGL_BIND_ELONG(BGl_elong2392z00zz__crcz00,
			BgL_bgl_elong2392za700za7za7__2529za7);
		BGL_BIND_STRING(BGl_string2453z00zz__crcz00,
			BgL_bgl_string2453za700za7za7_2528za7);
		BGL_BIND_STRING(BGl_string2452z00zz__crcz00,
			BgL_bgl_string2452za700za7za7_2527za7);
		BGL_BIND_ELONG(BGl_elong2389z00zz__crcz00,
			BgL_bgl_elong2389za700za7za7__2526za7);
		BGL_BIND_ELONG(BGl_elong2388z00zz__crcz00,
			BgL_bgl_elong2388za700za7za7__2525za7);
		BGL_BIND_ELONG(BGl_elong2387z00zz__crcz00,
			BgL_bgl_elong2387za700za7za7__2524za7);
		BGL_BIND_STRING(BGl_string2447z00zz__crcz00,
			BgL_bgl_string2447za700za7za7_2523za7);
		BGL_BIND_STRING(BGl_string2446z00zz__crcz00,
			BgL_bgl_string2446za700za7za7_2522za7);
		BGL_BIND_STRING(BGl_string2444z00zz__crcz00,
			BgL_bgl_string2444za700za7za7_2521za7);
		BGL_BIND_STRING(BGl_string2442z00zz__crcz00,
			BgL_bgl_string2442za700za7za7_2520za7);
		BGL_BIND_STRING(BGl_string2440z00zz__crcz00,
			BgL_bgl_string2440za700za7za7_2519za7);
		BGL_BIND_PROCEDURE(BGl_crczd2elongzd2lezd2envzd2zz__crcz00,
			BgL_bgl_za762crcza7d2elongza7d2518za7);
		BGL_BIND_PROCEDURE(BGl_crczd2envzd2zz__crcz00,
			BgL_bgl__crcza700za7za7__crcza702517z00);
		BGL_BIND_STRING(BGl_string2438z00zz__crcz00,
			BgL_bgl_string2438za700za7za7_2516za7);
		BGL_BIND_ELONG(BGl_elong2376z00zz__crcz00,
			BgL_bgl_elong2376za700za7za7__2515za7);
		BGL_BIND_STRING(BGl_string2437z00zz__crcz00,
			BgL_bgl_string2437za700za7za7_2514za7);
		BGL_BIND_STRING(BGl_string2436z00zz__crcz00,
			BgL_bgl_string2436za700za7za7_2513za7);
		BGL_BIND_STRING(BGl_string2435z00zz__crcz00,
			BgL_bgl_string2435za700za7za7_2512za7);
		BGL_BIND_STRING(BGl_string2434z00zz__crcz00,
			BgL_bgl_string2434za700za7za7_2511za7);
		BGL_BIND_STRING(BGl_string2433z00zz__crcz00,
			BgL_bgl_string2433za700za7za7_2510za7);
		BGL_BIND_STRING(BGl_string2432z00zz__crcz00,
			BgL_bgl_string2432za700za7za7_2509za7);
		BGL_BIND_STRING(BGl_string2431z00zz__crcz00,
			BgL_bgl_string2431za700za7za7_2508za7);
		BGL_BIND_STRING(BGl_string2430z00zz__crcz00,
			BgL_bgl_string2430za700za7za7_2507za7);
		BGL_BIND_ELONG(BGl_elong2450z00zz__crcz00,
			BgL_bgl_elong2450za700za7za7__2506za7);
		BGL_BIND_PROCEDURE(BGl_crczd2nameszd2envz00zz__crcz00,
			BgL_bgl_za762crcza7d2namesza7b2505za7);
		BGL_BIND_STRING(BGl_string2429z00zz__crcz00,
			BgL_bgl_string2429za700za7za7_2504za7);
		BGL_BIND_STRING(BGl_string2428z00zz__crcz00,
			BgL_bgl_string2428za700za7za7_2503za7);
		BGL_BIND_ELONG(BGl_elong2448z00zz__crcz00,
			BgL_bgl_elong2448za700za7za7__2502za7);
		BGL_BIND_STRING(BGl_string2427z00zz__crcz00,
			BgL_bgl_string2427za700za7za7_2501za7);
		BGL_BIND_STRING(BGl_string2423z00zz__crcz00,
			BgL_bgl_string2423za700za7za7_2500za7);
		BGL_BIND_STRING(BGl_string2420z00zz__crcz00,
			BgL_bgl_string2420za700za7za7_2499za7);
		BGL_BIND_STRING(BGl_string2416z00zz__crcz00,
			BgL_bgl_string2416za700za7za7_2498za7);
		BGL_BIND_STRING(BGl_string2414z00zz__crcz00,
			BgL_bgl_string2414za700za7za7_2497za7);
		BGL_BIND_STRING(BGl_string2412z00zz__crcz00,
			BgL_bgl_string2412za700za7za7_2496za7);
		BGL_BIND_STRING(BGl_string2410z00zz__crcz00,
			BgL_bgl_string2410za700za7za7_2495za7);
		BGL_BIND_PROCEDURE(BGl_crczd2llongzd2lezd2envzd2zz__crcz00,
			BgL_bgl_za762crcza7d2llongza7d2494za7);
		BGL_BIND_PROCEDURE(BGl_crczd2elongzd2envz00zz__crcz00,
			BgL_bgl_za762crcza7d2elongza7b2493za7);
		BGL_BIND_STRING(BGl_string2408z00zz__crcz00,
			BgL_bgl_string2408za700za7za7_2492za7);
		BGL_BIND_STRING(BGl_string2406z00zz__crcz00,
			BgL_bgl_string2406za700za7za7_2491za7);
		BGL_BIND_STRING(BGl_string2404z00zz__crcz00,
			BgL_bgl_string2404za700za7za7_2490za7);
		BGL_BIND_PROCEDURE(BGl_crczd2portzd2envz00zz__crcz00,
			BgL_bgl__crcza7d2portza7d2za7za72489z00);
		BGL_BIND_STRING(BGl_string2402z00zz__crcz00,
			BgL_bgl_string2402za700za7za7_2488za7);
		BGL_BIND_STRING(BGl_string2400z00zz__crcz00,
			BgL_bgl_string2400za700za7za7_2487za7);
		BGL_BIND_PROCEDURE(BGl_crczd2longzd2lezd2envzd2zz__crcz00,
			BgL_bgl_za762crcza7d2longza7d22486za7);
		BGL_BIND_PROCEDURE(BGl_registerzd2crcz12zd2envz12zz__crcz00,
			BgL_bgl_za762registerza7d2cr2485z00);
	}

/* 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_symbol2481z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_list2454z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__crcz00));
		ADD_ROOT((void *) (&BGl_za2crcsza2z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2401z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2403z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2405z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2407z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2409z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_keyword2455z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_keyword2457z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_keyword2459z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2411z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2413z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2415z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2419z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2422z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2426z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2439z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2441z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2443z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2445z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2377z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2379z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2461z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2381z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2383z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2385z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2468z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2390z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2393z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2475z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2395z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2478z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2397z00zz__crcz00));
		ADD_ROOT((void *) (&BGl_symbol2399z00zz__crcz00));
#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__crcz00(long
		BgL_checksumz00_5641, char *BgL_fromz00_5642)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__crcz00))
				{
					BGl_requirezd2initializa7ationz75zz__crcz00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__crcz00();
					BGl_cnstzd2initzd2zz__crcz00();
					return BGl_toplevelzd2initzd2zz__crcz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__crcz00(void)
	{
		{	/* Unsafe/crc.scm 15 */
			BGl_symbol2377z00zz__crcz00 =
				bstring_to_symbol(BGl_string2378z00zz__crcz00);
			BGl_symbol2379z00zz__crcz00 =
				bstring_to_symbol(BGl_string2380z00zz__crcz00);
			BGl_symbol2381z00zz__crcz00 =
				bstring_to_symbol(BGl_string2382z00zz__crcz00);
			BGl_symbol2383z00zz__crcz00 =
				bstring_to_symbol(BGl_string2384z00zz__crcz00);
			BGl_symbol2385z00zz__crcz00 =
				bstring_to_symbol(BGl_string2386z00zz__crcz00);
			BGl_symbol2390z00zz__crcz00 =
				bstring_to_symbol(BGl_string2391z00zz__crcz00);
			BGl_symbol2393z00zz__crcz00 =
				bstring_to_symbol(BGl_string2394z00zz__crcz00);
			BGl_symbol2395z00zz__crcz00 =
				bstring_to_symbol(BGl_string2396z00zz__crcz00);
			BGl_symbol2397z00zz__crcz00 =
				bstring_to_symbol(BGl_string2398z00zz__crcz00);
			BGl_symbol2399z00zz__crcz00 =
				bstring_to_symbol(BGl_string2400z00zz__crcz00);
			BGl_symbol2401z00zz__crcz00 =
				bstring_to_symbol(BGl_string2402z00zz__crcz00);
			BGl_symbol2403z00zz__crcz00 =
				bstring_to_symbol(BGl_string2404z00zz__crcz00);
			BGl_symbol2405z00zz__crcz00 =
				bstring_to_symbol(BGl_string2406z00zz__crcz00);
			BGl_symbol2407z00zz__crcz00 =
				bstring_to_symbol(BGl_string2408z00zz__crcz00);
			BGl_symbol2409z00zz__crcz00 =
				bstring_to_symbol(BGl_string2410z00zz__crcz00);
			BGl_symbol2411z00zz__crcz00 =
				bstring_to_symbol(BGl_string2412z00zz__crcz00);
			BGl_symbol2413z00zz__crcz00 =
				bstring_to_symbol(BGl_string2414z00zz__crcz00);
			BGl_symbol2415z00zz__crcz00 =
				bstring_to_symbol(BGl_string2416z00zz__crcz00);
			BGl_symbol2419z00zz__crcz00 =
				bstring_to_symbol(BGl_string2420z00zz__crcz00);
			BGl_symbol2422z00zz__crcz00 =
				bstring_to_symbol(BGl_string2423z00zz__crcz00);
			BGl_symbol2426z00zz__crcz00 =
				bstring_to_symbol(BGl_string2427z00zz__crcz00);
			BGl_symbol2439z00zz__crcz00 =
				bstring_to_symbol(BGl_string2440z00zz__crcz00);
			BGl_symbol2441z00zz__crcz00 =
				bstring_to_symbol(BGl_string2442z00zz__crcz00);
			BGl_symbol2443z00zz__crcz00 =
				bstring_to_symbol(BGl_string2444z00zz__crcz00);
			BGl_symbol2445z00zz__crcz00 =
				bstring_to_symbol(BGl_string2446z00zz__crcz00);
			BGl_keyword2455z00zz__crcz00 =
				bstring_to_keyword(BGl_string2456z00zz__crcz00);
			BGl_keyword2457z00zz__crcz00 =
				bstring_to_keyword(BGl_string2458z00zz__crcz00);
			BGl_keyword2459z00zz__crcz00 =
				bstring_to_keyword(BGl_string2460z00zz__crcz00);
			BGl_list2454z00zz__crcz00 =
				MAKE_YOUNG_PAIR(BGl_keyword2455z00zz__crcz00,
				MAKE_YOUNG_PAIR(BGl_keyword2457z00zz__crcz00,
					MAKE_YOUNG_PAIR(BGl_keyword2459z00zz__crcz00, BNIL)));
			BGl_symbol2461z00zz__crcz00 =
				bstring_to_symbol(BGl_string2462z00zz__crcz00);
			BGl_symbol2468z00zz__crcz00 =
				bstring_to_symbol(BGl_string2469z00zz__crcz00);
			BGl_symbol2475z00zz__crcz00 =
				bstring_to_symbol(BGl_string2476z00zz__crcz00);
			BGl_symbol2478z00zz__crcz00 =
				bstring_to_symbol(BGl_string2479z00zz__crcz00);
			return (BGl_symbol2481z00zz__crcz00 =
				bstring_to_symbol(BGl_string2482z00zz__crcz00), BUNSPEC);
		}

	}



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

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__crcz00(void)
	{
		{	/* Unsafe/crc.scm 15 */
			{	/* Unsafe/crc.scm 242 */
				obj_t BgL_arg1262z00_1389;
				obj_t BgL_arg1263z00_1390;

				{	/* Unsafe/crc.scm 242 */
					obj_t BgL_arg1265z00_1391;

					{	/* Unsafe/crc.scm 242 */
						obj_t BgL_arg1266z00_1392;

						{	/* Unsafe/crc.scm 242 */
							obj_t BgL_arg1267z00_1393;

							{	/* Unsafe/crc.scm 242 */
								long BgL_arg1269z00_1394;

								BgL_arg1269z00_1394 =
									(((long) 4294967295) & ((long) -306674912));
								BgL_arg1267z00_1393 =
									MAKE_YOUNG_PAIR(make_belong(BgL_arg1269z00_1394), BNIL);
							}
							BgL_arg1266z00_1392 =
								MAKE_YOUNG_PAIR(BGl_elong2376z00zz__crcz00,
								BgL_arg1267z00_1393);
						}
						BgL_arg1265z00_1391 =
							MAKE_YOUNG_PAIR(BINT(32L), BgL_arg1266z00_1392);
					}
					BgL_arg1262z00_1389 =
						MAKE_YOUNG_PAIR(BGl_symbol2377z00zz__crcz00, BgL_arg1265z00_1391);
				}
				{	/* Unsafe/crc.scm 243 */
					obj_t BgL_arg1271z00_1395;
					obj_t BgL_arg1274z00_1396;

					{	/* Unsafe/crc.scm 243 */
						obj_t BgL_arg1276z00_1397;

						{	/* Unsafe/crc.scm 243 */
							obj_t BgL_arg1278z00_1398;

							{	/* Unsafe/crc.scm 243 */
								obj_t BgL_arg1279z00_1399;

								BgL_arg1279z00_1399 = MAKE_YOUNG_PAIR(BINT(14627425L), BNIL);
								BgL_arg1278z00_1398 =
									MAKE_YOUNG_PAIR(BINT(8801531L), BgL_arg1279z00_1399);
							}
							BgL_arg1276z00_1397 =
								MAKE_YOUNG_PAIR(BINT(24L), BgL_arg1278z00_1398);
						}
						BgL_arg1271z00_1395 =
							MAKE_YOUNG_PAIR(BGl_symbol2379z00zz__crcz00, BgL_arg1276z00_1397);
					}
					{	/* Unsafe/crc.scm 244 */
						obj_t BgL_arg1280z00_1400;
						obj_t BgL_arg1281z00_1401;

						{	/* Unsafe/crc.scm 244 */
							obj_t BgL_arg1282z00_1402;

							{	/* Unsafe/crc.scm 244 */
								obj_t BgL_arg1283z00_1403;

								{	/* Unsafe/crc.scm 244 */
									obj_t BgL_arg1285z00_1404;

									BgL_arg1285z00_1404 = MAKE_YOUNG_PAIR(BINT(33800L), BNIL);
									BgL_arg1283z00_1403 =
										MAKE_YOUNG_PAIR(BINT(4129L), BgL_arg1285z00_1404);
								}
								BgL_arg1282z00_1402 =
									MAKE_YOUNG_PAIR(BINT(16L), BgL_arg1283z00_1403);
							}
							BgL_arg1280z00_1400 =
								MAKE_YOUNG_PAIR(BGl_symbol2381z00zz__crcz00,
								BgL_arg1282z00_1402);
						}
						{	/* Unsafe/crc.scm 245 */
							obj_t BgL_arg1287z00_1405;
							obj_t BgL_arg1291z00_1406;

							{	/* Unsafe/crc.scm 245 */
								obj_t BgL_arg1292z00_1407;

								{	/* Unsafe/crc.scm 245 */
									obj_t BgL_arg1293z00_1408;

									{	/* Unsafe/crc.scm 245 */
										obj_t BgL_arg1295z00_1409;

										BgL_arg1295z00_1409 = MAKE_YOUNG_PAIR(BINT(42684L), BNIL);
										BgL_arg1293z00_1408 =
											MAKE_YOUNG_PAIR(BINT(15717L), BgL_arg1295z00_1409);
									}
									BgL_arg1292z00_1407 =
										MAKE_YOUNG_PAIR(BINT(16L), BgL_arg1293z00_1408);
								}
								BgL_arg1287z00_1405 =
									MAKE_YOUNG_PAIR(BGl_symbol2383z00zz__crcz00,
									BgL_arg1292z00_1407);
							}
							{	/* Unsafe/crc.scm 246 */
								obj_t BgL_arg1296z00_1410;
								obj_t BgL_arg1298z00_1411;

								{	/* Unsafe/crc.scm 246 */
									obj_t BgL_arg1301z00_1412;

									{	/* Unsafe/crc.scm 246 */
										obj_t BgL_arg1322z00_1413;

										{	/* Unsafe/crc.scm 246 */
											obj_t BgL_arg1329z00_1414;

											BgL_arg1329z00_1414 = MAKE_YOUNG_PAIR(BINT(40961L), BNIL);
											BgL_arg1322z00_1413 =
												MAKE_YOUNG_PAIR(BINT(32773L), BgL_arg1329z00_1414);
										}
										BgL_arg1301z00_1412 =
											MAKE_YOUNG_PAIR(BINT(16L), BgL_arg1322z00_1413);
									}
									BgL_arg1296z00_1410 =
										MAKE_YOUNG_PAIR(BGl_symbol2385z00zz__crcz00,
										BgL_arg1301z00_1412);
								}
								{	/* Unsafe/crc.scm 247 */
									obj_t BgL_arg1330z00_1415;
									obj_t BgL_arg1331z00_1416;

									{	/* Unsafe/crc.scm 247 */
										obj_t BgL_arg1332z00_1417;

										{	/* Unsafe/crc.scm 247 */
											obj_t BgL_arg1333z00_1418;

											{	/* Unsafe/crc.scm 247 */
												obj_t BgL_arg1334z00_1419;

												BgL_arg1334z00_1419 =
													MAKE_YOUNG_PAIR(BINT(13874874L), BNIL);
												BgL_arg1333z00_1418 =
													MAKE_YOUNG_PAIR(BINT(6122955L), BgL_arg1334z00_1419);
											}
											BgL_arg1332z00_1417 =
												MAKE_YOUNG_PAIR(BINT(24L), BgL_arg1333z00_1418);
										}
										BgL_arg1330z00_1415 =
											MAKE_YOUNG_PAIR(BINT(24L), BgL_arg1332z00_1417);
									}
									{	/* Unsafe/crc.scm 248 */
										obj_t BgL_arg1335z00_1420;
										obj_t BgL_arg1336z00_1421;

										{	/* Unsafe/crc.scm 248 */
											obj_t BgL_arg1337z00_1422;

											{	/* Unsafe/crc.scm 248 */
												obj_t BgL_arg1338z00_1423;

												{	/* Unsafe/crc.scm 248 */
													obj_t BgL_arg1339z00_1424;

													BgL_arg1339z00_1424 =
														MAKE_YOUNG_PAIR(BGl_elong2387z00zz__crcz00, BNIL);
													BgL_arg1338z00_1423 =
														MAKE_YOUNG_PAIR(BGl_elong2388z00zz__crcz00,
														BgL_arg1339z00_1424);
												}
												BgL_arg1337z00_1422 =
													MAKE_YOUNG_PAIR(BINT(30L), BgL_arg1338z00_1423);
											}
											BgL_arg1335z00_1420 =
												MAKE_YOUNG_PAIR(BINT(30L), BgL_arg1337z00_1422);
										}
										{	/* Unsafe/crc.scm 249 */
											obj_t BgL_arg1341z00_1425;
											obj_t BgL_arg1342z00_1426;

											{	/* Unsafe/crc.scm 249 */
												obj_t BgL_arg1343z00_1427;

												{	/* Unsafe/crc.scm 249 */
													obj_t BgL_arg1345z00_1428;

													{	/* Unsafe/crc.scm 249 */
														obj_t BgL_arg1346z00_1429;

														{	/* Unsafe/crc.scm 249 */
															long BgL_arg1347z00_1430;

															BgL_arg1347z00_1430 =
																(((long) 4294967295) & ((long) -2097792136));
															BgL_arg1346z00_1429 =
																MAKE_YOUNG_PAIR(make_belong
																(BgL_arg1347z00_1430), BNIL);
														}
														BgL_arg1345z00_1428 =
															MAKE_YOUNG_PAIR(BGl_elong2389z00zz__crcz00,
															BgL_arg1346z00_1429);
													}
													BgL_arg1343z00_1427 =
														MAKE_YOUNG_PAIR(BINT(32L), BgL_arg1345z00_1428);
												}
												BgL_arg1341z00_1425 =
													MAKE_YOUNG_PAIR(BGl_symbol2390z00zz__crcz00,
													BgL_arg1343z00_1427);
											}
											{	/* Unsafe/crc.scm 250 */
												obj_t BgL_arg1349z00_1431;
												obj_t BgL_arg1351z00_1432;

												{	/* Unsafe/crc.scm 250 */
													obj_t BgL_arg1352z00_1433;

													{	/* Unsafe/crc.scm 250 */
														obj_t BgL_arg1353z00_1434;

														{	/* Unsafe/crc.scm 250 */
															obj_t BgL_arg1355z00_1435;

															{	/* Unsafe/crc.scm 250 */
																long BgL_arg1356z00_1436;

																BgL_arg1356z00_1436 =
																	(((long) 4294967295) & ((long) -349054930));
																BgL_arg1355z00_1435 =
																	MAKE_YOUNG_PAIR(make_belong
																	(BgL_arg1356z00_1436), BNIL);
															}
															BgL_arg1353z00_1434 =
																MAKE_YOUNG_PAIR(BGl_elong2392z00zz__crcz00,
																BgL_arg1355z00_1435);
														}
														BgL_arg1352z00_1433 =
															MAKE_YOUNG_PAIR(BINT(32L), BgL_arg1353z00_1434);
													}
													BgL_arg1349z00_1431 =
														MAKE_YOUNG_PAIR(BGl_symbol2393z00zz__crcz00,
														BgL_arg1352z00_1433);
												}
												{	/* Unsafe/crc.scm 252 */
													obj_t BgL_arg1357z00_1437;
													obj_t BgL_arg1358z00_1438;

													{	/* Unsafe/crc.scm 252 */
														obj_t BgL_arg1359z00_1439;

														{	/* Unsafe/crc.scm 252 */
															obj_t BgL_arg1360z00_1440;

															{	/* Unsafe/crc.scm 252 */
																long BgL_arg1361z00_1441;
																obj_t BgL_arg1362z00_1442;

																BgL_arg1361z00_1441 =
																	(((long) 4294967295) & ((long) -2126429781));
																{	/* Unsafe/crc.scm 253 */
																	long BgL_arg1363z00_1443;

																	BgL_arg1363z00_1443 =
																		(((long) 4294967295) & ((long) -712867199));
																	BgL_arg1362z00_1442 =
																		MAKE_YOUNG_PAIR(make_belong
																		(BgL_arg1363z00_1443), BNIL);
																}
																BgL_arg1360z00_1440 =
																	MAKE_YOUNG_PAIR(make_belong
																	(BgL_arg1361z00_1441), BgL_arg1362z00_1442);
															}
															BgL_arg1359z00_1439 =
																MAKE_YOUNG_PAIR(BINT(32L), BgL_arg1360z00_1440);
														}
														BgL_arg1357z00_1437 =
															MAKE_YOUNG_PAIR(BGl_symbol2395z00zz__crcz00,
															BgL_arg1359z00_1439);
													}
													{	/* Unsafe/crc.scm 254 */
														obj_t BgL_arg1364z00_1444;
														obj_t BgL_arg1365z00_1445;

														{	/* Unsafe/crc.scm 254 */
															obj_t BgL_arg1366z00_1446;

															{	/* Unsafe/crc.scm 254 */
																obj_t BgL_arg1367z00_1447;

																{	/* Unsafe/crc.scm 254 */
																	obj_t BgL_arg1368z00_1448;

																	BgL_arg1368z00_1448 =
																		MAKE_YOUNG_PAIR(BINT(12L), BNIL);
																	BgL_arg1367z00_1447 =
																		MAKE_YOUNG_PAIR(BINT(3L),
																		BgL_arg1368z00_1448);
																}
																BgL_arg1366z00_1446 =
																	MAKE_YOUNG_PAIR(BINT(4L),
																	BgL_arg1367z00_1447);
															}
															BgL_arg1364z00_1444 =
																MAKE_YOUNG_PAIR(BGl_symbol2397z00zz__crcz00,
																BgL_arg1366z00_1446);
														}
														{	/* Unsafe/crc.scm 255 */
															obj_t BgL_arg1369z00_1449;
															obj_t BgL_arg1370z00_1450;

															{	/* Unsafe/crc.scm 255 */
																obj_t BgL_arg1371z00_1451;

																{	/* Unsafe/crc.scm 255 */
																	obj_t BgL_arg1372z00_1452;

																	{	/* Unsafe/crc.scm 255 */
																		obj_t BgL_arg1373z00_1453;

																		BgL_arg1373z00_1453 =
																			MAKE_YOUNG_PAIR(BINT(18L), BNIL);
																		BgL_arg1372z00_1452 =
																			MAKE_YOUNG_PAIR(BINT(9L),
																			BgL_arg1373z00_1453);
																	}
																	BgL_arg1371z00_1451 =
																		MAKE_YOUNG_PAIR(BINT(5L),
																		BgL_arg1372z00_1452);
																}
																BgL_arg1369z00_1449 =
																	MAKE_YOUNG_PAIR(BGl_symbol2399z00zz__crcz00,
																	BgL_arg1371z00_1451);
															}
															{	/* Unsafe/crc.scm 256 */
																obj_t BgL_arg1374z00_1454;
																obj_t BgL_arg1376z00_1455;

																{	/* Unsafe/crc.scm 256 */
																	obj_t BgL_arg1377z00_1456;

																	{	/* Unsafe/crc.scm 256 */
																		obj_t BgL_arg1378z00_1457;

																		{	/* Unsafe/crc.scm 256 */
																			obj_t BgL_arg1379z00_1458;

																			BgL_arg1379z00_1458 =
																				MAKE_YOUNG_PAIR(BINT(21L), BNIL);
																			BgL_arg1378z00_1457 =
																				MAKE_YOUNG_PAIR(BINT(21L),
																				BgL_arg1379z00_1458);
																		}
																		BgL_arg1377z00_1456 =
																			MAKE_YOUNG_PAIR(BINT(5L),
																			BgL_arg1378z00_1457);
																	}
																	BgL_arg1374z00_1454 =
																		MAKE_YOUNG_PAIR(BGl_symbol2401z00zz__crcz00,
																		BgL_arg1377z00_1456);
																}
																{	/* Unsafe/crc.scm 257 */
																	obj_t BgL_arg1380z00_1459;
																	obj_t BgL_arg1381z00_1460;

																	{	/* Unsafe/crc.scm 257 */
																		obj_t BgL_arg1382z00_1461;

																		{	/* Unsafe/crc.scm 257 */
																			obj_t BgL_arg1383z00_1462;

																			{	/* Unsafe/crc.scm 257 */
																				obj_t BgL_arg1384z00_1463;

																				BgL_arg1384z00_1463 =
																					MAKE_YOUNG_PAIR(BINT(20L), BNIL);
																				BgL_arg1383z00_1462 =
																					MAKE_YOUNG_PAIR(BINT(5L),
																					BgL_arg1384z00_1463);
																			}
																			BgL_arg1382z00_1461 =
																				MAKE_YOUNG_PAIR(BINT(5L),
																				BgL_arg1383z00_1462);
																		}
																		BgL_arg1380z00_1459 =
																			MAKE_YOUNG_PAIR
																			(BGl_symbol2403z00zz__crcz00,
																			BgL_arg1382z00_1461);
																	}
																	{	/* Unsafe/crc.scm 258 */
																		obj_t BgL_arg1385z00_1464;
																		obj_t BgL_arg1386z00_1465;

																		{	/* Unsafe/crc.scm 258 */
																			obj_t BgL_arg1387z00_1466;

																			{	/* Unsafe/crc.scm 258 */
																				obj_t BgL_arg1388z00_1467;

																				{	/* Unsafe/crc.scm 258 */
																					obj_t BgL_arg1389z00_1468;

																					BgL_arg1389z00_1468 =
																						MAKE_YOUNG_PAIR(BINT(48L), BNIL);
																					BgL_arg1388z00_1467 =
																						MAKE_YOUNG_PAIR(BINT(3L),
																						BgL_arg1389z00_1468);
																				}
																				BgL_arg1387z00_1466 =
																					MAKE_YOUNG_PAIR(BINT(6L),
																					BgL_arg1388z00_1467);
																			}
																			BgL_arg1385z00_1464 =
																				MAKE_YOUNG_PAIR
																				(BGl_symbol2405z00zz__crcz00,
																				BgL_arg1387z00_1466);
																		}
																		{	/* Unsafe/crc.scm 259 */
																			obj_t BgL_arg1390z00_1469;
																			obj_t BgL_arg1391z00_1470;

																			{	/* Unsafe/crc.scm 259 */
																				obj_t BgL_arg1392z00_1471;

																				{	/* Unsafe/crc.scm 259 */
																					obj_t BgL_arg1395z00_1472;

																					{	/* Unsafe/crc.scm 259 */
																						obj_t BgL_arg1396z00_1473;

																						BgL_arg1396z00_1473 =
																							MAKE_YOUNG_PAIR(BINT(72L), BNIL);
																						BgL_arg1395z00_1472 =
																							MAKE_YOUNG_PAIR(BINT(9L),
																							BgL_arg1396z00_1473);
																					}
																					BgL_arg1392z00_1471 =
																						MAKE_YOUNG_PAIR(BINT(7L),
																						BgL_arg1395z00_1472);
																				}
																				BgL_arg1390z00_1469 =
																					MAKE_YOUNG_PAIR(BINT(7L),
																					BgL_arg1392z00_1471);
																			}
																			{	/* Unsafe/crc.scm 260 */
																				obj_t BgL_arg1397z00_1474;
																				obj_t BgL_arg1398z00_1475;

																				{	/* Unsafe/crc.scm 260 */
																					obj_t BgL_arg1399z00_1476;

																					{	/* Unsafe/crc.scm 260 */
																						obj_t BgL_arg1400z00_1477;

																						{	/* Unsafe/crc.scm 260 */
																							obj_t BgL_arg1401z00_1478;

																							BgL_arg1401z00_1478 =
																								MAKE_YOUNG_PAIR(BINT(224L),
																								BNIL);
																							BgL_arg1400z00_1477 =
																								MAKE_YOUNG_PAIR(BINT(7L),
																								BgL_arg1401z00_1478);
																						}
																						BgL_arg1399z00_1476 =
																							MAKE_YOUNG_PAIR(BINT(8L),
																							BgL_arg1400z00_1477);
																					}
																					BgL_arg1397z00_1474 =
																						MAKE_YOUNG_PAIR
																						(BGl_symbol2407z00zz__crcz00,
																						BgL_arg1399z00_1476);
																				}
																				{	/* Unsafe/crc.scm 261 */
																					obj_t BgL_arg1402z00_1479;
																					obj_t BgL_arg1403z00_1480;

																					{	/* Unsafe/crc.scm 261 */
																						obj_t BgL_arg1404z00_1481;

																						{	/* Unsafe/crc.scm 261 */
																							obj_t BgL_arg1405z00_1482;

																							{	/* Unsafe/crc.scm 261 */
																								obj_t BgL_arg1407z00_1483;

																								BgL_arg1407z00_1483 =
																									MAKE_YOUNG_PAIR(BINT(177L),
																									BNIL);
																								BgL_arg1405z00_1482 =
																									MAKE_YOUNG_PAIR(BINT(141L),
																									BgL_arg1407z00_1483);
																							}
																							BgL_arg1404z00_1481 =
																								MAKE_YOUNG_PAIR(BINT(8L),
																								BgL_arg1405z00_1482);
																						}
																						BgL_arg1402z00_1479 =
																							MAKE_YOUNG_PAIR
																							(BGl_symbol2409z00zz__crcz00,
																							BgL_arg1404z00_1481);
																					}
																					{	/* Unsafe/crc.scm 262 */
																						obj_t BgL_arg1408z00_1484;
																						obj_t BgL_arg1409z00_1485;

																						{	/* Unsafe/crc.scm 262 */
																							obj_t BgL_arg1410z00_1486;

																							{	/* Unsafe/crc.scm 262 */
																								obj_t BgL_arg1411z00_1487;

																								{	/* Unsafe/crc.scm 262 */
																									obj_t BgL_arg1412z00_1488;

																									BgL_arg1412z00_1488 =
																										MAKE_YOUNG_PAIR(BINT(140L),
																										BNIL);
																									BgL_arg1411z00_1487 =
																										MAKE_YOUNG_PAIR(BINT(49L),
																										BgL_arg1412z00_1488);
																								}
																								BgL_arg1410z00_1486 =
																									MAKE_YOUNG_PAIR(BINT(8L),
																									BgL_arg1411z00_1487);
																							}
																							BgL_arg1408z00_1484 =
																								MAKE_YOUNG_PAIR
																								(BGl_symbol2411z00zz__crcz00,
																								BgL_arg1410z00_1486);
																						}
																						{	/* Unsafe/crc.scm 263 */
																							obj_t BgL_arg1413z00_1489;
																							obj_t BgL_arg1414z00_1490;

																							{	/* Unsafe/crc.scm 263 */
																								obj_t BgL_arg1415z00_1491;

																								{	/* Unsafe/crc.scm 263 */
																									obj_t BgL_arg1416z00_1492;

																									{	/* Unsafe/crc.scm 263 */
																										obj_t BgL_arg1417z00_1493;

																										BgL_arg1417z00_1493 =
																											MAKE_YOUNG_PAIR(BINT
																											(171L), BNIL);
																										BgL_arg1416z00_1492 =
																											MAKE_YOUNG_PAIR(BINT
																											(213L),
																											BgL_arg1417z00_1493);
																									}
																									BgL_arg1415z00_1491 =
																										MAKE_YOUNG_PAIR(BINT(8L),
																										BgL_arg1416z00_1492);
																								}
																								BgL_arg1413z00_1489 =
																									MAKE_YOUNG_PAIR(BINT(8L),
																									BgL_arg1415z00_1491);
																							}
																							{	/* Unsafe/crc.scm 264 */
																								obj_t BgL_arg1419z00_1494;
																								obj_t BgL_arg1420z00_1495;

																								{	/* Unsafe/crc.scm 264 */
																									obj_t BgL_arg1421z00_1496;

																									{	/* Unsafe/crc.scm 264 */
																										obj_t BgL_arg1422z00_1497;

																										{	/* Unsafe/crc.scm 264 */
																											obj_t BgL_arg1423z00_1498;

																											BgL_arg1423z00_1498 =
																												MAKE_YOUNG_PAIR(BINT
																												(184L), BNIL);
																											BgL_arg1422z00_1497 =
																												MAKE_YOUNG_PAIR(BINT
																												(29L),
																												BgL_arg1423z00_1498);
																										}
																										BgL_arg1421z00_1496 =
																											MAKE_YOUNG_PAIR(BINT(8L),
																											BgL_arg1422z00_1497);
																									}
																									BgL_arg1419z00_1494 =
																										MAKE_YOUNG_PAIR
																										(BGl_symbol2413z00zz__crcz00,
																										BgL_arg1421z00_1496);
																								}
																								{	/* Unsafe/crc.scm 265 */
																									obj_t BgL_arg1424z00_1499;
																									obj_t BgL_arg1425z00_1500;

																									{	/* Unsafe/crc.scm 265 */
																										obj_t BgL_arg1426z00_1501;

																										{	/* Unsafe/crc.scm 265 */
																											obj_t BgL_arg1427z00_1502;

																											{	/* Unsafe/crc.scm 265 */
																												obj_t
																													BgL_arg1428z00_1503;
																												BgL_arg1428z00_1503 =
																													MAKE_YOUNG_PAIR(BINT
																													(817L), BNIL);
																												BgL_arg1427z00_1502 =
																													MAKE_YOUNG_PAIR(BINT
																													(563L),
																													BgL_arg1428z00_1503);
																											}
																											BgL_arg1426z00_1501 =
																												MAKE_YOUNG_PAIR(BINT
																												(10L),
																												BgL_arg1427z00_1502);
																										}
																										BgL_arg1424z00_1499 =
																											MAKE_YOUNG_PAIR(BINT(10L),
																											BgL_arg1426z00_1501);
																									}
																									{	/* Unsafe/crc.scm 266 */
																										obj_t BgL_arg1429z00_1504;
																										obj_t BgL_arg1430z00_1505;

																										{	/* Unsafe/crc.scm 266 */
																											obj_t BgL_arg1431z00_1506;

																											{	/* Unsafe/crc.scm 266 */
																												obj_t
																													BgL_arg1432z00_1507;
																												{	/* Unsafe/crc.scm 266 */
																													obj_t
																														BgL_arg1433z00_1508;
																													BgL_arg1433z00_1508 =
																														MAKE_YOUNG_PAIR(BINT
																														(1294L), BNIL);
																													BgL_arg1432z00_1507 =
																														MAKE_YOUNG_PAIR(BINT
																														(901L),
																														BgL_arg1433z00_1508);
																												}
																												BgL_arg1431z00_1506 =
																													MAKE_YOUNG_PAIR(BINT
																													(11L),
																													BgL_arg1432z00_1507);
																											}
																											BgL_arg1429z00_1504 =
																												MAKE_YOUNG_PAIR(BINT
																												(11L),
																												BgL_arg1431z00_1506);
																										}
																										{	/* Unsafe/crc.scm 267 */
																											obj_t BgL_arg1434z00_1509;
																											obj_t BgL_arg1435z00_1510;

																											{	/* Unsafe/crc.scm 267 */
																												obj_t
																													BgL_arg1436z00_1511;
																												{	/* Unsafe/crc.scm 267 */
																													obj_t
																														BgL_arg1437z00_1512;
																													{	/* Unsafe/crc.scm 267 */
																														obj_t
																															BgL_arg1438z00_1513;
																														BgL_arg1438z00_1513
																															=
																															MAKE_YOUNG_PAIR
																															(BINT(3841L),
																															BNIL);
																														BgL_arg1437z00_1512
																															=
																															MAKE_YOUNG_PAIR
																															(BINT(2063L),
																															BgL_arg1438z00_1513);
																													}
																													BgL_arg1436z00_1511 =
																														MAKE_YOUNG_PAIR(BINT
																														(12L),
																														BgL_arg1437z00_1512);
																												}
																												BgL_arg1434z00_1509 =
																													MAKE_YOUNG_PAIR(BINT
																													(12L),
																													BgL_arg1436z00_1511);
																											}
																											{	/* Unsafe/crc.scm 268 */
																												obj_t
																													BgL_arg1439z00_1514;
																												obj_t
																													BgL_arg1442z00_1515;
																												{	/* Unsafe/crc.scm 268 */
																													obj_t
																														BgL_arg1443z00_1516;
																													{	/* Unsafe/crc.scm 268 */
																														obj_t
																															BgL_arg1444z00_1517;
																														{	/* Unsafe/crc.scm 268 */
																															obj_t
																																BgL_arg1445z00_1518;
																															BgL_arg1445z00_1518
																																=
																																MAKE_YOUNG_PAIR
																																(BINT(19665L),
																																BNIL);
																															BgL_arg1444z00_1517
																																=
																																MAKE_YOUNG_PAIR
																																(BINT(17817L),
																																BgL_arg1445z00_1518);
																														}
																														BgL_arg1443z00_1516
																															=
																															MAKE_YOUNG_PAIR
																															(BINT(15L),
																															BgL_arg1444z00_1517);
																													}
																													BgL_arg1439z00_1514 =
																														MAKE_YOUNG_PAIR
																														(BGl_symbol2415z00zz__crcz00,
																														BgL_arg1443z00_1516);
																												}
																												{	/* Unsafe/crc.scm 269 */
																													obj_t
																														BgL_arg1446z00_1519;
																													obj_t
																														BgL_arg1447z00_1520;
																													{	/* Unsafe/crc.scm 269 */
																														obj_t
																															BgL_arg1448z00_1521;
																														{	/* Unsafe/crc.scm 269 */
																															obj_t
																																BgL_arg1450z00_1522;
																															{	/* Unsafe/crc.scm 269 */
																																obj_t
																																	BgL_arg1451z00_1523;
																																{	/* Unsafe/crc.scm 269 */
																																	obj_t
																																		BgL_arg1452z00_1524;
																																	{	/* Unsafe/crc.scm 269 */
																																		obj_t
																																			BgL_arg1453z00_1525;
																																		{	/* Unsafe/crc.scm 269 */
																																			obj_t
																																				BgL_arg1455z00_1526;
																																			BgL_arg1455z00_1526
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BGl_llong2417z00zz__crcz00,
																																				BNIL);
																																			BgL_arg1453z00_1525
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BGl_llong2418z00zz__crcz00,
																																				BgL_arg1455z00_1526);
																																		}
																																		BgL_arg1452z00_1524
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BGl_symbol2419z00zz__crcz00,
																																			BgL_arg1453z00_1525);
																																	}
																																	BgL_arg1451z00_1523
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_arg1452z00_1524,
																																		BNIL);
																																}
																																BgL_arg1450z00_1522
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BGl_llong2421z00zz__crcz00,
																																	BgL_arg1451z00_1523);
																															}
																															BgL_arg1448z00_1521
																																=
																																MAKE_YOUNG_PAIR
																																(BINT(64L),
																																BgL_arg1450z00_1522);
																														}
																														BgL_arg1446z00_1519
																															=
																															MAKE_YOUNG_PAIR
																															(BGl_symbol2422z00zz__crcz00,
																															BgL_arg1448z00_1521);
																													}
																													{	/* Unsafe/crc.scm 272 */
																														obj_t
																															BgL_arg1456z00_1527;
																														{	/* Unsafe/crc.scm 272 */
																															obj_t
																																BgL_arg1457z00_1528;
																															{	/* Unsafe/crc.scm 272 */
																																obj_t
																																	BgL_arg1458z00_1529;
																																{	/* Unsafe/crc.scm 272 */
																																	obj_t
																																		BgL_arg1459z00_1530;
																																	{	/* Unsafe/crc.scm 272 */
																																		obj_t
																																			BgL_arg1460z00_1531;
																																		{	/* Unsafe/crc.scm 272 */
																																			obj_t
																																				BgL_arg1461z00_1532;
																																			{	/* Unsafe/crc.scm 272 */
																																				obj_t
																																					BgL_arg1462z00_1533;
																																				BgL_arg1462z00_1533
																																					=
																																					MAKE_YOUNG_PAIR
																																					(BGl_llong2424z00zz__crcz00,
																																					BNIL);
																																				BgL_arg1461z00_1532
																																					=
																																					MAKE_YOUNG_PAIR
																																					(BGl_llong2418z00zz__crcz00,
																																					BgL_arg1462z00_1533);
																																			}
																																			BgL_arg1460z00_1531
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BGl_symbol2419z00zz__crcz00,
																																				BgL_arg1461z00_1532);
																																		}
																																		BgL_arg1459z00_1530
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BgL_arg1460z00_1531,
																																			BNIL);
																																	}
																																	BgL_arg1458z00_1529
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BGl_llong2425z00zz__crcz00,
																																		BgL_arg1459z00_1530);
																																}
																																BgL_arg1457z00_1528
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BINT(64L),
																																	BgL_arg1458z00_1529);
																															}
																															BgL_arg1456z00_1527
																																=
																																MAKE_YOUNG_PAIR
																																(BGl_symbol2426z00zz__crcz00,
																																BgL_arg1457z00_1528);
																														}
																														BgL_arg1447z00_1520
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1456z00_1527,
																															BNIL);
																													}
																													BgL_arg1442z00_1515 =
																														MAKE_YOUNG_PAIR
																														(BgL_arg1446z00_1519,
																														BgL_arg1447z00_1520);
																												}
																												BgL_arg1435z00_1510 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg1439z00_1514,
																													BgL_arg1442z00_1515);
																											}
																											BgL_arg1430z00_1505 =
																												MAKE_YOUNG_PAIR
																												(BgL_arg1434z00_1509,
																												BgL_arg1435z00_1510);
																										}
																										BgL_arg1425z00_1500 =
																											MAKE_YOUNG_PAIR
																											(BgL_arg1429z00_1504,
																											BgL_arg1430z00_1505);
																									}
																									BgL_arg1420z00_1495 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg1424z00_1499,
																										BgL_arg1425z00_1500);
																								}
																								BgL_arg1414z00_1490 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1419z00_1494,
																									BgL_arg1420z00_1495);
																							}
																							BgL_arg1409z00_1485 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg1413z00_1489,
																								BgL_arg1414z00_1490);
																						}
																						BgL_arg1403z00_1480 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1408z00_1484,
																							BgL_arg1409z00_1485);
																					}
																					BgL_arg1398z00_1475 =
																						MAKE_YOUNG_PAIR(BgL_arg1402z00_1479,
																						BgL_arg1403z00_1480);
																				}
																				BgL_arg1391z00_1470 =
																					MAKE_YOUNG_PAIR(BgL_arg1397z00_1474,
																					BgL_arg1398z00_1475);
																			}
																			BgL_arg1386z00_1465 =
																				MAKE_YOUNG_PAIR(BgL_arg1390z00_1469,
																				BgL_arg1391z00_1470);
																		}
																		BgL_arg1381z00_1460 =
																			MAKE_YOUNG_PAIR(BgL_arg1385z00_1464,
																			BgL_arg1386z00_1465);
																	}
																	BgL_arg1376z00_1455 =
																		MAKE_YOUNG_PAIR(BgL_arg1380z00_1459,
																		BgL_arg1381z00_1460);
																}
																BgL_arg1370z00_1450 =
																	MAKE_YOUNG_PAIR(BgL_arg1374z00_1454,
																	BgL_arg1376z00_1455);
															}
															BgL_arg1365z00_1445 =
																MAKE_YOUNG_PAIR(BgL_arg1369z00_1449,
																BgL_arg1370z00_1450);
														}
														BgL_arg1358z00_1438 =
															MAKE_YOUNG_PAIR(BgL_arg1364z00_1444,
															BgL_arg1365z00_1445);
													}
													BgL_arg1351z00_1432 =
														MAKE_YOUNG_PAIR(BgL_arg1357z00_1437,
														BgL_arg1358z00_1438);
												}
												BgL_arg1342z00_1426 =
													MAKE_YOUNG_PAIR(BgL_arg1349z00_1431,
													BgL_arg1351z00_1432);
											}
											BgL_arg1336z00_1421 =
												MAKE_YOUNG_PAIR(BgL_arg1341z00_1425,
												BgL_arg1342z00_1426);
										}
										BgL_arg1331z00_1416 =
											MAKE_YOUNG_PAIR(BgL_arg1335z00_1420, BgL_arg1336z00_1421);
									}
									BgL_arg1298z00_1411 =
										MAKE_YOUNG_PAIR(BgL_arg1330z00_1415, BgL_arg1331z00_1416);
								}
								BgL_arg1291z00_1406 =
									MAKE_YOUNG_PAIR(BgL_arg1296z00_1410, BgL_arg1298z00_1411);
							}
							BgL_arg1281z00_1401 =
								MAKE_YOUNG_PAIR(BgL_arg1287z00_1405, BgL_arg1291z00_1406);
						}
						BgL_arg1274z00_1396 =
							MAKE_YOUNG_PAIR(BgL_arg1280z00_1400, BgL_arg1281z00_1401);
					}
					BgL_arg1263z00_1390 =
						MAKE_YOUNG_PAIR(BgL_arg1271z00_1395, BgL_arg1274z00_1396);
				}
				return (BGl_za2crcsza2z00zz__crcz00 =
					MAKE_YOUNG_PAIR(BgL_arg1262z00_1389, BgL_arg1263z00_1390), BUNSPEC);
			}
		}

	}



/* crc-long */
	BGL_EXPORTED_DEF long BGl_crczd2longzd2zz__crcz00(unsigned char BgL_cz00_3,
		long BgL_crcz00_4, long BgL_polyz00_5, long BgL_lenz00_6)
	{
		{	/* Unsafe/crc.scm 69 */
			{

				if ((BgL_lenz00_6 >= 8L))
					{	/* Unsafe/crc.scm 111 */
						{	/* Unsafe/crc.scm 76 */
							long BgL_mz00_5564;

							BgL_mz00_5564 = (1L << (int) ((BgL_lenz00_6 - 1L)));
							{	/* Unsafe/crc.scm 77 */

								{
									long BgL_iz00_5566;
									long BgL_crcz00_5567;

									BgL_iz00_5566 = 0L;
									BgL_crcz00_5567 =
										(BgL_crcz00_4 ^
										(((unsigned char) (BgL_cz00_3)) <<
											(int) ((BgL_lenz00_6 - 8L))));
								BgL_loopz00_5565:
									if ((BgL_iz00_5566 == 8L))
										{	/* Unsafe/crc.scm 80 */
											return BgL_crcz00_5567;
										}
									else
										{
											long BgL_crcz00_5921;
											long BgL_iz00_5919;

											BgL_iz00_5919 = (BgL_iz00_5566 + 1L);
											BgL_crcz00_5921 =
												(
												(((BgL_mz00_5564 & BgL_crcz00_5567) >>
														(int) (
															(BgL_lenz00_6 - 1L))) * BgL_polyz00_5) ^
												(BgL_crcz00_5567 << (int) (1L)));
											BgL_crcz00_5567 = BgL_crcz00_5921;
											BgL_iz00_5566 = BgL_iz00_5919;
											goto BgL_loopz00_5565;
										}
								}
							}
						}
					}
				else
					{	/* Unsafe/crc.scm 111 */
						{	/* Unsafe/crc.scm 92 */
							long BgL_mz00_5568;

							BgL_mz00_5568 = (1L << (int) ((BgL_lenz00_6 - 1L)));
							{	/* Unsafe/crc.scm 94 */

								{
									long BgL_iz00_5570;
									long BgL_crcz00_5571;
									long BgL_shiftedzd2valuezd2_5572;

									BgL_iz00_5570 = 0L;
									BgL_crcz00_5571 = BgL_crcz00_4;
									BgL_shiftedzd2valuezd2_5572 =
										(((unsigned char) (BgL_cz00_3)) << (int) (BgL_lenz00_6));
								BgL_loopz00_5569:
									if ((BgL_iz00_5570 == 8L))
										{	/* Unsafe/crc.scm 98 */
											return BgL_crcz00_5571;
										}
									else
										{	/* Unsafe/crc.scm 100 */
											long BgL_crc2z00_5573;

											BgL_crc2z00_5573 =
												(BgL_crcz00_5571 ^
												(BgL_mz00_5568 &
													(BgL_shiftedzd2valuezd2_5572 >> (int) (8L))));
											{	/* Unsafe/crc.scm 104 */

												{
													long BgL_shiftedzd2valuezd2_5956;
													long BgL_crcz00_5947;
													long BgL_iz00_5945;

													BgL_iz00_5945 = (BgL_iz00_5570 + 1L);
													BgL_crcz00_5947 =
														(
														(((BgL_mz00_5568 & BgL_crc2z00_5573) >>
																(int) (
																	(BgL_lenz00_6 - 1L))) * BgL_polyz00_5) ^
														(BgL_crc2z00_5573 << (int) (1L)));
													BgL_shiftedzd2valuezd2_5956 =
														(BgL_shiftedzd2valuezd2_5572 << (int) (1L));
													BgL_shiftedzd2valuezd2_5572 =
														BgL_shiftedzd2valuezd2_5956;
													BgL_crcz00_5571 = BgL_crcz00_5947;
													BgL_iz00_5570 = BgL_iz00_5945;
													goto BgL_loopz00_5569;
												}
											}
										}
								}
							}
						}
					}
			}
		}

	}



/* &crc-long */
	obj_t BGl_z62crczd2longzb0zz__crcz00(obj_t BgL_envz00_5279,
		obj_t BgL_cz00_5280, obj_t BgL_crcz00_5281, obj_t BgL_polyz00_5282,
		obj_t BgL_lenz00_5283)
	{
		{	/* Unsafe/crc.scm 69 */
			{	/* Unsafe/crc.scm 75 */
				long BgL_tmpz00_5963;

				{	/* Unsafe/crc.scm 75 */
					long BgL_auxz00_5991;
					long BgL_auxz00_5982;
					long BgL_auxz00_5973;
					unsigned char BgL_auxz00_5964;

					{	/* Unsafe/crc.scm 75 */
						obj_t BgL_tmpz00_5992;

						if (INTEGERP(BgL_lenz00_5283))
							{	/* Unsafe/crc.scm 75 */
								BgL_tmpz00_5992 = BgL_lenz00_5283;
							}
						else
							{
								obj_t BgL_auxz00_5995;

								BgL_auxz00_5995 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(2995L), BGl_string2429z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_lenz00_5283);
								FAILURE(BgL_auxz00_5995, BFALSE, BFALSE);
							}
						BgL_auxz00_5991 = (long) CINT(BgL_tmpz00_5992);
					}
					{	/* Unsafe/crc.scm 75 */
						obj_t BgL_tmpz00_5983;

						if (INTEGERP(BgL_polyz00_5282))
							{	/* Unsafe/crc.scm 75 */
								BgL_tmpz00_5983 = BgL_polyz00_5282;
							}
						else
							{
								obj_t BgL_auxz00_5986;

								BgL_auxz00_5986 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(2995L), BGl_string2429z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_polyz00_5282);
								FAILURE(BgL_auxz00_5986, BFALSE, BFALSE);
							}
						BgL_auxz00_5982 = (long) CINT(BgL_tmpz00_5983);
					}
					{	/* Unsafe/crc.scm 75 */
						obj_t BgL_tmpz00_5974;

						if (INTEGERP(BgL_crcz00_5281))
							{	/* Unsafe/crc.scm 75 */
								BgL_tmpz00_5974 = BgL_crcz00_5281;
							}
						else
							{
								obj_t BgL_auxz00_5977;

								BgL_auxz00_5977 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(2995L), BGl_string2429z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_crcz00_5281);
								FAILURE(BgL_auxz00_5977, BFALSE, BFALSE);
							}
						BgL_auxz00_5973 = (long) CINT(BgL_tmpz00_5974);
					}
					{	/* Unsafe/crc.scm 75 */
						obj_t BgL_tmpz00_5965;

						if (CHARP(BgL_cz00_5280))
							{	/* Unsafe/crc.scm 75 */
								BgL_tmpz00_5965 = BgL_cz00_5280;
							}
						else
							{
								obj_t BgL_auxz00_5968;

								BgL_auxz00_5968 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(2995L), BGl_string2429z00zz__crcz00,
									BGl_string2430z00zz__crcz00, BgL_cz00_5280);
								FAILURE(BgL_auxz00_5968, BFALSE, BFALSE);
							}
						BgL_auxz00_5964 = CCHAR(BgL_tmpz00_5965);
					}
					BgL_tmpz00_5963 =
						BGl_crczd2longzd2zz__crcz00(BgL_auxz00_5964, BgL_auxz00_5973,
						BgL_auxz00_5982, BgL_auxz00_5991);
				}
				return BINT(BgL_tmpz00_5963);
			}
		}

	}



/* crc-elong */
	BGL_EXPORTED_DEF long BGl_crczd2elongzd2zz__crcz00(unsigned char BgL_cz00_7,
		long BgL_crcz00_8, long BgL_polyz00_9, long BgL_lenz00_10)
	{
		{	/* Unsafe/crc.scm 120 */
			if ((BgL_lenz00_10 >= 8L))
				{	/* Unsafe/crc.scm 122 */
					long BgL_octetz00_5574;

					BgL_octetz00_5574 = ((unsigned char) (BgL_cz00_7));
					{	/* Unsafe/crc.scm 123 */
						long BgL_valuez00_5575;
						long BgL_mz00_5576;

						{	/* Unsafe/crc.scm 123 */
							long BgL_arg1507z00_5577;
							long BgL_arg1508z00_5578;

							BgL_arg1507z00_5577 = (long) (BgL_octetz00_5574);
							BgL_arg1508z00_5578 = (BgL_lenz00_10 - 8L);
							BgL_valuez00_5575 =
								(BgL_arg1507z00_5577 << (int) (BgL_arg1508z00_5578));
						}
						BgL_mz00_5576 = (((long) 1) << (int) ((BgL_lenz00_10 - 1L)));
						{
							long BgL_iz00_5580;
							long BgL_crcz00_5581;

							BgL_iz00_5580 = 0L;
							BgL_crcz00_5581 = (BgL_crcz00_8 ^ BgL_valuez00_5575);
						BgL_loopz00_5579:
							if ((BgL_iz00_5580 == 8L))
								{	/* Unsafe/crc.scm 127 */
									return BgL_crcz00_5581;
								}
							else
								{	/* Unsafe/crc.scm 129 */
									long BgL_newzd2crczd2_5582;

									BgL_newzd2crczd2_5582 = (BgL_crcz00_5581 << (int) (1L));
									if ((((long) 0) == (BgL_mz00_5576 & BgL_crcz00_5581)))
										{
											long BgL_crcz00_6022;
											long BgL_iz00_6020;

											BgL_iz00_6020 = (BgL_iz00_5580 + 1L);
											BgL_crcz00_6022 = BgL_newzd2crczd2_5582;
											BgL_crcz00_5581 = BgL_crcz00_6022;
											BgL_iz00_5580 = BgL_iz00_6020;
											goto BgL_loopz00_5579;
										}
									else
										{
											long BgL_crcz00_6025;
											long BgL_iz00_6023;

											BgL_iz00_6023 = (BgL_iz00_5580 + 1L);
											BgL_crcz00_6025 = (BgL_newzd2crczd2_5582 ^ BgL_polyz00_9);
											BgL_crcz00_5581 = BgL_crcz00_6025;
											BgL_iz00_5580 = BgL_iz00_6023;
											goto BgL_loopz00_5579;
										}
								}
						}
					}
				}
			else
				{	/* Unsafe/crc.scm 133 */
					long BgL_arg1510z00_5583;

					{	/* Unsafe/crc.scm 133 */
						long BgL_arg1511z00_5584;
						long BgL_arg1512z00_5585;

						BgL_arg1511z00_5584 = (long) (BgL_crcz00_8);
						BgL_arg1512z00_5585 = (long) (BgL_polyz00_9);
						{

							if ((BgL_lenz00_10 >= 8L))
								{	/* Unsafe/crc.scm 111 */
									{	/* Unsafe/crc.scm 76 */
										long BgL_mz00_5588;

										BgL_mz00_5588 = (1L << (int) ((BgL_lenz00_10 - 1L)));
										{	/* Unsafe/crc.scm 77 */

											{
												long BgL_iz00_5590;
												long BgL_crcz00_5591;

												BgL_iz00_5590 = 0L;
												BgL_crcz00_5591 =
													(BgL_arg1511z00_5584 ^
													(((unsigned char) (BgL_cz00_7)) <<
														(int) ((BgL_lenz00_10 - 8L))));
											BgL_loopz00_5589:
												if ((BgL_iz00_5590 == 8L))
													{	/* Unsafe/crc.scm 80 */
														BgL_arg1510z00_5583 = BgL_crcz00_5591;
													}
												else
													{
														long BgL_crcz00_6039;
														long BgL_iz00_6037;

														BgL_iz00_6037 = (BgL_iz00_5590 + 1L);
														BgL_crcz00_6039 =
															(
															(((BgL_mz00_5588 & BgL_crcz00_5591) >>
																	(int) (
																		(BgL_lenz00_10 -
																			1L))) *
																BgL_arg1512z00_5585) ^ (BgL_crcz00_5591 <<
																(int) (1L)));
														BgL_crcz00_5591 = BgL_crcz00_6039;
														BgL_iz00_5590 = BgL_iz00_6037;
														goto BgL_loopz00_5589;
													}
											}
										}
									}
								}
							else
								{	/* Unsafe/crc.scm 111 */
									{	/* Unsafe/crc.scm 92 */
										long BgL_mz00_5592;

										BgL_mz00_5592 = (1L << (int) ((BgL_lenz00_10 - 1L)));
										{	/* Unsafe/crc.scm 94 */

											{
												long BgL_iz00_5594;
												long BgL_crcz00_5595;
												long BgL_shiftedzd2valuezd2_5596;

												BgL_iz00_5594 = 0L;
												BgL_crcz00_5595 = BgL_arg1511z00_5584;
												BgL_shiftedzd2valuezd2_5596 =
													(
													((unsigned char) (BgL_cz00_7)) <<
													(int) (BgL_lenz00_10));
											BgL_loopz00_5593:
												if ((BgL_iz00_5594 == 8L))
													{	/* Unsafe/crc.scm 98 */
														BgL_arg1510z00_5583 = BgL_crcz00_5595;
													}
												else
													{	/* Unsafe/crc.scm 100 */
														long BgL_crc2z00_5597;

														BgL_crc2z00_5597 =
															(BgL_crcz00_5595 ^
															(BgL_mz00_5592 &
																(BgL_shiftedzd2valuezd2_5596 >> (int) (8L))));
														{	/* Unsafe/crc.scm 104 */

															{
																long BgL_shiftedzd2valuezd2_6074;
																long BgL_crcz00_6065;
																long BgL_iz00_6063;

																BgL_iz00_6063 = (BgL_iz00_5594 + 1L);
																BgL_crcz00_6065 =
																	(
																	(((BgL_mz00_5592 & BgL_crc2z00_5597) >>
																			(int) (
																				(BgL_lenz00_10 -
																					1L))) *
																		BgL_arg1512z00_5585) ^ (BgL_crc2z00_5597 <<
																		(int) (1L)));
																BgL_shiftedzd2valuezd2_6074 =
																	(BgL_shiftedzd2valuezd2_5596 << (int) (1L));
																BgL_shiftedzd2valuezd2_5596 =
																	BgL_shiftedzd2valuezd2_6074;
																BgL_crcz00_5595 = BgL_crcz00_6065;
																BgL_iz00_5594 = BgL_iz00_6063;
																goto BgL_loopz00_5593;
															}
														}
													}
											}
										}
									}
								}
						}
					}
					return (long) (BgL_arg1510z00_5583);
		}}

	}



/* &crc-elong */
	obj_t BGl_z62crczd2elongzb0zz__crcz00(obj_t BgL_envz00_5284,
		obj_t BgL_cz00_5285, obj_t BgL_crcz00_5286, obj_t BgL_polyz00_5287,
		obj_t BgL_lenz00_5288)
	{
		{	/* Unsafe/crc.scm 120 */
			{	/* Unsafe/crc.scm 121 */
				long BgL_tmpz00_6082;

				{	/* Unsafe/crc.scm 121 */
					long BgL_auxz00_6110;
					long BgL_auxz00_6101;
					long BgL_auxz00_6092;
					unsigned char BgL_auxz00_6083;

					{	/* Unsafe/crc.scm 121 */
						obj_t BgL_tmpz00_6111;

						if (INTEGERP(BgL_lenz00_5288))
							{	/* Unsafe/crc.scm 121 */
								BgL_tmpz00_6111 = BgL_lenz00_5288;
							}
						else
							{
								obj_t BgL_auxz00_6114;

								BgL_auxz00_6114 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(4747L), BGl_string2432z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_lenz00_5288);
								FAILURE(BgL_auxz00_6114, BFALSE, BFALSE);
							}
						BgL_auxz00_6110 = (long) CINT(BgL_tmpz00_6111);
					}
					{	/* Unsafe/crc.scm 121 */
						obj_t BgL_tmpz00_6102;

						if (ELONGP(BgL_polyz00_5287))
							{	/* Unsafe/crc.scm 121 */
								BgL_tmpz00_6102 = BgL_polyz00_5287;
							}
						else
							{
								obj_t BgL_auxz00_6105;

								BgL_auxz00_6105 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(4747L), BGl_string2432z00zz__crcz00,
									BGl_string2433z00zz__crcz00, BgL_polyz00_5287);
								FAILURE(BgL_auxz00_6105, BFALSE, BFALSE);
							}
						BgL_auxz00_6101 = BELONG_TO_LONG(BgL_tmpz00_6102);
					}
					{	/* Unsafe/crc.scm 121 */
						obj_t BgL_tmpz00_6093;

						if (ELONGP(BgL_crcz00_5286))
							{	/* Unsafe/crc.scm 121 */
								BgL_tmpz00_6093 = BgL_crcz00_5286;
							}
						else
							{
								obj_t BgL_auxz00_6096;

								BgL_auxz00_6096 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(4747L), BGl_string2432z00zz__crcz00,
									BGl_string2433z00zz__crcz00, BgL_crcz00_5286);
								FAILURE(BgL_auxz00_6096, BFALSE, BFALSE);
							}
						BgL_auxz00_6092 = BELONG_TO_LONG(BgL_tmpz00_6093);
					}
					{	/* Unsafe/crc.scm 121 */
						obj_t BgL_tmpz00_6084;

						if (CHARP(BgL_cz00_5285))
							{	/* Unsafe/crc.scm 121 */
								BgL_tmpz00_6084 = BgL_cz00_5285;
							}
						else
							{
								obj_t BgL_auxz00_6087;

								BgL_auxz00_6087 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(4747L), BGl_string2432z00zz__crcz00,
									BGl_string2430z00zz__crcz00, BgL_cz00_5285);
								FAILURE(BgL_auxz00_6087, BFALSE, BFALSE);
							}
						BgL_auxz00_6083 = CCHAR(BgL_tmpz00_6084);
					}
					BgL_tmpz00_6082 =
						BGl_crczd2elongzd2zz__crcz00(BgL_auxz00_6083, BgL_auxz00_6092,
						BgL_auxz00_6101, BgL_auxz00_6110);
				}
				return make_belong(BgL_tmpz00_6082);
			}
		}

	}



/* crc-llong */
	BGL_EXPORTED_DEF BGL_LONGLONG_T BGl_crczd2llongzd2zz__crcz00(unsigned char
		BgL_cz00_11, BGL_LONGLONG_T BgL_crcz00_12, BGL_LONGLONG_T BgL_polyz00_13,
		long BgL_lenz00_14)
	{
		{	/* Unsafe/crc.scm 140 */
			if ((BgL_lenz00_14 >= 8L))
				{	/* Unsafe/crc.scm 142 */
					long BgL_octetz00_5598;

					BgL_octetz00_5598 = ((unsigned char) (BgL_cz00_11));
					{	/* Unsafe/crc.scm 143 */
						BGL_LONGLONG_T BgL_valuez00_5599;
						BGL_LONGLONG_T BgL_mz00_5600;

						{	/* Unsafe/crc.scm 143 */
							BGL_LONGLONG_T BgL_arg1524z00_5601;
							long BgL_arg1525z00_5602;

							BgL_arg1524z00_5601 = LONG_TO_LLONG(BgL_octetz00_5598);
							BgL_arg1525z00_5602 = (BgL_lenz00_14 - 8L);
							BgL_valuez00_5599 =
								(BgL_arg1524z00_5601 << (int) (BgL_arg1525z00_5602));
						}
						BgL_mz00_5600 =
							(((BGL_LONGLONG_T) 1) << (int) ((BgL_lenz00_14 - 1L)));
						{
							long BgL_iz00_5604;
							BGL_LONGLONG_T BgL_crcz00_5605;

							BgL_iz00_5604 = 0L;
							BgL_crcz00_5605 = (BgL_crcz00_12 ^ BgL_valuez00_5599);
						BgL_loopz00_5603:
							if ((BgL_iz00_5604 == 8L))
								{	/* Unsafe/crc.scm 147 */
									return BgL_crcz00_5605;
								}
							else
								{	/* Unsafe/crc.scm 149 */
									BGL_LONGLONG_T BgL_newzd2crczd2_5606;

									BgL_newzd2crczd2_5606 = (BgL_crcz00_5605 << (int) (1L));
									if (
										(((BGL_LONGLONG_T) 0) == (BgL_mz00_5600 & BgL_crcz00_5605)))
										{
											BGL_LONGLONG_T BgL_crcz00_6141;
											long BgL_iz00_6139;

											BgL_iz00_6139 = (BgL_iz00_5604 + 1L);
											BgL_crcz00_6141 = BgL_newzd2crczd2_5606;
											BgL_crcz00_5605 = BgL_crcz00_6141;
											BgL_iz00_5604 = BgL_iz00_6139;
											goto BgL_loopz00_5603;
										}
									else
										{
											BGL_LONGLONG_T BgL_crcz00_6144;
											long BgL_iz00_6142;

											BgL_iz00_6142 = (BgL_iz00_5604 + 1L);
											BgL_crcz00_6144 =
												(BgL_newzd2crczd2_5606 ^ BgL_polyz00_13);
											BgL_crcz00_5605 = BgL_crcz00_6144;
											BgL_iz00_5604 = BgL_iz00_6142;
											goto BgL_loopz00_5603;
										}
								}
						}
					}
				}
			else
				{	/* Unsafe/crc.scm 153 */
					long BgL_arg1527z00_5607;

					{	/* Unsafe/crc.scm 153 */
						long BgL_arg1528z00_5608;
						long BgL_arg1532z00_5609;

						BgL_arg1528z00_5608 = LLONG_TO_LONG(BgL_crcz00_12);
						BgL_arg1532z00_5609 = LLONG_TO_LONG(BgL_polyz00_13);
						{

							if ((BgL_lenz00_14 >= 8L))
								{	/* Unsafe/crc.scm 111 */
									{	/* Unsafe/crc.scm 76 */
										long BgL_mz00_5612;

										BgL_mz00_5612 = (1L << (int) ((BgL_lenz00_14 - 1L)));
										{	/* Unsafe/crc.scm 77 */

											{
												long BgL_iz00_5614;
												long BgL_crcz00_5615;

												BgL_iz00_5614 = 0L;
												BgL_crcz00_5615 =
													(BgL_arg1528z00_5608 ^
													(((unsigned char) (BgL_cz00_11)) <<
														(int) ((BgL_lenz00_14 - 8L))));
											BgL_loopz00_5613:
												if ((BgL_iz00_5614 == 8L))
													{	/* Unsafe/crc.scm 80 */
														BgL_arg1527z00_5607 = BgL_crcz00_5615;
													}
												else
													{
														long BgL_crcz00_6158;
														long BgL_iz00_6156;

														BgL_iz00_6156 = (BgL_iz00_5614 + 1L);
														BgL_crcz00_6158 =
															(
															(((BgL_mz00_5612 & BgL_crcz00_5615) >>
																	(int) (
																		(BgL_lenz00_14 -
																			1L))) *
																BgL_arg1532z00_5609) ^ (BgL_crcz00_5615 <<
																(int) (1L)));
														BgL_crcz00_5615 = BgL_crcz00_6158;
														BgL_iz00_5614 = BgL_iz00_6156;
														goto BgL_loopz00_5613;
													}
											}
										}
									}
								}
							else
								{	/* Unsafe/crc.scm 111 */
									{	/* Unsafe/crc.scm 92 */
										long BgL_mz00_5616;

										BgL_mz00_5616 = (1L << (int) ((BgL_lenz00_14 - 1L)));
										{	/* Unsafe/crc.scm 94 */

											{
												long BgL_iz00_5618;
												long BgL_crcz00_5619;
												long BgL_shiftedzd2valuezd2_5620;

												BgL_iz00_5618 = 0L;
												BgL_crcz00_5619 = BgL_arg1528z00_5608;
												BgL_shiftedzd2valuezd2_5620 =
													(
													((unsigned char) (BgL_cz00_11)) <<
													(int) (BgL_lenz00_14));
											BgL_loopz00_5617:
												if ((BgL_iz00_5618 == 8L))
													{	/* Unsafe/crc.scm 98 */
														BgL_arg1527z00_5607 = BgL_crcz00_5619;
													}
												else
													{	/* Unsafe/crc.scm 100 */
														long BgL_crc2z00_5621;

														BgL_crc2z00_5621 =
															(BgL_crcz00_5619 ^
															(BgL_mz00_5616 &
																(BgL_shiftedzd2valuezd2_5620 >> (int) (8L))));
														{	/* Unsafe/crc.scm 104 */

															{
																long BgL_shiftedzd2valuezd2_6193;
																long BgL_crcz00_6184;
																long BgL_iz00_6182;

																BgL_iz00_6182 = (BgL_iz00_5618 + 1L);
																BgL_crcz00_6184 =
																	(
																	(((BgL_mz00_5616 & BgL_crc2z00_5621) >>
																			(int) (
																				(BgL_lenz00_14 -
																					1L))) *
																		BgL_arg1532z00_5609) ^ (BgL_crc2z00_5621 <<
																		(int) (1L)));
																BgL_shiftedzd2valuezd2_6193 =
																	(BgL_shiftedzd2valuezd2_5620 << (int) (1L));
																BgL_shiftedzd2valuezd2_5620 =
																	BgL_shiftedzd2valuezd2_6193;
																BgL_crcz00_5619 = BgL_crcz00_6184;
																BgL_iz00_5618 = BgL_iz00_6182;
																goto BgL_loopz00_5617;
															}
														}
													}
											}
										}
									}
								}
						}
					}
					return LONG_TO_LLONG(BgL_arg1527z00_5607);
				}
		}

	}



/* &crc-llong */
	obj_t BGl_z62crczd2llongzb0zz__crcz00(obj_t BgL_envz00_5289,
		obj_t BgL_cz00_5290, obj_t BgL_crcz00_5291, obj_t BgL_polyz00_5292,
		obj_t BgL_lenz00_5293)
	{
		{	/* Unsafe/crc.scm 140 */
			{	/* Unsafe/crc.scm 141 */
				BGL_LONGLONG_T BgL_tmpz00_6201;

				{	/* Unsafe/crc.scm 141 */
					long BgL_auxz00_6229;
					BGL_LONGLONG_T BgL_auxz00_6220;
					BGL_LONGLONG_T BgL_auxz00_6211;
					unsigned char BgL_auxz00_6202;

					{	/* Unsafe/crc.scm 141 */
						obj_t BgL_tmpz00_6230;

						if (INTEGERP(BgL_lenz00_5293))
							{	/* Unsafe/crc.scm 141 */
								BgL_tmpz00_6230 = BgL_lenz00_5293;
							}
						else
							{
								obj_t BgL_auxz00_6233;

								BgL_auxz00_6233 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(5724L), BGl_string2434z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_lenz00_5293);
								FAILURE(BgL_auxz00_6233, BFALSE, BFALSE);
							}
						BgL_auxz00_6229 = (long) CINT(BgL_tmpz00_6230);
					}
					{	/* Unsafe/crc.scm 141 */
						obj_t BgL_tmpz00_6221;

						if (LLONGP(BgL_polyz00_5292))
							{	/* Unsafe/crc.scm 141 */
								BgL_tmpz00_6221 = BgL_polyz00_5292;
							}
						else
							{
								obj_t BgL_auxz00_6224;

								BgL_auxz00_6224 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(5724L), BGl_string2434z00zz__crcz00,
									BGl_string2435z00zz__crcz00, BgL_polyz00_5292);
								FAILURE(BgL_auxz00_6224, BFALSE, BFALSE);
							}
						BgL_auxz00_6220 = BLLONG_TO_LLONG(BgL_tmpz00_6221);
					}
					{	/* Unsafe/crc.scm 141 */
						obj_t BgL_tmpz00_6212;

						if (LLONGP(BgL_crcz00_5291))
							{	/* Unsafe/crc.scm 141 */
								BgL_tmpz00_6212 = BgL_crcz00_5291;
							}
						else
							{
								obj_t BgL_auxz00_6215;

								BgL_auxz00_6215 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(5724L), BGl_string2434z00zz__crcz00,
									BGl_string2435z00zz__crcz00, BgL_crcz00_5291);
								FAILURE(BgL_auxz00_6215, BFALSE, BFALSE);
							}
						BgL_auxz00_6211 = BLLONG_TO_LLONG(BgL_tmpz00_6212);
					}
					{	/* Unsafe/crc.scm 141 */
						obj_t BgL_tmpz00_6203;

						if (CHARP(BgL_cz00_5290))
							{	/* Unsafe/crc.scm 141 */
								BgL_tmpz00_6203 = BgL_cz00_5290;
							}
						else
							{
								obj_t BgL_auxz00_6206;

								BgL_auxz00_6206 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(5724L), BGl_string2434z00zz__crcz00,
									BGl_string2430z00zz__crcz00, BgL_cz00_5290);
								FAILURE(BgL_auxz00_6206, BFALSE, BFALSE);
							}
						BgL_auxz00_6202 = CCHAR(BgL_tmpz00_6203);
					}
					BgL_tmpz00_6201 =
						BGl_crczd2llongzd2zz__crcz00(BgL_auxz00_6202, BgL_auxz00_6211,
						BgL_auxz00_6220, BgL_auxz00_6229);
				}
				return make_bllong(BgL_tmpz00_6201);
			}
		}

	}



/* crc-long-le */
	BGL_EXPORTED_DEF long BGl_crczd2longzd2lez00zz__crcz00(unsigned char
		BgL_cz00_15, long BgL_crcz00_16, long BgL_polyz00_17, long BgL_lenz00_18)
	{
		{	/* Unsafe/crc.scm 160 */
			{
				long BgL_iz00_5623;
				long BgL_crcz00_5624;

				BgL_iz00_5623 = 0L;
				BgL_crcz00_5624 = (BgL_crcz00_16 ^ ((unsigned char) (BgL_cz00_15)));
			BgL_loopz00_5622:
				if ((BgL_iz00_5623 == 8L))
					{	/* Unsafe/crc.scm 164 */
						return BgL_crcz00_5624;
					}
				else
					{
						long BgL_crcz00_6244;
						long BgL_iz00_6242;

						BgL_iz00_6242 = (BgL_iz00_5623 + 1L);
						BgL_crcz00_6244 =
							(
							((1L & BgL_crcz00_5624) * BgL_polyz00_17) ^
							(long) (((unsigned long) (BgL_crcz00_5624) >> (int) (1L))));
						BgL_crcz00_5624 = BgL_crcz00_6244;
						BgL_iz00_5623 = BgL_iz00_6242;
						goto BgL_loopz00_5622;
					}
			}
		}

	}



/* &crc-long-le */
	obj_t BGl_z62crczd2longzd2lez62zz__crcz00(obj_t BgL_envz00_5294,
		obj_t BgL_cz00_5295, obj_t BgL_crcz00_5296, obj_t BgL_polyz00_5297,
		obj_t BgL_lenz00_5298)
	{
		{	/* Unsafe/crc.scm 160 */
			{	/* Unsafe/crc.scm 161 */
				long BgL_tmpz00_6255;

				{	/* Unsafe/crc.scm 161 */
					long BgL_auxz00_6283;
					long BgL_auxz00_6274;
					long BgL_auxz00_6265;
					unsigned char BgL_auxz00_6256;

					{	/* Unsafe/crc.scm 161 */
						obj_t BgL_tmpz00_6284;

						if (INTEGERP(BgL_lenz00_5298))
							{	/* Unsafe/crc.scm 161 */
								BgL_tmpz00_6284 = BgL_lenz00_5298;
							}
						else
							{
								obj_t BgL_auxz00_6287;

								BgL_auxz00_6287 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(6700L), BGl_string2436z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_lenz00_5298);
								FAILURE(BgL_auxz00_6287, BFALSE, BFALSE);
							}
						BgL_auxz00_6283 = (long) CINT(BgL_tmpz00_6284);
					}
					{	/* Unsafe/crc.scm 161 */
						obj_t BgL_tmpz00_6275;

						if (INTEGERP(BgL_polyz00_5297))
							{	/* Unsafe/crc.scm 161 */
								BgL_tmpz00_6275 = BgL_polyz00_5297;
							}
						else
							{
								obj_t BgL_auxz00_6278;

								BgL_auxz00_6278 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(6700L), BGl_string2436z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_polyz00_5297);
								FAILURE(BgL_auxz00_6278, BFALSE, BFALSE);
							}
						BgL_auxz00_6274 = (long) CINT(BgL_tmpz00_6275);
					}
					{	/* Unsafe/crc.scm 161 */
						obj_t BgL_tmpz00_6266;

						if (INTEGERP(BgL_crcz00_5296))
							{	/* Unsafe/crc.scm 161 */
								BgL_tmpz00_6266 = BgL_crcz00_5296;
							}
						else
							{
								obj_t BgL_auxz00_6269;

								BgL_auxz00_6269 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(6700L), BGl_string2436z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_crcz00_5296);
								FAILURE(BgL_auxz00_6269, BFALSE, BFALSE);
							}
						BgL_auxz00_6265 = (long) CINT(BgL_tmpz00_6266);
					}
					{	/* Unsafe/crc.scm 161 */
						obj_t BgL_tmpz00_6257;

						if (CHARP(BgL_cz00_5295))
							{	/* Unsafe/crc.scm 161 */
								BgL_tmpz00_6257 = BgL_cz00_5295;
							}
						else
							{
								obj_t BgL_auxz00_6260;

								BgL_auxz00_6260 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(6700L), BGl_string2436z00zz__crcz00,
									BGl_string2430z00zz__crcz00, BgL_cz00_5295);
								FAILURE(BgL_auxz00_6260, BFALSE, BFALSE);
							}
						BgL_auxz00_6256 = CCHAR(BgL_tmpz00_6257);
					}
					BgL_tmpz00_6255 =
						BGl_crczd2longzd2lez00zz__crcz00(BgL_auxz00_6256, BgL_auxz00_6265,
						BgL_auxz00_6274, BgL_auxz00_6283);
				}
				return BINT(BgL_tmpz00_6255);
			}
		}

	}



/* crc-elong-le */
	BGL_EXPORTED_DEF long BGl_crczd2elongzd2lez00zz__crcz00(unsigned char
		BgL_cz00_19, long BgL_crcz00_20, long BgL_polyz00_21, long BgL_lenz00_22)
	{
		{	/* Unsafe/crc.scm 174 */
			{	/* Unsafe/crc.scm 175 */
				long BgL_octetz00_5625;

				BgL_octetz00_5625 = ((unsigned char) (BgL_cz00_19));
				{	/* Unsafe/crc.scm 176 */
					long BgL_g1043z00_5626;

					{	/* Unsafe/crc.scm 177 */
						long BgL_arg1551z00_5627;

						BgL_arg1551z00_5627 = (long) (BgL_octetz00_5625);
						BgL_g1043z00_5626 = (BgL_crcz00_20 ^ BgL_arg1551z00_5627);
					}
					{
						long BgL_iz00_5629;
						long BgL_crcz00_5630;

						BgL_iz00_5629 = 0L;
						BgL_crcz00_5630 = BgL_g1043z00_5626;
					BgL_loopz00_5628:
						if ((BgL_iz00_5629 == 8L))
							{	/* Unsafe/crc.scm 178 */
								return BgL_crcz00_5630;
							}
						else
							{	/* Unsafe/crc.scm 180 */
								long BgL_newzd2crczd2_5631;

								{	/* Unsafe/crc.scm 180 */
									unsigned long BgL_xz00_5632;

									BgL_xz00_5632 = (unsigned long) (BgL_crcz00_5630);
									{	/* Unsafe/crc.scm 180 */
										unsigned long BgL_tmpz00_6301;

										BgL_tmpz00_6301 = (BgL_xz00_5632 >> (int) (1L));
										BgL_newzd2crczd2_5631 = (long) (BgL_tmpz00_6301);
								}}
								{
									long BgL_crcz00_6307;
									long BgL_iz00_6305;

									BgL_iz00_6305 = (BgL_iz00_5629 + 1L);
									BgL_crcz00_6307 =
										(
										((((long) 1) & BgL_crcz00_5630) *
											BgL_polyz00_21) ^ BgL_newzd2crczd2_5631);
									BgL_crcz00_5630 = BgL_crcz00_6307;
									BgL_iz00_5629 = BgL_iz00_6305;
									goto BgL_loopz00_5628;
								}
							}
					}
				}
			}
		}

	}



/* &crc-elong-le */
	obj_t BGl_z62crczd2elongzd2lez62zz__crcz00(obj_t BgL_envz00_5299,
		obj_t BgL_cz00_5300, obj_t BgL_crcz00_5301, obj_t BgL_polyz00_5302,
		obj_t BgL_lenz00_5303)
	{
		{	/* Unsafe/crc.scm 174 */
			{	/* Unsafe/crc.scm 175 */
				long BgL_tmpz00_6311;

				{	/* Unsafe/crc.scm 175 */
					long BgL_auxz00_6339;
					long BgL_auxz00_6330;
					long BgL_auxz00_6321;
					unsigned char BgL_auxz00_6312;

					{	/* Unsafe/crc.scm 175 */
						obj_t BgL_tmpz00_6340;

						if (INTEGERP(BgL_lenz00_5303))
							{	/* Unsafe/crc.scm 175 */
								BgL_tmpz00_6340 = BgL_lenz00_5303;
							}
						else
							{
								obj_t BgL_auxz00_6343;

								BgL_auxz00_6343 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7255L), BGl_string2437z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_lenz00_5303);
								FAILURE(BgL_auxz00_6343, BFALSE, BFALSE);
							}
						BgL_auxz00_6339 = (long) CINT(BgL_tmpz00_6340);
					}
					{	/* Unsafe/crc.scm 175 */
						obj_t BgL_tmpz00_6331;

						if (ELONGP(BgL_polyz00_5302))
							{	/* Unsafe/crc.scm 175 */
								BgL_tmpz00_6331 = BgL_polyz00_5302;
							}
						else
							{
								obj_t BgL_auxz00_6334;

								BgL_auxz00_6334 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7255L), BGl_string2437z00zz__crcz00,
									BGl_string2433z00zz__crcz00, BgL_polyz00_5302);
								FAILURE(BgL_auxz00_6334, BFALSE, BFALSE);
							}
						BgL_auxz00_6330 = BELONG_TO_LONG(BgL_tmpz00_6331);
					}
					{	/* Unsafe/crc.scm 175 */
						obj_t BgL_tmpz00_6322;

						if (ELONGP(BgL_crcz00_5301))
							{	/* Unsafe/crc.scm 175 */
								BgL_tmpz00_6322 = BgL_crcz00_5301;
							}
						else
							{
								obj_t BgL_auxz00_6325;

								BgL_auxz00_6325 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7255L), BGl_string2437z00zz__crcz00,
									BGl_string2433z00zz__crcz00, BgL_crcz00_5301);
								FAILURE(BgL_auxz00_6325, BFALSE, BFALSE);
							}
						BgL_auxz00_6321 = BELONG_TO_LONG(BgL_tmpz00_6322);
					}
					{	/* Unsafe/crc.scm 175 */
						obj_t BgL_tmpz00_6313;

						if (CHARP(BgL_cz00_5300))
							{	/* Unsafe/crc.scm 175 */
								BgL_tmpz00_6313 = BgL_cz00_5300;
							}
						else
							{
								obj_t BgL_auxz00_6316;

								BgL_auxz00_6316 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7255L), BGl_string2437z00zz__crcz00,
									BGl_string2430z00zz__crcz00, BgL_cz00_5300);
								FAILURE(BgL_auxz00_6316, BFALSE, BFALSE);
							}
						BgL_auxz00_6312 = CCHAR(BgL_tmpz00_6313);
					}
					BgL_tmpz00_6311 =
						BGl_crczd2elongzd2lez00zz__crcz00(BgL_auxz00_6312, BgL_auxz00_6321,
						BgL_auxz00_6330, BgL_auxz00_6339);
				}
				return make_belong(BgL_tmpz00_6311);
			}
		}

	}



/* crc-llong-le */
	BGL_EXPORTED_DEF BGL_LONGLONG_T BGl_crczd2llongzd2lez00zz__crcz00(unsigned
		char BgL_cz00_23, BGL_LONGLONG_T BgL_crcz00_24,
		BGL_LONGLONG_T BgL_polyz00_25, long BgL_lenz00_26)
	{
		{	/* Unsafe/crc.scm 188 */
			{	/* Unsafe/crc.scm 189 */
				long BgL_octetz00_5633;

				BgL_octetz00_5633 = ((unsigned char) (BgL_cz00_23));
				{	/* Unsafe/crc.scm 190 */
					BGL_LONGLONG_T BgL_g1044z00_5634;

					{	/* Unsafe/crc.scm 191 */
						BGL_LONGLONG_T BgL_arg1561z00_5635;

						BgL_arg1561z00_5635 = LONG_TO_LLONG(BgL_octetz00_5633);
						BgL_g1044z00_5634 = (BgL_crcz00_24 ^ BgL_arg1561z00_5635);
					}
					{
						long BgL_iz00_5637;
						BGL_LONGLONG_T BgL_crcz00_5638;

						BgL_iz00_5637 = 0L;
						BgL_crcz00_5638 = BgL_g1044z00_5634;
					BgL_loopz00_5636:
						if ((BgL_iz00_5637 == 8L))
							{	/* Unsafe/crc.scm 192 */
								return BgL_crcz00_5638;
							}
						else
							{	/* Unsafe/crc.scm 194 */
								BGL_LONGLONG_T BgL_newzd2crczd2_5639;

								{	/* Unsafe/crc.scm 194 */
									unsigned BGL_LONGLONG_T BgL_xz00_5640;

									BgL_xz00_5640 = (unsigned BGL_LONGLONG_T) (BgL_crcz00_5638);
									{	/* Unsafe/crc.scm 194 */
										unsigned BGL_LONGLONG_T BgL_tmpz00_6357;

										BgL_tmpz00_6357 = (BgL_xz00_5640 >> (int) (1L));
										BgL_newzd2crczd2_5639 = (BGL_LONGLONG_T) (BgL_tmpz00_6357);
								}}
								{
									BGL_LONGLONG_T BgL_crcz00_6363;
									long BgL_iz00_6361;

									BgL_iz00_6361 = (BgL_iz00_5637 + 1L);
									BgL_crcz00_6363 =
										(
										((((BGL_LONGLONG_T) 1) & BgL_crcz00_5638) *
											BgL_polyz00_25) ^ BgL_newzd2crczd2_5639);
									BgL_crcz00_5638 = BgL_crcz00_6363;
									BgL_iz00_5637 = BgL_iz00_6361;
									goto BgL_loopz00_5636;
								}
							}
					}
				}
			}
		}

	}



/* &crc-llong-le */
	obj_t BGl_z62crczd2llongzd2lez62zz__crcz00(obj_t BgL_envz00_5304,
		obj_t BgL_cz00_5305, obj_t BgL_crcz00_5306, obj_t BgL_polyz00_5307,
		obj_t BgL_lenz00_5308)
	{
		{	/* Unsafe/crc.scm 188 */
			{	/* Unsafe/crc.scm 189 */
				BGL_LONGLONG_T BgL_tmpz00_6367;

				{	/* Unsafe/crc.scm 189 */
					long BgL_auxz00_6395;
					BGL_LONGLONG_T BgL_auxz00_6386;
					BGL_LONGLONG_T BgL_auxz00_6377;
					unsigned char BgL_auxz00_6368;

					{	/* Unsafe/crc.scm 189 */
						obj_t BgL_tmpz00_6396;

						if (INTEGERP(BgL_lenz00_5308))
							{	/* Unsafe/crc.scm 189 */
								BgL_tmpz00_6396 = BgL_lenz00_5308;
							}
						else
							{
								obj_t BgL_auxz00_6399;

								BgL_auxz00_6399 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7851L), BGl_string2438z00zz__crcz00,
									BGl_string2431z00zz__crcz00, BgL_lenz00_5308);
								FAILURE(BgL_auxz00_6399, BFALSE, BFALSE);
							}
						BgL_auxz00_6395 = (long) CINT(BgL_tmpz00_6396);
					}
					{	/* Unsafe/crc.scm 189 */
						obj_t BgL_tmpz00_6387;

						if (LLONGP(BgL_polyz00_5307))
							{	/* Unsafe/crc.scm 189 */
								BgL_tmpz00_6387 = BgL_polyz00_5307;
							}
						else
							{
								obj_t BgL_auxz00_6390;

								BgL_auxz00_6390 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7851L), BGl_string2438z00zz__crcz00,
									BGl_string2435z00zz__crcz00, BgL_polyz00_5307);
								FAILURE(BgL_auxz00_6390, BFALSE, BFALSE);
							}
						BgL_auxz00_6386 = BLLONG_TO_LLONG(BgL_tmpz00_6387);
					}
					{	/* Unsafe/crc.scm 189 */
						obj_t BgL_tmpz00_6378;

						if (LLONGP(BgL_crcz00_5306))
							{	/* Unsafe/crc.scm 189 */
								BgL_tmpz00_6378 = BgL_crcz00_5306;
							}
						else
							{
								obj_t BgL_auxz00_6381;

								BgL_auxz00_6381 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7851L), BGl_string2438z00zz__crcz00,
									BGl_string2435z00zz__crcz00, BgL_crcz00_5306);
								FAILURE(BgL_auxz00_6381, BFALSE, BFALSE);
							}
						BgL_auxz00_6377 = BLLONG_TO_LLONG(BgL_tmpz00_6378);
					}
					{	/* Unsafe/crc.scm 189 */
						obj_t BgL_tmpz00_6369;

						if (CHARP(BgL_cz00_5305))
							{	/* Unsafe/crc.scm 189 */
								BgL_tmpz00_6369 = BgL_cz00_5305;
							}
						else
							{
								obj_t BgL_auxz00_6372;

								BgL_auxz00_6372 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(7851L), BGl_string2438z00zz__crcz00,
									BGl_string2430z00zz__crcz00, BgL_cz00_5305);
								FAILURE(BgL_auxz00_6372, BFALSE, BFALSE);
							}
						BgL_auxz00_6368 = CCHAR(BgL_tmpz00_6369);
					}
					BgL_tmpz00_6367 =
						BGl_crczd2llongzd2lez00zz__crcz00(BgL_auxz00_6368, BgL_auxz00_6377,
						BgL_auxz00_6386, BgL_auxz00_6395);
				}
				return make_bllong(BgL_tmpz00_6367);
			}
		}

	}



/* crc-polynomial-be->le */
	BGL_EXPORTED_DEF obj_t BGl_crczd2polynomialzd2bezd2ze3lez31zz__crcz00(obj_t
		BgL_lenz00_27, obj_t BgL_polyz00_28)
	{
		{	/* Unsafe/crc.scm 202 */
			{	/* Unsafe/crc.scm 203 */
				obj_t BgL_typez00_1680;

				if (INTEGERP(BgL_polyz00_28))
					{	/* Unsafe/crc.scm 205 */
						BgL_typez00_1680 = BGl_symbol2439z00zz__crcz00;
					}
				else
					{	/* Unsafe/crc.scm 205 */
						if (ELONGP(BgL_polyz00_28))
							{	/* Unsafe/crc.scm 206 */
								BgL_typez00_1680 = BGl_symbol2441z00zz__crcz00;
							}
						else
							{	/* Unsafe/crc.scm 206 */
								if (LLONGP(BgL_polyz00_28))
									{	/* Unsafe/crc.scm 207 */
										BgL_typez00_1680 = BGl_symbol2443z00zz__crcz00;
									}
								else
									{	/* Unsafe/crc.scm 207 */
										BgL_typez00_1680 =
											BGl_errorz00zz__errorz00(BGl_symbol2445z00zz__crcz00,
											BGl_string2447z00zz__crcz00, BgL_polyz00_28);
									}
							}
					}
				{	/* Unsafe/crc.scm 203 */
					obj_t BgL_onez00_1681;

					if ((BgL_typez00_1680 == BGl_symbol2439z00zz__crcz00))
						{	/* Unsafe/crc.scm 210 */
							BgL_onez00_1681 = BINT(1L);
						}
					else
						{	/* Unsafe/crc.scm 210 */
							if ((BgL_typez00_1680 == BGl_symbol2441z00zz__crcz00))
								{	/* Unsafe/crc.scm 210 */
									BgL_onez00_1681 = BGl_elong2448z00zz__crcz00;
								}
							else
								{	/* Unsafe/crc.scm 210 */
									if ((BgL_typez00_1680 == BGl_symbol2443z00zz__crcz00))
										{	/* Unsafe/crc.scm 210 */
											BgL_onez00_1681 = BGl_llong2449z00zz__crcz00;
										}
									else
										{	/* Unsafe/crc.scm 210 */
											BgL_onez00_1681 = BUNSPEC;
										}
								}
						}
					{	/* Unsafe/crc.scm 210 */
						obj_t BgL_za7eroza7_1682;

						if ((BgL_typez00_1680 == BGl_symbol2439z00zz__crcz00))
							{	/* Unsafe/crc.scm 211 */
								BgL_za7eroza7_1682 = BINT(0L);
							}
						else
							{	/* Unsafe/crc.scm 211 */
								if ((BgL_typez00_1680 == BGl_symbol2441z00zz__crcz00))
									{	/* Unsafe/crc.scm 211 */
										BgL_za7eroza7_1682 = BGl_elong2450z00zz__crcz00;
									}
								else
									{	/* Unsafe/crc.scm 211 */
										if ((BgL_typez00_1680 == BGl_symbol2443z00zz__crcz00))
											{	/* Unsafe/crc.scm 211 */
												BgL_za7eroza7_1682 = BGl_llong2451z00zz__crcz00;
											}
										else
											{	/* Unsafe/crc.scm 211 */
												BgL_za7eroza7_1682 = BUNSPEC;
											}
									}
							}
						{	/* Unsafe/crc.scm 211 */
							obj_t BgL_lshz00_1683;

							if ((BgL_typez00_1680 == BGl_symbol2439z00zz__crcz00))
								{	/* Unsafe/crc.scm 212 */
									BgL_lshz00_1683 = BGl_bitzd2lshzd2envz00zz__bitz00;
								}
							else
								{	/* Unsafe/crc.scm 212 */
									if ((BgL_typez00_1680 == BGl_symbol2441z00zz__crcz00))
										{	/* Unsafe/crc.scm 212 */
											BgL_lshz00_1683 = BGl_bitzd2lshelongzd2envz00zz__bitz00;
										}
									else
										{	/* Unsafe/crc.scm 212 */
											if ((BgL_typez00_1680 == BGl_symbol2443z00zz__crcz00))
												{	/* Unsafe/crc.scm 212 */
													BgL_lshz00_1683 =
														BGl_bitzd2lshllongzd2envz00zz__bitz00;
												}
											else
												{	/* Unsafe/crc.scm 212 */
													BgL_lshz00_1683 = BUNSPEC;
												}
										}
								}
							{	/* Unsafe/crc.scm 212 */
								obj_t BgL_rshz00_1684;

								if ((BgL_typez00_1680 == BGl_symbol2439z00zz__crcz00))
									{	/* Unsafe/crc.scm 215 */
										BgL_rshz00_1684 = BGl_bitzd2rshzd2envz00zz__bitz00;
									}
								else
									{	/* Unsafe/crc.scm 215 */
										if ((BgL_typez00_1680 == BGl_symbol2441z00zz__crcz00))
											{	/* Unsafe/crc.scm 215 */
												BgL_rshz00_1684 = BGl_bitzd2rshelongzd2envz00zz__bitz00;
											}
										else
											{	/* Unsafe/crc.scm 215 */
												if ((BgL_typez00_1680 == BGl_symbol2443z00zz__crcz00))
													{	/* Unsafe/crc.scm 215 */
														BgL_rshz00_1684 =
															BGl_bitzd2rshllongzd2envz00zz__bitz00;
													}
												else
													{	/* Unsafe/crc.scm 215 */
														BgL_rshz00_1684 = BUNSPEC;
													}
											}
									}
								{	/* Unsafe/crc.scm 215 */
									obj_t BgL_bzd2andzd2_1685;

									if ((BgL_typez00_1680 == BGl_symbol2439z00zz__crcz00))
										{	/* Unsafe/crc.scm 218 */
											BgL_bzd2andzd2_1685 = BGl_bitzd2andzd2envz00zz__bitz00;
										}
									else
										{	/* Unsafe/crc.scm 218 */
											if ((BgL_typez00_1680 == BGl_symbol2441z00zz__crcz00))
												{	/* Unsafe/crc.scm 218 */
													BgL_bzd2andzd2_1685 =
														BGl_bitzd2andelongzd2envz00zz__bitz00;
												}
											else
												{	/* Unsafe/crc.scm 218 */
													if ((BgL_typez00_1680 == BGl_symbol2443z00zz__crcz00))
														{	/* Unsafe/crc.scm 218 */
															BgL_bzd2andzd2_1685 =
																BGl_bitzd2andllongzd2envz00zz__bitz00;
														}
													else
														{	/* Unsafe/crc.scm 218 */
															BgL_bzd2andzd2_1685 = BUNSPEC;
														}
												}
										}
									{	/* Unsafe/crc.scm 218 */
										obj_t BgL_bzd2orzd2_1686;

										if ((BgL_typez00_1680 == BGl_symbol2439z00zz__crcz00))
											{	/* Unsafe/crc.scm 221 */
												BgL_bzd2orzd2_1686 = BGl_bitzd2orzd2envz00zz__bitz00;
											}
										else
											{	/* Unsafe/crc.scm 221 */
												if ((BgL_typez00_1680 == BGl_symbol2441z00zz__crcz00))
													{	/* Unsafe/crc.scm 221 */
														BgL_bzd2orzd2_1686 =
															BGl_bitzd2orelongzd2envz00zz__bitz00;
													}
												else
													{	/* Unsafe/crc.scm 221 */
														if (
															(BgL_typez00_1680 == BGl_symbol2443z00zz__crcz00))
															{	/* Unsafe/crc.scm 221 */
																BgL_bzd2orzd2_1686 =
																	BGl_bitzd2orllongzd2envz00zz__bitz00;
															}
														else
															{	/* Unsafe/crc.scm 221 */
																BgL_bzd2orzd2_1686 = BUNSPEC;
															}
													}
											}
										{	/* Unsafe/crc.scm 221 */

											{
												long BgL_iz00_3008;
												obj_t BgL_polyz00_3009;
												obj_t BgL_resz00_3010;

												BgL_iz00_3008 = 0L;
												BgL_polyz00_3009 = BgL_polyz00_28;
												BgL_resz00_3010 = BgL_za7eroza7_1682;
											BgL_loopz00_3007:
												if ((BgL_iz00_3008 >= (long) CINT(BgL_lenz00_27)))
													{	/* Unsafe/crc.scm 227 */
														return BgL_resz00_3010;
													}
												else
													{	/* Unsafe/crc.scm 229 */
														long BgL_arg1565z00_3018;
														obj_t BgL_arg1568z00_3019;
														obj_t BgL_arg1569z00_3020;

														BgL_arg1565z00_3018 = (BgL_iz00_3008 + 1L);
														BgL_arg1568z00_3019 =
															BGL_PROCEDURE_CALL2(BgL_rshz00_1684,
															BgL_polyz00_3009, BINT(1L));
														{	/* Unsafe/crc.scm 231 */
															obj_t BgL_arg1573z00_3021;
															obj_t BgL_arg1574z00_3022;

															BgL_arg1573z00_3021 =
																BGL_PROCEDURE_CALL2(BgL_lshz00_1683,
																BgL_resz00_3010, BINT(1L));
															BgL_arg1574z00_3022 =
																BGL_PROCEDURE_CALL2(BgL_bzd2andzd2_1685,
																BgL_onez00_1681, BgL_polyz00_3009);
															BgL_arg1569z00_3020 =
																BGL_PROCEDURE_CALL2(BgL_bzd2orzd2_1686,
																BgL_arg1573z00_3021, BgL_arg1574z00_3022);
														}
														{
															obj_t BgL_resz00_6479;
															obj_t BgL_polyz00_6478;
															long BgL_iz00_6477;

															BgL_iz00_6477 = BgL_arg1565z00_3018;
															BgL_polyz00_6478 = BgL_arg1568z00_3019;
															BgL_resz00_6479 = BgL_arg1569z00_3020;
															BgL_resz00_3010 = BgL_resz00_6479;
															BgL_polyz00_3009 = BgL_polyz00_6478;
															BgL_iz00_3008 = BgL_iz00_6477;
															goto BgL_loopz00_3007;
														}
													}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* &crc-polynomial-be->le */
	obj_t BGl_z62crczd2polynomialzd2bezd2ze3lez53zz__crcz00(obj_t BgL_envz00_5309,
		obj_t BgL_lenz00_5310, obj_t BgL_polyz00_5311)
	{
		{	/* Unsafe/crc.scm 202 */
			return
				BGl_crczd2polynomialzd2bezd2ze3lez31zz__crcz00(BgL_lenz00_5310,
				BgL_polyz00_5311);
		}

	}



/* register-crc! */
	BGL_EXPORTED_DEF obj_t BGl_registerzd2crcz12zc0zz__crcz00(obj_t
		BgL_namez00_29, obj_t BgL_polyz00_30, obj_t BgL_lenz00_31)
	{
		{	/* Unsafe/crc.scm 277 */
			{	/* Unsafe/crc.scm 279 */
				obj_t BgL_arg1598z00_3026;

				{	/* Unsafe/crc.scm 279 */
					obj_t BgL_arg1599z00_3027;

					BgL_arg1599z00_3027 =
						BGl_crczd2polynomialzd2bezd2ze3lez31zz__crcz00(BgL_polyz00_30,
						BgL_lenz00_31);
					{	/* Unsafe/crc.scm 279 */
						obj_t BgL_list1600z00_3028;

						{	/* Unsafe/crc.scm 279 */
							obj_t BgL_arg1602z00_3029;

							{	/* Unsafe/crc.scm 279 */
								obj_t BgL_arg1603z00_3030;

								{	/* Unsafe/crc.scm 279 */
									obj_t BgL_arg1604z00_3031;

									BgL_arg1604z00_3031 =
										MAKE_YOUNG_PAIR(BgL_arg1599z00_3027, BNIL);
									BgL_arg1603z00_3030 =
										MAKE_YOUNG_PAIR(BgL_polyz00_30, BgL_arg1604z00_3031);
								}
								BgL_arg1602z00_3029 =
									MAKE_YOUNG_PAIR(BgL_lenz00_31, BgL_arg1603z00_3030);
							}
							BgL_list1600z00_3028 =
								MAKE_YOUNG_PAIR(BgL_namez00_29, BgL_arg1602z00_3029);
						}
						BgL_arg1598z00_3026 = BgL_list1600z00_3028;
					}
				}
				return (BGl_za2crcsza2z00zz__crcz00 =
					MAKE_YOUNG_PAIR(BgL_arg1598z00_3026, BGl_za2crcsza2z00zz__crcz00),
					BUNSPEC);
			}
		}

	}



/* &register-crc! */
	obj_t BGl_z62registerzd2crcz12za2zz__crcz00(obj_t BgL_envz00_5348,
		obj_t BgL_namez00_5349, obj_t BgL_polyz00_5350, obj_t BgL_lenz00_5351)
	{
		{	/* Unsafe/crc.scm 277 */
			return
				BGl_registerzd2crcz12zc0zz__crcz00(BgL_namez00_5349, BgL_polyz00_5350,
				BgL_lenz00_5351);
		}

	}



/* crc-polynomial */
	BGL_EXPORTED_DEF obj_t BGl_crczd2polynomialzd2zz__crcz00(obj_t BgL_namez00_32)
	{
		{	/* Unsafe/crc.scm 284 */
			{	/* Unsafe/crc.scm 285 */
				obj_t BgL_tz00_3033;

				BgL_tz00_3033 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_namez00_32,
					BGl_za2crcsza2z00zz__crcz00);
				if (CBOOL(BgL_tz00_3033))
					{	/* Unsafe/crc.scm 286 */
						obj_t BgL_pairz00_3040;

						{	/* Unsafe/crc.scm 286 */
							obj_t BgL_pairz00_3039;

							BgL_pairz00_3039 = CDR(((obj_t) BgL_tz00_3033));
							BgL_pairz00_3040 = CDR(BgL_pairz00_3039);
						}
						return CAR(BgL_pairz00_3040);
					}
				else
					{	/* Unsafe/crc.scm 286 */
						return BFALSE;
					}
			}
		}

	}



/* &crc-polynomial */
	obj_t BGl_z62crczd2polynomialzb0zz__crcz00(obj_t BgL_envz00_5352,
		obj_t BgL_namez00_5353)
	{
		{	/* Unsafe/crc.scm 284 */
			return BGl_crczd2polynomialzd2zz__crcz00(BgL_namez00_5353);
		}

	}



/* crc-polynomial-le */
	BGL_EXPORTED_DEF obj_t BGl_crczd2polynomialzd2lez00zz__crcz00(obj_t
		BgL_namez00_33)
	{
		{	/* Unsafe/crc.scm 291 */
			{	/* Unsafe/crc.scm 292 */
				obj_t BgL_tz00_3041;

				BgL_tz00_3041 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_namez00_33,
					BGl_za2crcsza2z00zz__crcz00);
				if (CBOOL(BgL_tz00_3041))
					{	/* Unsafe/crc.scm 293 */
						obj_t BgL_pairz00_3050;

						{	/* Unsafe/crc.scm 293 */
							obj_t BgL_pairz00_3049;

							{	/* Unsafe/crc.scm 293 */
								obj_t BgL_pairz00_3048;

								BgL_pairz00_3048 = CDR(((obj_t) BgL_tz00_3041));
								BgL_pairz00_3049 = CDR(BgL_pairz00_3048);
							}
							BgL_pairz00_3050 = CDR(BgL_pairz00_3049);
						}
						return CAR(BgL_pairz00_3050);
					}
				else
					{	/* Unsafe/crc.scm 293 */
						return BFALSE;
					}
			}
		}

	}



/* &crc-polynomial-le */
	obj_t BGl_z62crczd2polynomialzd2lez62zz__crcz00(obj_t BgL_envz00_5354,
		obj_t BgL_namez00_5355)
	{
		{	/* Unsafe/crc.scm 291 */
			return BGl_crczd2polynomialzd2lez00zz__crcz00(BgL_namez00_5355);
		}

	}



/* crc-length */
	BGL_EXPORTED_DEF obj_t BGl_crczd2lengthzd2zz__crcz00(obj_t BgL_namez00_34)
	{
		{	/* Unsafe/crc.scm 298 */
			{	/* Unsafe/crc.scm 299 */
				obj_t BgL_tz00_3051;

				BgL_tz00_3051 =
					BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_namez00_34,
					BGl_za2crcsza2z00zz__crcz00);
				if (CBOOL(BgL_tz00_3051))
					{	/* Unsafe/crc.scm 300 */
						obj_t BgL_pairz00_3056;

						BgL_pairz00_3056 = CDR(((obj_t) BgL_tz00_3051));
						return CAR(BgL_pairz00_3056);
					}
				else
					{	/* Unsafe/crc.scm 300 */
						return BFALSE;
					}
			}
		}

	}



/* &crc-length */
	obj_t BGl_z62crczd2lengthzb0zz__crcz00(obj_t BgL_envz00_5356,
		obj_t BgL_namez00_5357)
	{
		{	/* Unsafe/crc.scm 298 */
			return BGl_crczd2lengthzd2zz__crcz00(BgL_namez00_5357);
		}

	}



/* crc-names */
	BGL_EXPORTED_DEF obj_t BGl_crczd2nameszd2zz__crcz00(void)
	{
		{	/* Unsafe/crc.scm 305 */
			{	/* Unsafe/crc.scm 306 */
				obj_t BgL_l1104z00_1738;

				BgL_l1104z00_1738 = BGl_za2crcsza2z00zz__crcz00;
				{	/* Unsafe/crc.scm 306 */
					obj_t BgL_head1106z00_1740;

					BgL_head1106z00_1740 =
						MAKE_YOUNG_PAIR(CAR(CAR(BgL_l1104z00_1738)), BNIL);
					{	/* Unsafe/crc.scm 306 */
						obj_t BgL_g1109z00_1741;

						BgL_g1109z00_1741 = CDR(BgL_l1104z00_1738);
						{
							obj_t BgL_l1104z00_3079;
							obj_t BgL_tail1107z00_3080;

							BgL_l1104z00_3079 = BgL_g1109z00_1741;
							BgL_tail1107z00_3080 = BgL_head1106z00_1740;
						BgL_zc3z04anonymousza31606ze3z87_3078:
							if (NULLP(BgL_l1104z00_3079))
								{	/* Unsafe/crc.scm 306 */
									return BgL_head1106z00_1740;
								}
							else
								{	/* Unsafe/crc.scm 306 */
									obj_t BgL_newtail1108z00_3087;

									{	/* Unsafe/crc.scm 306 */
										obj_t BgL_arg1609z00_3088;

										{	/* Unsafe/crc.scm 306 */
											obj_t BgL_pairz00_3092;

											BgL_pairz00_3092 = CAR(((obj_t) BgL_l1104z00_3079));
											BgL_arg1609z00_3088 = CAR(BgL_pairz00_3092);
										}
										BgL_newtail1108z00_3087 =
											MAKE_YOUNG_PAIR(BgL_arg1609z00_3088, BNIL);
									}
									SET_CDR(BgL_tail1107z00_3080, BgL_newtail1108z00_3087);
									{	/* Unsafe/crc.scm 306 */
										obj_t BgL_arg1608z00_3090;

										BgL_arg1608z00_3090 = CDR(((obj_t) BgL_l1104z00_3079));
										{
											obj_t BgL_tail1107z00_6526;
											obj_t BgL_l1104z00_6525;

											BgL_l1104z00_6525 = BgL_arg1608z00_3090;
											BgL_tail1107z00_6526 = BgL_newtail1108z00_3087;
											BgL_tail1107z00_3080 = BgL_tail1107z00_6526;
											BgL_l1104z00_3079 = BgL_l1104z00_6525;
											goto BgL_zc3z04anonymousza31606ze3z87_3078;
										}
									}
								}
						}
					}
				}
			}
		}

	}



/* &crc-names */
	obj_t BGl_z62crczd2nameszb0zz__crcz00(obj_t BgL_envz00_5358)
	{
		{	/* Unsafe/crc.scm 305 */
			return BGl_crczd2nameszd2zz__crcz00();
		}

	}



/* _crc */
	obj_t BGl__crcz00zz__crcz00(obj_t BgL_env1137z00_41, obj_t BgL_opt1136z00_40)
	{
		{	/* Unsafe/crc.scm 311 */
			{	/* Unsafe/crc.scm 311 */
				long BgL_l1138z00_1754;

				{	/* Unsafe/crc.scm 311 */
					obj_t BgL_vectorz00_3095;

					if (VECTORP(BgL_opt1136z00_40))
						{	/* Unsafe/crc.scm 311 */
							BgL_vectorz00_3095 = BgL_opt1136z00_40;
						}
					else
						{
							obj_t BgL_auxz00_6530;

							BgL_auxz00_6530 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
								BINT(12674L), BGl_string2452z00zz__crcz00,
								BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
							FAILURE(BgL_auxz00_6530, BFALSE, BFALSE);
						}
					BgL_l1138z00_1754 = VECTOR_LENGTH(BgL_vectorz00_3095);
				}
				{	/* Unsafe/crc.scm 311 */
					obj_t BgL_namez00_1758;
					obj_t BgL_objz00_1759;

					{
						obj_t BgL_auxz00_6535;

						if (VECTORP(BgL_opt1136z00_40))
							{	/* Unsafe/crc.scm 311 */
								BgL_auxz00_6535 = BgL_opt1136z00_40;
							}
						else
							{
								obj_t BgL_auxz00_6538;

								BgL_auxz00_6538 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(12674L), BGl_string2452z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
								FAILURE(BgL_auxz00_6538, BFALSE, BFALSE);
							}
						BgL_namez00_1758 = VECTOR_REF(BgL_auxz00_6535, 0L);
					}
					{
						obj_t BgL_auxz00_6543;

						if (VECTORP(BgL_opt1136z00_40))
							{	/* Unsafe/crc.scm 311 */
								BgL_auxz00_6543 = BgL_opt1136z00_40;
							}
						else
							{
								obj_t BgL_auxz00_6546;

								BgL_auxz00_6546 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(12674L), BGl_string2452z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
								FAILURE(BgL_auxz00_6546, BFALSE, BFALSE);
							}
						BgL_objz00_1759 = VECTOR_REF(BgL_auxz00_6543, 1L);
					}
					{	/* Unsafe/crc.scm 311 */
						obj_t BgL_bigzd2endianzf3z21_1760;

						BgL_bigzd2endianzf3z21_1760 = BTRUE;
						{	/* Unsafe/crc.scm 311 */
							obj_t BgL_finalzd2xorzd2_1761;

							BgL_finalzd2xorzd2_1761 = BINT(0L);
							{	/* Unsafe/crc.scm 311 */
								obj_t BgL_initz00_1762;

								BgL_initz00_1762 = BINT(0L);
								{	/* Unsafe/crc.scm 311 */

									{
										long BgL_iz00_1763;

										BgL_iz00_1763 = 2L;
									BgL_check1140z00_1764:
										if ((BgL_iz00_1763 == BgL_l1138z00_1754))
											{	/* Unsafe/crc.scm 311 */
												BNIL;
											}
										else
											{	/* Unsafe/crc.scm 311 */
												bool_t BgL_test2650z00_6555;

												{	/* Unsafe/crc.scm 311 */
													obj_t BgL_arg1620z00_1770;

													BgL_arg1620z00_1770 =
														VECTOR_REF(
														((obj_t) BgL_opt1136z00_40), BgL_iz00_1763);
													BgL_test2650z00_6555 =
														CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
														(BgL_arg1620z00_1770, BGl_list2454z00zz__crcz00));
												}
												if (BgL_test2650z00_6555)
													{
														long BgL_iz00_6560;

														BgL_iz00_6560 = (BgL_iz00_1763 + 2L);
														BgL_iz00_1763 = BgL_iz00_6560;
														goto BgL_check1140z00_1764;
													}
												else
													{	/* Unsafe/crc.scm 311 */
														obj_t BgL_arg1619z00_1769;

														BgL_arg1619z00_1769 =
															VECTOR_REF(
															((obj_t) BgL_opt1136z00_40), BgL_iz00_1763);
														BGl_errorz00zz__errorz00
															(BGl_symbol2461z00zz__crcz00,
															BGl_string2463z00zz__crcz00, BgL_arg1619z00_1769);
													}
											}
									}
									{	/* Unsafe/crc.scm 311 */
										obj_t BgL_index1142z00_1771;

										{
											long BgL_iz00_3111;

											BgL_iz00_3111 = 2L;
										BgL_search1139z00_3110:
											if ((BgL_iz00_3111 == BgL_l1138z00_1754))
												{	/* Unsafe/crc.scm 311 */
													BgL_index1142z00_1771 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 311 */
													if ((BgL_iz00_3111 == (BgL_l1138z00_1754 - 1L)))
														{	/* Unsafe/crc.scm 311 */
															BgL_index1142z00_1771 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2461z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1136z00_40)));
														}
													else
														{	/* Unsafe/crc.scm 311 */
															obj_t BgL_vz00_3121;

															BgL_vz00_3121 =
																VECTOR_REF(BgL_opt1136z00_40, BgL_iz00_3111);
															if (
																(BgL_vz00_3121 == BGl_keyword2455z00zz__crcz00))
																{	/* Unsafe/crc.scm 311 */
																	BgL_index1142z00_1771 =
																		BINT((BgL_iz00_3111 + 1L));
																}
															else
																{
																	long BgL_iz00_6579;

																	BgL_iz00_6579 = (BgL_iz00_3111 + 2L);
																	BgL_iz00_3111 = BgL_iz00_6579;
																	goto BgL_search1139z00_3110;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 311 */
											bool_t BgL_test2654z00_6581;

											{	/* Unsafe/crc.scm 311 */
												long BgL_n1z00_3125;

												{	/* Unsafe/crc.scm 311 */
													obj_t BgL_tmpz00_6582;

													if (INTEGERP(BgL_index1142z00_1771))
														{	/* Unsafe/crc.scm 311 */
															BgL_tmpz00_6582 = BgL_index1142z00_1771;
														}
													else
														{
															obj_t BgL_auxz00_6585;

															BgL_auxz00_6585 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(12674L),
																BGl_string2452z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1142z00_1771);
															FAILURE(BgL_auxz00_6585, BFALSE, BFALSE);
														}
													BgL_n1z00_3125 = (long) CINT(BgL_tmpz00_6582);
												}
												BgL_test2654z00_6581 = (BgL_n1z00_3125 >= 0L);
											}
											if (BgL_test2654z00_6581)
												{
													long BgL_auxz00_6598;
													obj_t BgL_auxz00_6591;

													{	/* Unsafe/crc.scm 311 */
														obj_t BgL_tmpz00_6599;

														if (INTEGERP(BgL_index1142z00_1771))
															{	/* Unsafe/crc.scm 311 */
																BgL_tmpz00_6599 = BgL_index1142z00_1771;
															}
														else
															{
																obj_t BgL_auxz00_6602;

																BgL_auxz00_6602 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(12674L),
																	BGl_string2452z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1142z00_1771);
																FAILURE(BgL_auxz00_6602, BFALSE, BFALSE);
															}
														BgL_auxz00_6598 = (long) CINT(BgL_tmpz00_6599);
													}
													if (VECTORP(BgL_opt1136z00_40))
														{	/* Unsafe/crc.scm 311 */
															BgL_auxz00_6591 = BgL_opt1136z00_40;
														}
													else
														{
															obj_t BgL_auxz00_6594;

															BgL_auxz00_6594 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(12674L),
																BGl_string2452z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
															FAILURE(BgL_auxz00_6594, BFALSE, BFALSE);
														}
													BgL_bigzd2endianzf3z21_1760 =
														VECTOR_REF(BgL_auxz00_6591, BgL_auxz00_6598);
												}
											else
												{	/* Unsafe/crc.scm 311 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 311 */
										obj_t BgL_index1143z00_1773;

										{
											long BgL_iz00_3127;

											BgL_iz00_3127 = 2L;
										BgL_search1139z00_3126:
											if ((BgL_iz00_3127 == BgL_l1138z00_1754))
												{	/* Unsafe/crc.scm 311 */
													BgL_index1143z00_1773 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 311 */
													if ((BgL_iz00_3127 == (BgL_l1138z00_1754 - 1L)))
														{	/* Unsafe/crc.scm 311 */
															BgL_index1143z00_1773 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2461z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1136z00_40)));
														}
													else
														{	/* Unsafe/crc.scm 311 */
															obj_t BgL_vz00_3137;

															BgL_vz00_3137 =
																VECTOR_REF(BgL_opt1136z00_40, BgL_iz00_3127);
															if (
																(BgL_vz00_3137 == BGl_keyword2457z00zz__crcz00))
																{	/* Unsafe/crc.scm 311 */
																	BgL_index1143z00_1773 =
																		BINT((BgL_iz00_3127 + 1L));
																}
															else
																{
																	long BgL_iz00_6622;

																	BgL_iz00_6622 = (BgL_iz00_3127 + 2L);
																	BgL_iz00_3127 = BgL_iz00_6622;
																	goto BgL_search1139z00_3126;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 311 */
											bool_t BgL_test2661z00_6624;

											{	/* Unsafe/crc.scm 311 */
												long BgL_n1z00_3141;

												{	/* Unsafe/crc.scm 311 */
													obj_t BgL_tmpz00_6625;

													if (INTEGERP(BgL_index1143z00_1773))
														{	/* Unsafe/crc.scm 311 */
															BgL_tmpz00_6625 = BgL_index1143z00_1773;
														}
													else
														{
															obj_t BgL_auxz00_6628;

															BgL_auxz00_6628 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(12674L),
																BGl_string2452z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1143z00_1773);
															FAILURE(BgL_auxz00_6628, BFALSE, BFALSE);
														}
													BgL_n1z00_3141 = (long) CINT(BgL_tmpz00_6625);
												}
												BgL_test2661z00_6624 = (BgL_n1z00_3141 >= 0L);
											}
											if (BgL_test2661z00_6624)
												{
													long BgL_auxz00_6641;
													obj_t BgL_auxz00_6634;

													{	/* Unsafe/crc.scm 311 */
														obj_t BgL_tmpz00_6642;

														if (INTEGERP(BgL_index1143z00_1773))
															{	/* Unsafe/crc.scm 311 */
																BgL_tmpz00_6642 = BgL_index1143z00_1773;
															}
														else
															{
																obj_t BgL_auxz00_6645;

																BgL_auxz00_6645 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(12674L),
																	BGl_string2452z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1143z00_1773);
																FAILURE(BgL_auxz00_6645, BFALSE, BFALSE);
															}
														BgL_auxz00_6641 = (long) CINT(BgL_tmpz00_6642);
													}
													if (VECTORP(BgL_opt1136z00_40))
														{	/* Unsafe/crc.scm 311 */
															BgL_auxz00_6634 = BgL_opt1136z00_40;
														}
													else
														{
															obj_t BgL_auxz00_6637;

															BgL_auxz00_6637 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(12674L),
																BGl_string2452z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
															FAILURE(BgL_auxz00_6637, BFALSE, BFALSE);
														}
													BgL_finalzd2xorzd2_1761 =
														VECTOR_REF(BgL_auxz00_6634, BgL_auxz00_6641);
												}
											else
												{	/* Unsafe/crc.scm 311 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 311 */
										obj_t BgL_index1144z00_1775;

										{
											long BgL_iz00_3143;

											BgL_iz00_3143 = 2L;
										BgL_search1139z00_3142:
											if ((BgL_iz00_3143 == BgL_l1138z00_1754))
												{	/* Unsafe/crc.scm 311 */
													BgL_index1144z00_1775 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 311 */
													if ((BgL_iz00_3143 == (BgL_l1138z00_1754 - 1L)))
														{	/* Unsafe/crc.scm 311 */
															BgL_index1144z00_1775 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2461z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1136z00_40)));
														}
													else
														{	/* Unsafe/crc.scm 311 */
															obj_t BgL_vz00_3153;

															BgL_vz00_3153 =
																VECTOR_REF(BgL_opt1136z00_40, BgL_iz00_3143);
															if (
																(BgL_vz00_3153 == BGl_keyword2459z00zz__crcz00))
																{	/* Unsafe/crc.scm 311 */
																	BgL_index1144z00_1775 =
																		BINT((BgL_iz00_3143 + 1L));
																}
															else
																{
																	long BgL_iz00_6665;

																	BgL_iz00_6665 = (BgL_iz00_3143 + 2L);
																	BgL_iz00_3143 = BgL_iz00_6665;
																	goto BgL_search1139z00_3142;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 311 */
											bool_t BgL_test2668z00_6667;

											{	/* Unsafe/crc.scm 311 */
												long BgL_n1z00_3157;

												{	/* Unsafe/crc.scm 311 */
													obj_t BgL_tmpz00_6668;

													if (INTEGERP(BgL_index1144z00_1775))
														{	/* Unsafe/crc.scm 311 */
															BgL_tmpz00_6668 = BgL_index1144z00_1775;
														}
													else
														{
															obj_t BgL_auxz00_6671;

															BgL_auxz00_6671 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(12674L),
																BGl_string2452z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1144z00_1775);
															FAILURE(BgL_auxz00_6671, BFALSE, BFALSE);
														}
													BgL_n1z00_3157 = (long) CINT(BgL_tmpz00_6668);
												}
												BgL_test2668z00_6667 = (BgL_n1z00_3157 >= 0L);
											}
											if (BgL_test2668z00_6667)
												{
													long BgL_auxz00_6684;
													obj_t BgL_auxz00_6677;

													{	/* Unsafe/crc.scm 311 */
														obj_t BgL_tmpz00_6685;

														if (INTEGERP(BgL_index1144z00_1775))
															{	/* Unsafe/crc.scm 311 */
																BgL_tmpz00_6685 = BgL_index1144z00_1775;
															}
														else
															{
																obj_t BgL_auxz00_6688;

																BgL_auxz00_6688 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(12674L),
																	BGl_string2452z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1144z00_1775);
																FAILURE(BgL_auxz00_6688, BFALSE, BFALSE);
															}
														BgL_auxz00_6684 = (long) CINT(BgL_tmpz00_6685);
													}
													if (VECTORP(BgL_opt1136z00_40))
														{	/* Unsafe/crc.scm 311 */
															BgL_auxz00_6677 = BgL_opt1136z00_40;
														}
													else
														{
															obj_t BgL_auxz00_6680;

															BgL_auxz00_6680 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(12674L),
																BGl_string2452z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
															FAILURE(BgL_auxz00_6680, BFALSE, BFALSE);
														}
													BgL_initz00_1762 =
														VECTOR_REF(BgL_auxz00_6677, BgL_auxz00_6684);
												}
											else
												{	/* Unsafe/crc.scm 311 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 311 */
										obj_t BgL_arg1624z00_1777;
										obj_t BgL_arg1625z00_1778;

										{
											obj_t BgL_auxz00_6694;

											if (VECTORP(BgL_opt1136z00_40))
												{	/* Unsafe/crc.scm 311 */
													BgL_auxz00_6694 = BgL_opt1136z00_40;
												}
											else
												{
													obj_t BgL_auxz00_6697;

													BgL_auxz00_6697 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(12674L),
														BGl_string2452z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
													FAILURE(BgL_auxz00_6697, BFALSE, BFALSE);
												}
											BgL_arg1624z00_1777 = VECTOR_REF(BgL_auxz00_6694, 0L);
										}
										{
											obj_t BgL_auxz00_6702;

											if (VECTORP(BgL_opt1136z00_40))
												{	/* Unsafe/crc.scm 311 */
													BgL_auxz00_6702 = BgL_opt1136z00_40;
												}
											else
												{
													obj_t BgL_auxz00_6705;

													BgL_auxz00_6705 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(12674L),
														BGl_string2452z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1136z00_40);
													FAILURE(BgL_auxz00_6705, BFALSE, BFALSE);
												}
											BgL_arg1625z00_1778 = VECTOR_REF(BgL_auxz00_6702, 1L);
										}
										{	/* Unsafe/crc.scm 311 */
											obj_t BgL_bigzd2endianzf3z21_1779;

											BgL_bigzd2endianzf3z21_1779 = BgL_bigzd2endianzf3z21_1760;
											{	/* Unsafe/crc.scm 311 */
												obj_t BgL_finalzd2xorzd2_1780;

												BgL_finalzd2xorzd2_1780 = BgL_finalzd2xorzd2_1761;
												{	/* Unsafe/crc.scm 311 */
													obj_t BgL_initz00_1781;

													BgL_initz00_1781 = BgL_initz00_1762;
													if (STRINGP(BgL_arg1625z00_1778))
														{	/* Unsafe/crc.scm 314 */
															obj_t BgL_arg1633z00_3159;

															{	/* Unsafe/crc.scm 314 */
																long BgL_endz00_3162;

																BgL_endz00_3162 =
																	STRING_LENGTH(BgL_arg1625z00_1778);
																{	/* Unsafe/crc.scm 314 */

																	BgL_arg1633z00_3159 =
																		BGl_openzd2inputzd2stringz00zz__r4_ports_6_10_1z00
																		(BgL_arg1625z00_1778, BINT(0L),
																		BINT(BgL_endz00_3162));
															}}
															return
																BGl_crczd2fastzd2portz00zz__crcz00
																(BgL_arg1624z00_1777, BgL_arg1633z00_3159,
																BgL_initz00_1781, BgL_finalzd2xorzd2_1780,
																BgL_bigzd2endianzf3z21_1779);
														}
													else
														{	/* Unsafe/crc.scm 313 */
															if (INPUT_PORTP(BgL_arg1625z00_1778))
																{	/* Unsafe/crc.scm 315 */
																	return
																		BGl_crczd2fastzd2portz00zz__crcz00
																		(BgL_arg1624z00_1777, BgL_arg1625z00_1778,
																		BgL_initz00_1781, BgL_finalzd2xorzd2_1780,
																		BgL_bigzd2endianzf3z21_1779);
																}
															else
																{	/* Unsafe/crc.scm 315 */
																	if (BGL_MMAPP(BgL_arg1625z00_1778))
																		{	/* Unsafe/crc.scm 318 */
																			obj_t BgL_auxz00_6722;

																			if (BGL_MMAPP(BgL_arg1625z00_1778))
																				{	/* Unsafe/crc.scm 318 */
																					BgL_auxz00_6722 = BgL_arg1625z00_1778;
																				}
																			else
																				{
																					obj_t BgL_auxz00_6725;

																					BgL_auxz00_6725 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string2428z00zz__crcz00,
																						BINT(12984L),
																						BGl_string2452z00zz__crcz00,
																						BGl_string2465z00zz__crcz00,
																						BgL_arg1625z00_1778);
																					FAILURE(BgL_auxz00_6725, BFALSE,
																						BFALSE);
																				}
																			return
																				BGl_crczd2fastzd2mmapz00zz__crcz00
																				(BgL_arg1624z00_1777, BgL_auxz00_6722,
																				BgL_initz00_1781,
																				BgL_finalzd2xorzd2_1780,
																				BgL_bigzd2endianzf3z21_1779);
																		}
																	else
																		{	/* Unsafe/crc.scm 317 */
																			return
																				BGl_errorz00zz__errorz00
																				(BGl_symbol2461z00zz__crcz00,
																				BGl_string2466z00zz__crcz00,
																				BgL_arg1625z00_1778);
																		}
																}
														}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* crc */
	BGL_EXPORTED_DEF obj_t BGl_crcz00zz__crcz00(obj_t BgL_namez00_35,
		obj_t BgL_objz00_36, obj_t BgL_bigzd2endianzf3z21_37,
		obj_t BgL_finalzd2xorzd2_38, obj_t BgL_initz00_39)
	{
		{	/* Unsafe/crc.scm 311 */
			if (STRINGP(BgL_objz00_36))
				{	/* Unsafe/crc.scm 314 */
					obj_t BgL_arg1633z00_3167;

					{	/* Unsafe/crc.scm 314 */
						long BgL_endz00_3170;

						BgL_endz00_3170 = STRING_LENGTH(BgL_objz00_36);
						{	/* Unsafe/crc.scm 314 */

							BgL_arg1633z00_3167 =
								BGl_openzd2inputzd2stringz00zz__r4_ports_6_10_1z00
								(BgL_objz00_36, BINT(0L), BINT(BgL_endz00_3170));
					}}
					return
						BGl_crczd2fastzd2portz00zz__crcz00(BgL_namez00_35,
						BgL_arg1633z00_3167, BgL_initz00_39, BgL_finalzd2xorzd2_38,
						BgL_bigzd2endianzf3z21_37);
				}
			else
				{	/* Unsafe/crc.scm 313 */
					if (INPUT_PORTP(BgL_objz00_36))
						{	/* Unsafe/crc.scm 315 */
							return
								BGl_crczd2fastzd2portz00zz__crcz00(BgL_namez00_35,
								BgL_objz00_36, BgL_initz00_39, BgL_finalzd2xorzd2_38,
								BgL_bigzd2endianzf3z21_37);
						}
					else
						{	/* Unsafe/crc.scm 315 */
							if (BGL_MMAPP(BgL_objz00_36))
								{	/* Unsafe/crc.scm 317 */
									return
										BGl_crczd2fastzd2mmapz00zz__crcz00(BgL_namez00_35,
										BgL_objz00_36, BgL_initz00_39, BgL_finalzd2xorzd2_38,
										BgL_bigzd2endianzf3z21_37);
								}
							else
								{	/* Unsafe/crc.scm 317 */
									return
										BGl_errorz00zz__errorz00(BGl_symbol2461z00zz__crcz00,
										BGl_string2466z00zz__crcz00, BgL_objz00_36);
								}
						}
				}
		}

	}



/* _crc-file */
	obj_t BGl__crczd2filezd2zz__crcz00(obj_t BgL_env1146z00_48,
		obj_t BgL_opt1145z00_47)
	{
		{	/* Unsafe/crc.scm 325 */
			{	/* Unsafe/crc.scm 325 */
				long BgL_l1147z00_1796;

				{	/* Unsafe/crc.scm 325 */
					obj_t BgL_vectorz00_3174;

					if (VECTORP(BgL_opt1145z00_47))
						{	/* Unsafe/crc.scm 325 */
							BgL_vectorz00_3174 = BgL_opt1145z00_47;
						}
					else
						{
							obj_t BgL_auxz00_6747;

							BgL_auxz00_6747 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
								BINT(13298L), BGl_string2467z00zz__crcz00,
								BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
							FAILURE(BgL_auxz00_6747, BFALSE, BFALSE);
						}
					BgL_l1147z00_1796 = VECTOR_LENGTH(BgL_vectorz00_3174);
				}
				{	/* Unsafe/crc.scm 325 */
					obj_t BgL_namez00_1800;
					obj_t BgL_fz00_1801;

					{
						obj_t BgL_auxz00_6752;

						if (VECTORP(BgL_opt1145z00_47))
							{	/* Unsafe/crc.scm 325 */
								BgL_auxz00_6752 = BgL_opt1145z00_47;
							}
						else
							{
								obj_t BgL_auxz00_6755;

								BgL_auxz00_6755 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(13298L), BGl_string2467z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
								FAILURE(BgL_auxz00_6755, BFALSE, BFALSE);
							}
						BgL_namez00_1800 = VECTOR_REF(BgL_auxz00_6752, 0L);
					}
					{
						obj_t BgL_auxz00_6760;

						if (VECTORP(BgL_opt1145z00_47))
							{	/* Unsafe/crc.scm 325 */
								BgL_auxz00_6760 = BgL_opt1145z00_47;
							}
						else
							{
								obj_t BgL_auxz00_6763;

								BgL_auxz00_6763 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(13298L), BGl_string2467z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
								FAILURE(BgL_auxz00_6763, BFALSE, BFALSE);
							}
						BgL_fz00_1801 = VECTOR_REF(BgL_auxz00_6760, 1L);
					}
					{	/* Unsafe/crc.scm 325 */
						obj_t BgL_bigzd2endianzf3z21_1802;

						BgL_bigzd2endianzf3z21_1802 = BTRUE;
						{	/* Unsafe/crc.scm 325 */
							obj_t BgL_finalzd2xorzd2_1803;

							BgL_finalzd2xorzd2_1803 = BINT(0L);
							{	/* Unsafe/crc.scm 325 */
								obj_t BgL_initz00_1804;

								BgL_initz00_1804 = BINT(0L);
								{	/* Unsafe/crc.scm 325 */

									{
										long BgL_iz00_1805;

										BgL_iz00_1805 = 2L;
									BgL_check1149z00_1806:
										if ((BgL_iz00_1805 == BgL_l1147z00_1796))
											{	/* Unsafe/crc.scm 325 */
												BNIL;
											}
										else
											{	/* Unsafe/crc.scm 325 */
												bool_t BgL_test2685z00_6772;

												{	/* Unsafe/crc.scm 325 */
													obj_t BgL_arg1642z00_1812;

													BgL_arg1642z00_1812 =
														VECTOR_REF(
														((obj_t) BgL_opt1145z00_47), BgL_iz00_1805);
													BgL_test2685z00_6772 =
														CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
														(BgL_arg1642z00_1812, BGl_list2454z00zz__crcz00));
												}
												if (BgL_test2685z00_6772)
													{
														long BgL_iz00_6777;

														BgL_iz00_6777 = (BgL_iz00_1805 + 2L);
														BgL_iz00_1805 = BgL_iz00_6777;
														goto BgL_check1149z00_1806;
													}
												else
													{	/* Unsafe/crc.scm 325 */
														obj_t BgL_arg1641z00_1811;

														BgL_arg1641z00_1811 =
															VECTOR_REF(
															((obj_t) BgL_opt1145z00_47), BgL_iz00_1805);
														BGl_errorz00zz__errorz00
															(BGl_symbol2468z00zz__crcz00,
															BGl_string2463z00zz__crcz00, BgL_arg1641z00_1811);
													}
											}
									}
									{	/* Unsafe/crc.scm 325 */
										obj_t BgL_index1151z00_1813;

										{
											long BgL_iz00_3190;

											BgL_iz00_3190 = 2L;
										BgL_search1148z00_3189:
											if ((BgL_iz00_3190 == BgL_l1147z00_1796))
												{	/* Unsafe/crc.scm 325 */
													BgL_index1151z00_1813 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 325 */
													if ((BgL_iz00_3190 == (BgL_l1147z00_1796 - 1L)))
														{	/* Unsafe/crc.scm 325 */
															BgL_index1151z00_1813 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2468z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1145z00_47)));
														}
													else
														{	/* Unsafe/crc.scm 325 */
															obj_t BgL_vz00_3200;

															BgL_vz00_3200 =
																VECTOR_REF(BgL_opt1145z00_47, BgL_iz00_3190);
															if (
																(BgL_vz00_3200 == BGl_keyword2455z00zz__crcz00))
																{	/* Unsafe/crc.scm 325 */
																	BgL_index1151z00_1813 =
																		BINT((BgL_iz00_3190 + 1L));
																}
															else
																{
																	long BgL_iz00_6796;

																	BgL_iz00_6796 = (BgL_iz00_3190 + 2L);
																	BgL_iz00_3190 = BgL_iz00_6796;
																	goto BgL_search1148z00_3189;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 325 */
											bool_t BgL_test2689z00_6798;

											{	/* Unsafe/crc.scm 325 */
												long BgL_n1z00_3204;

												{	/* Unsafe/crc.scm 325 */
													obj_t BgL_tmpz00_6799;

													if (INTEGERP(BgL_index1151z00_1813))
														{	/* Unsafe/crc.scm 325 */
															BgL_tmpz00_6799 = BgL_index1151z00_1813;
														}
													else
														{
															obj_t BgL_auxz00_6802;

															BgL_auxz00_6802 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13298L),
																BGl_string2467z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1151z00_1813);
															FAILURE(BgL_auxz00_6802, BFALSE, BFALSE);
														}
													BgL_n1z00_3204 = (long) CINT(BgL_tmpz00_6799);
												}
												BgL_test2689z00_6798 = (BgL_n1z00_3204 >= 0L);
											}
											if (BgL_test2689z00_6798)
												{
													long BgL_auxz00_6815;
													obj_t BgL_auxz00_6808;

													{	/* Unsafe/crc.scm 325 */
														obj_t BgL_tmpz00_6816;

														if (INTEGERP(BgL_index1151z00_1813))
															{	/* Unsafe/crc.scm 325 */
																BgL_tmpz00_6816 = BgL_index1151z00_1813;
															}
														else
															{
																obj_t BgL_auxz00_6819;

																BgL_auxz00_6819 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13298L),
																	BGl_string2467z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1151z00_1813);
																FAILURE(BgL_auxz00_6819, BFALSE, BFALSE);
															}
														BgL_auxz00_6815 = (long) CINT(BgL_tmpz00_6816);
													}
													if (VECTORP(BgL_opt1145z00_47))
														{	/* Unsafe/crc.scm 325 */
															BgL_auxz00_6808 = BgL_opt1145z00_47;
														}
													else
														{
															obj_t BgL_auxz00_6811;

															BgL_auxz00_6811 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13298L),
																BGl_string2467z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
															FAILURE(BgL_auxz00_6811, BFALSE, BFALSE);
														}
													BgL_bigzd2endianzf3z21_1802 =
														VECTOR_REF(BgL_auxz00_6808, BgL_auxz00_6815);
												}
											else
												{	/* Unsafe/crc.scm 325 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 325 */
										obj_t BgL_index1152z00_1815;

										{
											long BgL_iz00_3206;

											BgL_iz00_3206 = 2L;
										BgL_search1148z00_3205:
											if ((BgL_iz00_3206 == BgL_l1147z00_1796))
												{	/* Unsafe/crc.scm 325 */
													BgL_index1152z00_1815 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 325 */
													if ((BgL_iz00_3206 == (BgL_l1147z00_1796 - 1L)))
														{	/* Unsafe/crc.scm 325 */
															BgL_index1152z00_1815 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2468z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1145z00_47)));
														}
													else
														{	/* Unsafe/crc.scm 325 */
															obj_t BgL_vz00_3216;

															BgL_vz00_3216 =
																VECTOR_REF(BgL_opt1145z00_47, BgL_iz00_3206);
															if (
																(BgL_vz00_3216 == BGl_keyword2457z00zz__crcz00))
																{	/* Unsafe/crc.scm 325 */
																	BgL_index1152z00_1815 =
																		BINT((BgL_iz00_3206 + 1L));
																}
															else
																{
																	long BgL_iz00_6839;

																	BgL_iz00_6839 = (BgL_iz00_3206 + 2L);
																	BgL_iz00_3206 = BgL_iz00_6839;
																	goto BgL_search1148z00_3205;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 325 */
											bool_t BgL_test2696z00_6841;

											{	/* Unsafe/crc.scm 325 */
												long BgL_n1z00_3220;

												{	/* Unsafe/crc.scm 325 */
													obj_t BgL_tmpz00_6842;

													if (INTEGERP(BgL_index1152z00_1815))
														{	/* Unsafe/crc.scm 325 */
															BgL_tmpz00_6842 = BgL_index1152z00_1815;
														}
													else
														{
															obj_t BgL_auxz00_6845;

															BgL_auxz00_6845 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13298L),
																BGl_string2467z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1152z00_1815);
															FAILURE(BgL_auxz00_6845, BFALSE, BFALSE);
														}
													BgL_n1z00_3220 = (long) CINT(BgL_tmpz00_6842);
												}
												BgL_test2696z00_6841 = (BgL_n1z00_3220 >= 0L);
											}
											if (BgL_test2696z00_6841)
												{
													long BgL_auxz00_6858;
													obj_t BgL_auxz00_6851;

													{	/* Unsafe/crc.scm 325 */
														obj_t BgL_tmpz00_6859;

														if (INTEGERP(BgL_index1152z00_1815))
															{	/* Unsafe/crc.scm 325 */
																BgL_tmpz00_6859 = BgL_index1152z00_1815;
															}
														else
															{
																obj_t BgL_auxz00_6862;

																BgL_auxz00_6862 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13298L),
																	BGl_string2467z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1152z00_1815);
																FAILURE(BgL_auxz00_6862, BFALSE, BFALSE);
															}
														BgL_auxz00_6858 = (long) CINT(BgL_tmpz00_6859);
													}
													if (VECTORP(BgL_opt1145z00_47))
														{	/* Unsafe/crc.scm 325 */
															BgL_auxz00_6851 = BgL_opt1145z00_47;
														}
													else
														{
															obj_t BgL_auxz00_6854;

															BgL_auxz00_6854 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13298L),
																BGl_string2467z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
															FAILURE(BgL_auxz00_6854, BFALSE, BFALSE);
														}
													BgL_finalzd2xorzd2_1803 =
														VECTOR_REF(BgL_auxz00_6851, BgL_auxz00_6858);
												}
											else
												{	/* Unsafe/crc.scm 325 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 325 */
										obj_t BgL_index1153z00_1817;

										{
											long BgL_iz00_3222;

											BgL_iz00_3222 = 2L;
										BgL_search1148z00_3221:
											if ((BgL_iz00_3222 == BgL_l1147z00_1796))
												{	/* Unsafe/crc.scm 325 */
													BgL_index1153z00_1817 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 325 */
													if ((BgL_iz00_3222 == (BgL_l1147z00_1796 - 1L)))
														{	/* Unsafe/crc.scm 325 */
															BgL_index1153z00_1817 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2468z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1145z00_47)));
														}
													else
														{	/* Unsafe/crc.scm 325 */
															obj_t BgL_vz00_3232;

															BgL_vz00_3232 =
																VECTOR_REF(BgL_opt1145z00_47, BgL_iz00_3222);
															if (
																(BgL_vz00_3232 == BGl_keyword2459z00zz__crcz00))
																{	/* Unsafe/crc.scm 325 */
																	BgL_index1153z00_1817 =
																		BINT((BgL_iz00_3222 + 1L));
																}
															else
																{
																	long BgL_iz00_6882;

																	BgL_iz00_6882 = (BgL_iz00_3222 + 2L);
																	BgL_iz00_3222 = BgL_iz00_6882;
																	goto BgL_search1148z00_3221;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 325 */
											bool_t BgL_test2703z00_6884;

											{	/* Unsafe/crc.scm 325 */
												long BgL_n1z00_3236;

												{	/* Unsafe/crc.scm 325 */
													obj_t BgL_tmpz00_6885;

													if (INTEGERP(BgL_index1153z00_1817))
														{	/* Unsafe/crc.scm 325 */
															BgL_tmpz00_6885 = BgL_index1153z00_1817;
														}
													else
														{
															obj_t BgL_auxz00_6888;

															BgL_auxz00_6888 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13298L),
																BGl_string2467z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1153z00_1817);
															FAILURE(BgL_auxz00_6888, BFALSE, BFALSE);
														}
													BgL_n1z00_3236 = (long) CINT(BgL_tmpz00_6885);
												}
												BgL_test2703z00_6884 = (BgL_n1z00_3236 >= 0L);
											}
											if (BgL_test2703z00_6884)
												{
													long BgL_auxz00_6901;
													obj_t BgL_auxz00_6894;

													{	/* Unsafe/crc.scm 325 */
														obj_t BgL_tmpz00_6902;

														if (INTEGERP(BgL_index1153z00_1817))
															{	/* Unsafe/crc.scm 325 */
																BgL_tmpz00_6902 = BgL_index1153z00_1817;
															}
														else
															{
																obj_t BgL_auxz00_6905;

																BgL_auxz00_6905 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13298L),
																	BGl_string2467z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1153z00_1817);
																FAILURE(BgL_auxz00_6905, BFALSE, BFALSE);
															}
														BgL_auxz00_6901 = (long) CINT(BgL_tmpz00_6902);
													}
													if (VECTORP(BgL_opt1145z00_47))
														{	/* Unsafe/crc.scm 325 */
															BgL_auxz00_6894 = BgL_opt1145z00_47;
														}
													else
														{
															obj_t BgL_auxz00_6897;

															BgL_auxz00_6897 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13298L),
																BGl_string2467z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
															FAILURE(BgL_auxz00_6897, BFALSE, BFALSE);
														}
													BgL_initz00_1804 =
														VECTOR_REF(BgL_auxz00_6894, BgL_auxz00_6901);
												}
											else
												{	/* Unsafe/crc.scm 325 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 325 */
										obj_t BgL_arg1646z00_1819;
										obj_t BgL_arg1647z00_1820;

										{
											obj_t BgL_auxz00_6911;

											if (VECTORP(BgL_opt1145z00_47))
												{	/* Unsafe/crc.scm 325 */
													BgL_auxz00_6911 = BgL_opt1145z00_47;
												}
											else
												{
													obj_t BgL_auxz00_6914;

													BgL_auxz00_6914 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(13298L),
														BGl_string2467z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
													FAILURE(BgL_auxz00_6914, BFALSE, BFALSE);
												}
											BgL_arg1646z00_1819 = VECTOR_REF(BgL_auxz00_6911, 0L);
										}
										{
											obj_t BgL_auxz00_6919;

											if (VECTORP(BgL_opt1145z00_47))
												{	/* Unsafe/crc.scm 325 */
													BgL_auxz00_6919 = BgL_opt1145z00_47;
												}
											else
												{
													obj_t BgL_auxz00_6922;

													BgL_auxz00_6922 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(13298L),
														BGl_string2467z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1145z00_47);
													FAILURE(BgL_auxz00_6922, BFALSE, BFALSE);
												}
											BgL_arg1647z00_1820 = VECTOR_REF(BgL_auxz00_6919, 1L);
										}
										{	/* Unsafe/crc.scm 325 */
											obj_t BgL_bigzd2endianzf3z21_1821;

											BgL_bigzd2endianzf3z21_1821 = BgL_bigzd2endianzf3z21_1802;
											{	/* Unsafe/crc.scm 325 */
												obj_t BgL_finalzd2xorzd2_1822;

												BgL_finalzd2xorzd2_1822 = BgL_finalzd2xorzd2_1803;
												{	/* Unsafe/crc.scm 325 */
													obj_t BgL_initz00_1823;

													BgL_initz00_1823 = BgL_initz00_1804;
													{	/* Unsafe/crc.scm 325 */
														obj_t BgL_fz00_3237;

														if (STRINGP(BgL_arg1647z00_1820))
															{	/* Unsafe/crc.scm 325 */
																BgL_fz00_3237 = BgL_arg1647z00_1820;
															}
														else
															{
																obj_t BgL_auxz00_6929;

																BgL_auxz00_6929 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13298L),
																	BGl_string2467z00zz__crcz00,
																	BGl_string2470z00zz__crcz00,
																	BgL_arg1647z00_1820);
																FAILURE(BgL_auxz00_6929, BFALSE, BFALSE);
															}
														{	/* Unsafe/crc.scm 326 */
															obj_t BgL_pz00_3238;

															{	/* Unsafe/crc.scm 326 */

																BgL_pz00_3238 =
																	BGl_openzd2inputzd2filez00zz__r4_ports_6_10_1z00
																	(BgL_fz00_3237, BTRUE, BINT(5000000L));
															}
															if (CBOOL(BgL_pz00_3238))
																{	/* Unsafe/crc.scm 327 */
																	BFALSE;
																}
															else
																{	/* Unsafe/crc.scm 327 */
																	BGl_errorz00zz__errorz00
																		(BGl_symbol2468z00zz__crcz00,
																		BGl_string2471z00zz__crcz00, BgL_fz00_3237);
																}
															{	/* Unsafe/crc.scm 328 */
																obj_t BgL_exitd1050z00_3242;

																BgL_exitd1050z00_3242 = BGL_EXITD_TOP_AS_OBJ();
																{	/* Unsafe/crc.scm 330 */
																	obj_t BgL_zc3z04anonymousza31654ze3z87_5359;

																	BgL_zc3z04anonymousza31654ze3z87_5359 =
																		MAKE_FX_PROCEDURE
																		(BGl_z62zc3z04anonymousza31654ze3ze5zz__crcz00,
																		(int) (0L), (int) (1L));
																	PROCEDURE_SET
																		(BgL_zc3z04anonymousza31654ze3z87_5359,
																		(int) (0L), BgL_pz00_3238);
																	{	/* Unsafe/crc.scm 328 */
																		obj_t BgL_arg2172z00_3246;

																		{	/* Unsafe/crc.scm 328 */
																			obj_t BgL_arg2173z00_3247;

																			BgL_arg2173z00_3247 =
																				BGL_EXITD_PROTECT
																				(BgL_exitd1050z00_3242);
																			BgL_arg2172z00_3246 =
																				MAKE_YOUNG_PAIR
																				(BgL_zc3z04anonymousza31654ze3z87_5359,
																				BgL_arg2173z00_3247);
																		}
																		BGL_EXITD_PROTECT_SET(BgL_exitd1050z00_3242,
																			BgL_arg2172z00_3246);
																		BUNSPEC;
																	}
																	{	/* Unsafe/crc.scm 329 */
																		obj_t BgL_tmp1052z00_3244;

																		{	/* Unsafe/crc.scm 329 */
																			obj_t BgL_auxz00_6947;

																			if (INPUT_PORTP(BgL_pz00_3238))
																				{	/* Unsafe/crc.scm 329 */
																					BgL_auxz00_6947 = BgL_pz00_3238;
																				}
																			else
																				{
																					obj_t BgL_auxz00_6950;

																					BgL_auxz00_6950 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string2428z00zz__crcz00,
																						BINT(13516L),
																						BGl_string2467z00zz__crcz00,
																						BGl_string2472z00zz__crcz00,
																						BgL_pz00_3238);
																					FAILURE(BgL_auxz00_6950, BFALSE,
																						BFALSE);
																				}
																			BgL_tmp1052z00_3244 =
																				BGl_crczd2fastzd2portz00zz__crcz00
																				(BgL_arg1646z00_1819, BgL_auxz00_6947,
																				BgL_initz00_1823,
																				BgL_finalzd2xorzd2_1822,
																				BgL_bigzd2endianzf3z21_1821);
																		}
																		{	/* Unsafe/crc.scm 328 */
																			bool_t BgL_test2712z00_6955;

																			{	/* Unsafe/crc.scm 328 */
																				obj_t BgL_arg2171z00_3249;

																				BgL_arg2171z00_3249 =
																					BGL_EXITD_PROTECT
																					(BgL_exitd1050z00_3242);
																				BgL_test2712z00_6955 =
																					PAIRP(BgL_arg2171z00_3249);
																			}
																			if (BgL_test2712z00_6955)
																				{	/* Unsafe/crc.scm 328 */
																					obj_t BgL_arg2169z00_3250;

																					{	/* Unsafe/crc.scm 328 */
																						obj_t BgL_arg2170z00_3251;

																						BgL_arg2170z00_3251 =
																							BGL_EXITD_PROTECT
																							(BgL_exitd1050z00_3242);
																						{	/* Unsafe/crc.scm 328 */
																							obj_t BgL_pairz00_3252;

																							if (PAIRP(BgL_arg2170z00_3251))
																								{	/* Unsafe/crc.scm 328 */
																									BgL_pairz00_3252 =
																										BgL_arg2170z00_3251;
																								}
																							else
																								{
																									obj_t BgL_auxz00_6961;

																									BgL_auxz00_6961 =
																										BGl_typezd2errorzd2zz__errorz00
																										(BGl_string2428z00zz__crcz00,
																										BINT(13478L),
																										BGl_string2467z00zz__crcz00,
																										BGl_string2473z00zz__crcz00,
																										BgL_arg2170z00_3251);
																									FAILURE(BgL_auxz00_6961,
																										BFALSE, BFALSE);
																								}
																							BgL_arg2169z00_3250 =
																								CDR(BgL_pairz00_3252);
																						}
																					}
																					BGL_EXITD_PROTECT_SET
																						(BgL_exitd1050z00_3242,
																						BgL_arg2169z00_3250);
																					BUNSPEC;
																				}
																			else
																				{	/* Unsafe/crc.scm 328 */
																					BFALSE;
																				}
																		}
																		{	/* Unsafe/crc.scm 330 */
																			obj_t BgL_portz00_3253;

																			if (INPUT_PORTP(BgL_pz00_3238))
																				{	/* Unsafe/crc.scm 330 */
																					BgL_portz00_3253 = BgL_pz00_3238;
																				}
																			else
																				{
																					obj_t BgL_auxz00_6969;

																					BgL_auxz00_6969 =
																						BGl_typezd2errorzd2zz__errorz00
																						(BGl_string2428z00zz__crcz00,
																						BINT(13566L),
																						BGl_string2467z00zz__crcz00,
																						BGl_string2472z00zz__crcz00,
																						BgL_pz00_3238);
																					FAILURE(BgL_auxz00_6969, BFALSE,
																						BFALSE);
																				}
																			bgl_close_input_port(BgL_portz00_3253);
																		}
																		return BgL_tmp1052z00_3244;
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* &<@anonymous:1654> */
	obj_t BGl_z62zc3z04anonymousza31654ze3ze5zz__crcz00(obj_t BgL_envz00_5360)
	{
		{	/* Unsafe/crc.scm 328 */
			{	/* Unsafe/crc.scm 330 */
				obj_t BgL_pz00_5361;

				BgL_pz00_5361 = PROCEDURE_REF(BgL_envz00_5360, (int) (0L));
				return bgl_close_input_port(((obj_t) BgL_pz00_5361));
			}
		}

	}



/* crc-file */
	BGL_EXPORTED_DEF obj_t BGl_crczd2filezd2zz__crcz00(obj_t BgL_namez00_42,
		obj_t BgL_fz00_43, obj_t BgL_bigzd2endianzf3z21_44,
		obj_t BgL_finalzd2xorzd2_45, obj_t BgL_initz00_46)
	{
		{	/* Unsafe/crc.scm 325 */
			{	/* Unsafe/crc.scm 326 */
				obj_t BgL_pz00_3254;

				{	/* Unsafe/crc.scm 326 */

					BgL_pz00_3254 =
						BGl_openzd2inputzd2filez00zz__r4_ports_6_10_1z00(BgL_fz00_43, BTRUE,
						BINT(5000000L));
				}
				if (CBOOL(BgL_pz00_3254))
					{	/* Unsafe/crc.scm 327 */
						BFALSE;
					}
				else
					{	/* Unsafe/crc.scm 327 */
						BGl_errorz00zz__errorz00(BGl_symbol2468z00zz__crcz00,
							BGl_string2471z00zz__crcz00, BgL_fz00_43);
					}
				{	/* Unsafe/crc.scm 328 */
					obj_t BgL_exitd1050z00_3258;

					BgL_exitd1050z00_3258 = BGL_EXITD_TOP_AS_OBJ();
					{	/* Unsafe/crc.scm 330 */
						obj_t BgL_zc3z04anonymousza31654ze3z87_5362;

						BgL_zc3z04anonymousza31654ze3z87_5362 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31654ze32211ze5zz__crcz00, (int) (0L),
							(int) (1L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31654ze3z87_5362, (int) (0L),
							BgL_pz00_3254);
						{	/* Unsafe/crc.scm 328 */
							obj_t BgL_arg2172z00_3262;

							{	/* Unsafe/crc.scm 328 */
								obj_t BgL_arg2173z00_3263;

								BgL_arg2173z00_3263 = BGL_EXITD_PROTECT(BgL_exitd1050z00_3258);
								BgL_arg2172z00_3262 =
									MAKE_YOUNG_PAIR(BgL_zc3z04anonymousza31654ze3z87_5362,
									BgL_arg2173z00_3263);
							}
							BGL_EXITD_PROTECT_SET(BgL_exitd1050z00_3258, BgL_arg2172z00_3262);
							BUNSPEC;
						}
						{	/* Unsafe/crc.scm 329 */
							obj_t BgL_tmp1052z00_3260;

							BgL_tmp1052z00_3260 =
								BGl_crczd2fastzd2portz00zz__crcz00(BgL_namez00_42,
								BgL_pz00_3254, BgL_initz00_46, BgL_finalzd2xorzd2_45,
								BgL_bigzd2endianzf3z21_44);
							{	/* Unsafe/crc.scm 328 */
								bool_t BgL_test2716z00_6993;

								{	/* Unsafe/crc.scm 328 */
									obj_t BgL_arg2171z00_3265;

									BgL_arg2171z00_3265 =
										BGL_EXITD_PROTECT(BgL_exitd1050z00_3258);
									BgL_test2716z00_6993 = PAIRP(BgL_arg2171z00_3265);
								}
								if (BgL_test2716z00_6993)
									{	/* Unsafe/crc.scm 328 */
										obj_t BgL_arg2169z00_3266;

										{	/* Unsafe/crc.scm 328 */
											obj_t BgL_arg2170z00_3267;

											BgL_arg2170z00_3267 =
												BGL_EXITD_PROTECT(BgL_exitd1050z00_3258);
											BgL_arg2169z00_3266 = CDR(((obj_t) BgL_arg2170z00_3267));
										}
										BGL_EXITD_PROTECT_SET(BgL_exitd1050z00_3258,
											BgL_arg2169z00_3266);
										BUNSPEC;
									}
								else
									{	/* Unsafe/crc.scm 328 */
										BFALSE;
									}
							}
							bgl_close_input_port(((obj_t) BgL_pz00_3254));
							return BgL_tmp1052z00_3260;
						}
					}
				}
			}
		}

	}



/* &<@anonymous:1654>2211 */
	obj_t BGl_z62zc3z04anonymousza31654ze32211ze5zz__crcz00(obj_t BgL_envz00_5363)
	{
		{	/* Unsafe/crc.scm 328 */
			{	/* Unsafe/crc.scm 330 */
				obj_t BgL_pz00_5364;

				BgL_pz00_5364 = PROCEDURE_REF(BgL_envz00_5363, (int) (0L));
				return bgl_close_input_port(((obj_t) BgL_pz00_5364));
			}
		}

	}



/* _crc-string */
	obj_t BGl__crczd2stringzd2zz__crcz00(obj_t BgL_env1155z00_55,
		obj_t BgL_opt1154z00_54)
	{
		{	/* Unsafe/crc.scm 335 */
			{	/* Unsafe/crc.scm 335 */
				long BgL_l1156z00_1840;

				{	/* Unsafe/crc.scm 335 */
					obj_t BgL_vectorz00_3270;

					if (VECTORP(BgL_opt1154z00_54))
						{	/* Unsafe/crc.scm 335 */
							BgL_vectorz00_3270 = BgL_opt1154z00_54;
						}
					else
						{
							obj_t BgL_auxz00_7008;

							BgL_auxz00_7008 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
								BINT(13795L), BGl_string2474z00zz__crcz00,
								BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
							FAILURE(BgL_auxz00_7008, BFALSE, BFALSE);
						}
					BgL_l1156z00_1840 = VECTOR_LENGTH(BgL_vectorz00_3270);
				}
				{	/* Unsafe/crc.scm 335 */
					obj_t BgL_namez00_1844;
					obj_t BgL_strz00_1845;

					{
						obj_t BgL_auxz00_7013;

						if (VECTORP(BgL_opt1154z00_54))
							{	/* Unsafe/crc.scm 335 */
								BgL_auxz00_7013 = BgL_opt1154z00_54;
							}
						else
							{
								obj_t BgL_auxz00_7016;

								BgL_auxz00_7016 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(13795L), BGl_string2474z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
								FAILURE(BgL_auxz00_7016, BFALSE, BFALSE);
							}
						BgL_namez00_1844 = VECTOR_REF(BgL_auxz00_7013, 0L);
					}
					{
						obj_t BgL_auxz00_7021;

						if (VECTORP(BgL_opt1154z00_54))
							{	/* Unsafe/crc.scm 335 */
								BgL_auxz00_7021 = BgL_opt1154z00_54;
							}
						else
							{
								obj_t BgL_auxz00_7024;

								BgL_auxz00_7024 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(13795L), BGl_string2474z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
								FAILURE(BgL_auxz00_7024, BFALSE, BFALSE);
							}
						BgL_strz00_1845 = VECTOR_REF(BgL_auxz00_7021, 1L);
					}
					{	/* Unsafe/crc.scm 335 */
						obj_t BgL_bigzd2endianzf3z21_1846;

						BgL_bigzd2endianzf3z21_1846 = BTRUE;
						{	/* Unsafe/crc.scm 335 */
							obj_t BgL_finalzd2xorzd2_1847;

							BgL_finalzd2xorzd2_1847 = BINT(0L);
							{	/* Unsafe/crc.scm 335 */
								obj_t BgL_initz00_1848;

								BgL_initz00_1848 = BINT(0L);
								{	/* Unsafe/crc.scm 335 */

									{
										long BgL_iz00_1849;

										BgL_iz00_1849 = 2L;
									BgL_check1158z00_1850:
										if ((BgL_iz00_1849 == BgL_l1156z00_1840))
											{	/* Unsafe/crc.scm 335 */
												BNIL;
											}
										else
											{	/* Unsafe/crc.scm 335 */
												bool_t BgL_test2721z00_7033;

												{	/* Unsafe/crc.scm 335 */
													obj_t BgL_arg1664z00_1856;

													BgL_arg1664z00_1856 =
														VECTOR_REF(
														((obj_t) BgL_opt1154z00_54), BgL_iz00_1849);
													BgL_test2721z00_7033 =
														CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
														(BgL_arg1664z00_1856, BGl_list2454z00zz__crcz00));
												}
												if (BgL_test2721z00_7033)
													{
														long BgL_iz00_7038;

														BgL_iz00_7038 = (BgL_iz00_1849 + 2L);
														BgL_iz00_1849 = BgL_iz00_7038;
														goto BgL_check1158z00_1850;
													}
												else
													{	/* Unsafe/crc.scm 335 */
														obj_t BgL_arg1662z00_1855;

														BgL_arg1662z00_1855 =
															VECTOR_REF(
															((obj_t) BgL_opt1154z00_54), BgL_iz00_1849);
														BGl_errorz00zz__errorz00
															(BGl_symbol2475z00zz__crcz00,
															BGl_string2463z00zz__crcz00, BgL_arg1662z00_1855);
													}
											}
									}
									{	/* Unsafe/crc.scm 335 */
										obj_t BgL_index1160z00_1857;

										{
											long BgL_iz00_3286;

											BgL_iz00_3286 = 2L;
										BgL_search1157z00_3285:
											if ((BgL_iz00_3286 == BgL_l1156z00_1840))
												{	/* Unsafe/crc.scm 335 */
													BgL_index1160z00_1857 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 335 */
													if ((BgL_iz00_3286 == (BgL_l1156z00_1840 - 1L)))
														{	/* Unsafe/crc.scm 335 */
															BgL_index1160z00_1857 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2475z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1154z00_54)));
														}
													else
														{	/* Unsafe/crc.scm 335 */
															obj_t BgL_vz00_3296;

															BgL_vz00_3296 =
																VECTOR_REF(BgL_opt1154z00_54, BgL_iz00_3286);
															if (
																(BgL_vz00_3296 == BGl_keyword2455z00zz__crcz00))
																{	/* Unsafe/crc.scm 335 */
																	BgL_index1160z00_1857 =
																		BINT((BgL_iz00_3286 + 1L));
																}
															else
																{
																	long BgL_iz00_7057;

																	BgL_iz00_7057 = (BgL_iz00_3286 + 2L);
																	BgL_iz00_3286 = BgL_iz00_7057;
																	goto BgL_search1157z00_3285;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 335 */
											bool_t BgL_test2725z00_7059;

											{	/* Unsafe/crc.scm 335 */
												long BgL_n1z00_3300;

												{	/* Unsafe/crc.scm 335 */
													obj_t BgL_tmpz00_7060;

													if (INTEGERP(BgL_index1160z00_1857))
														{	/* Unsafe/crc.scm 335 */
															BgL_tmpz00_7060 = BgL_index1160z00_1857;
														}
													else
														{
															obj_t BgL_auxz00_7063;

															BgL_auxz00_7063 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13795L),
																BGl_string2474z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1160z00_1857);
															FAILURE(BgL_auxz00_7063, BFALSE, BFALSE);
														}
													BgL_n1z00_3300 = (long) CINT(BgL_tmpz00_7060);
												}
												BgL_test2725z00_7059 = (BgL_n1z00_3300 >= 0L);
											}
											if (BgL_test2725z00_7059)
												{
													long BgL_auxz00_7076;
													obj_t BgL_auxz00_7069;

													{	/* Unsafe/crc.scm 335 */
														obj_t BgL_tmpz00_7077;

														if (INTEGERP(BgL_index1160z00_1857))
															{	/* Unsafe/crc.scm 335 */
																BgL_tmpz00_7077 = BgL_index1160z00_1857;
															}
														else
															{
																obj_t BgL_auxz00_7080;

																BgL_auxz00_7080 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13795L),
																	BGl_string2474z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1160z00_1857);
																FAILURE(BgL_auxz00_7080, BFALSE, BFALSE);
															}
														BgL_auxz00_7076 = (long) CINT(BgL_tmpz00_7077);
													}
													if (VECTORP(BgL_opt1154z00_54))
														{	/* Unsafe/crc.scm 335 */
															BgL_auxz00_7069 = BgL_opt1154z00_54;
														}
													else
														{
															obj_t BgL_auxz00_7072;

															BgL_auxz00_7072 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13795L),
																BGl_string2474z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
															FAILURE(BgL_auxz00_7072, BFALSE, BFALSE);
														}
													BgL_bigzd2endianzf3z21_1846 =
														VECTOR_REF(BgL_auxz00_7069, BgL_auxz00_7076);
												}
											else
												{	/* Unsafe/crc.scm 335 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 335 */
										obj_t BgL_index1161z00_1859;

										{
											long BgL_iz00_3302;

											BgL_iz00_3302 = 2L;
										BgL_search1157z00_3301:
											if ((BgL_iz00_3302 == BgL_l1156z00_1840))
												{	/* Unsafe/crc.scm 335 */
													BgL_index1161z00_1859 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 335 */
													if ((BgL_iz00_3302 == (BgL_l1156z00_1840 - 1L)))
														{	/* Unsafe/crc.scm 335 */
															BgL_index1161z00_1859 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2475z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1154z00_54)));
														}
													else
														{	/* Unsafe/crc.scm 335 */
															obj_t BgL_vz00_3312;

															BgL_vz00_3312 =
																VECTOR_REF(BgL_opt1154z00_54, BgL_iz00_3302);
															if (
																(BgL_vz00_3312 == BGl_keyword2457z00zz__crcz00))
																{	/* Unsafe/crc.scm 335 */
																	BgL_index1161z00_1859 =
																		BINT((BgL_iz00_3302 + 1L));
																}
															else
																{
																	long BgL_iz00_7100;

																	BgL_iz00_7100 = (BgL_iz00_3302 + 2L);
																	BgL_iz00_3302 = BgL_iz00_7100;
																	goto BgL_search1157z00_3301;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 335 */
											bool_t BgL_test2732z00_7102;

											{	/* Unsafe/crc.scm 335 */
												long BgL_n1z00_3316;

												{	/* Unsafe/crc.scm 335 */
													obj_t BgL_tmpz00_7103;

													if (INTEGERP(BgL_index1161z00_1859))
														{	/* Unsafe/crc.scm 335 */
															BgL_tmpz00_7103 = BgL_index1161z00_1859;
														}
													else
														{
															obj_t BgL_auxz00_7106;

															BgL_auxz00_7106 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13795L),
																BGl_string2474z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1161z00_1859);
															FAILURE(BgL_auxz00_7106, BFALSE, BFALSE);
														}
													BgL_n1z00_3316 = (long) CINT(BgL_tmpz00_7103);
												}
												BgL_test2732z00_7102 = (BgL_n1z00_3316 >= 0L);
											}
											if (BgL_test2732z00_7102)
												{
													long BgL_auxz00_7119;
													obj_t BgL_auxz00_7112;

													{	/* Unsafe/crc.scm 335 */
														obj_t BgL_tmpz00_7120;

														if (INTEGERP(BgL_index1161z00_1859))
															{	/* Unsafe/crc.scm 335 */
																BgL_tmpz00_7120 = BgL_index1161z00_1859;
															}
														else
															{
																obj_t BgL_auxz00_7123;

																BgL_auxz00_7123 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13795L),
																	BGl_string2474z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1161z00_1859);
																FAILURE(BgL_auxz00_7123, BFALSE, BFALSE);
															}
														BgL_auxz00_7119 = (long) CINT(BgL_tmpz00_7120);
													}
													if (VECTORP(BgL_opt1154z00_54))
														{	/* Unsafe/crc.scm 335 */
															BgL_auxz00_7112 = BgL_opt1154z00_54;
														}
													else
														{
															obj_t BgL_auxz00_7115;

															BgL_auxz00_7115 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13795L),
																BGl_string2474z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
															FAILURE(BgL_auxz00_7115, BFALSE, BFALSE);
														}
													BgL_finalzd2xorzd2_1847 =
														VECTOR_REF(BgL_auxz00_7112, BgL_auxz00_7119);
												}
											else
												{	/* Unsafe/crc.scm 335 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 335 */
										obj_t BgL_index1162z00_1861;

										{
											long BgL_iz00_3318;

											BgL_iz00_3318 = 2L;
										BgL_search1157z00_3317:
											if ((BgL_iz00_3318 == BgL_l1156z00_1840))
												{	/* Unsafe/crc.scm 335 */
													BgL_index1162z00_1861 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 335 */
													if ((BgL_iz00_3318 == (BgL_l1156z00_1840 - 1L)))
														{	/* Unsafe/crc.scm 335 */
															BgL_index1162z00_1861 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2475z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1154z00_54)));
														}
													else
														{	/* Unsafe/crc.scm 335 */
															obj_t BgL_vz00_3328;

															BgL_vz00_3328 =
																VECTOR_REF(BgL_opt1154z00_54, BgL_iz00_3318);
															if (
																(BgL_vz00_3328 == BGl_keyword2459z00zz__crcz00))
																{	/* Unsafe/crc.scm 335 */
																	BgL_index1162z00_1861 =
																		BINT((BgL_iz00_3318 + 1L));
																}
															else
																{
																	long BgL_iz00_7143;

																	BgL_iz00_7143 = (BgL_iz00_3318 + 2L);
																	BgL_iz00_3318 = BgL_iz00_7143;
																	goto BgL_search1157z00_3317;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 335 */
											bool_t BgL_test2739z00_7145;

											{	/* Unsafe/crc.scm 335 */
												long BgL_n1z00_3332;

												{	/* Unsafe/crc.scm 335 */
													obj_t BgL_tmpz00_7146;

													if (INTEGERP(BgL_index1162z00_1861))
														{	/* Unsafe/crc.scm 335 */
															BgL_tmpz00_7146 = BgL_index1162z00_1861;
														}
													else
														{
															obj_t BgL_auxz00_7149;

															BgL_auxz00_7149 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13795L),
																BGl_string2474z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1162z00_1861);
															FAILURE(BgL_auxz00_7149, BFALSE, BFALSE);
														}
													BgL_n1z00_3332 = (long) CINT(BgL_tmpz00_7146);
												}
												BgL_test2739z00_7145 = (BgL_n1z00_3332 >= 0L);
											}
											if (BgL_test2739z00_7145)
												{
													long BgL_auxz00_7162;
													obj_t BgL_auxz00_7155;

													{	/* Unsafe/crc.scm 335 */
														obj_t BgL_tmpz00_7163;

														if (INTEGERP(BgL_index1162z00_1861))
															{	/* Unsafe/crc.scm 335 */
																BgL_tmpz00_7163 = BgL_index1162z00_1861;
															}
														else
															{
																obj_t BgL_auxz00_7166;

																BgL_auxz00_7166 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13795L),
																	BGl_string2474z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1162z00_1861);
																FAILURE(BgL_auxz00_7166, BFALSE, BFALSE);
															}
														BgL_auxz00_7162 = (long) CINT(BgL_tmpz00_7163);
													}
													if (VECTORP(BgL_opt1154z00_54))
														{	/* Unsafe/crc.scm 335 */
															BgL_auxz00_7155 = BgL_opt1154z00_54;
														}
													else
														{
															obj_t BgL_auxz00_7158;

															BgL_auxz00_7158 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(13795L),
																BGl_string2474z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
															FAILURE(BgL_auxz00_7158, BFALSE, BFALSE);
														}
													BgL_initz00_1848 =
														VECTOR_REF(BgL_auxz00_7155, BgL_auxz00_7162);
												}
											else
												{	/* Unsafe/crc.scm 335 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 335 */
										obj_t BgL_arg1671z00_1863;
										obj_t BgL_arg1672z00_1864;

										{
											obj_t BgL_auxz00_7172;

											if (VECTORP(BgL_opt1154z00_54))
												{	/* Unsafe/crc.scm 335 */
													BgL_auxz00_7172 = BgL_opt1154z00_54;
												}
											else
												{
													obj_t BgL_auxz00_7175;

													BgL_auxz00_7175 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(13795L),
														BGl_string2474z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
													FAILURE(BgL_auxz00_7175, BFALSE, BFALSE);
												}
											BgL_arg1671z00_1863 = VECTOR_REF(BgL_auxz00_7172, 0L);
										}
										{
											obj_t BgL_auxz00_7180;

											if (VECTORP(BgL_opt1154z00_54))
												{	/* Unsafe/crc.scm 335 */
													BgL_auxz00_7180 = BgL_opt1154z00_54;
												}
											else
												{
													obj_t BgL_auxz00_7183;

													BgL_auxz00_7183 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(13795L),
														BGl_string2474z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1154z00_54);
													FAILURE(BgL_auxz00_7183, BFALSE, BFALSE);
												}
											BgL_arg1672z00_1864 = VECTOR_REF(BgL_auxz00_7180, 1L);
										}
										{	/* Unsafe/crc.scm 335 */
											obj_t BgL_bigzd2endianzf3z21_1865;

											BgL_bigzd2endianzf3z21_1865 = BgL_bigzd2endianzf3z21_1846;
											{	/* Unsafe/crc.scm 335 */
												obj_t BgL_finalzd2xorzd2_1866;

												BgL_finalzd2xorzd2_1866 = BgL_finalzd2xorzd2_1847;
												{	/* Unsafe/crc.scm 335 */
													obj_t BgL_initz00_1867;

													BgL_initz00_1867 = BgL_initz00_1848;
													{	/* Unsafe/crc.scm 335 */
														obj_t BgL_strz00_3333;

														if (STRINGP(BgL_arg1672z00_1864))
															{	/* Unsafe/crc.scm 335 */
																BgL_strz00_3333 = BgL_arg1672z00_1864;
															}
														else
															{
																obj_t BgL_auxz00_7190;

																BgL_auxz00_7190 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(13795L),
																	BGl_string2474z00zz__crcz00,
																	BGl_string2470z00zz__crcz00,
																	BgL_arg1672z00_1864);
																FAILURE(BgL_auxz00_7190, BFALSE, BFALSE);
															}
														{	/* Unsafe/crc.scm 336 */
															obj_t BgL_arg1689z00_3334;

															{	/* Unsafe/crc.scm 336 */
																long BgL_endz00_3337;

																BgL_endz00_3337 =
																	STRING_LENGTH(BgL_strz00_3333);
																{	/* Unsafe/crc.scm 336 */

																	BgL_arg1689z00_3334 =
																		BGl_openzd2inputzd2stringz00zz__r4_ports_6_10_1z00
																		(BgL_strz00_3333, BINT(0L),
																		BINT(BgL_endz00_3337));
															}}
															return
																BGl_crczd2fastzd2portz00zz__crcz00
																(BgL_arg1671z00_1863, BgL_arg1689z00_3334,
																BgL_initz00_1867, BgL_finalzd2xorzd2_1866,
																BgL_bigzd2endianzf3z21_1865);
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* crc-string */
	BGL_EXPORTED_DEF obj_t BGl_crczd2stringzd2zz__crcz00(obj_t BgL_namez00_49,
		obj_t BgL_strz00_50, obj_t BgL_bigzd2endianzf3z21_51,
		obj_t BgL_finalzd2xorzd2_52, obj_t BgL_initz00_53)
	{
		{	/* Unsafe/crc.scm 335 */
			{	/* Unsafe/crc.scm 336 */
				obj_t BgL_arg1689z00_3339;

				{	/* Unsafe/crc.scm 336 */
					long BgL_endz00_3342;

					BgL_endz00_3342 = STRING_LENGTH(BgL_strz00_50);
					{	/* Unsafe/crc.scm 336 */

						BgL_arg1689z00_3339 =
							BGl_openzd2inputzd2stringz00zz__r4_ports_6_10_1z00(BgL_strz00_50,
							BINT(0L), BINT(BgL_endz00_3342));
				}}
				return
					BGl_crczd2fastzd2portz00zz__crcz00(BgL_namez00_49,
					BgL_arg1689z00_3339, BgL_initz00_53, BgL_finalzd2xorzd2_52,
					BgL_bigzd2endianzf3z21_51);
			}
		}

	}



/* _crc-port */
	obj_t BGl__crczd2portzd2zz__crcz00(obj_t BgL_env1164z00_62,
		obj_t BgL_opt1163z00_61)
	{
		{	/* Unsafe/crc.scm 341 */
			{	/* Unsafe/crc.scm 341 */
				long BgL_l1165z00_1879;

				{	/* Unsafe/crc.scm 341 */
					obj_t BgL_vectorz00_3344;

					if (VECTORP(BgL_opt1163z00_61))
						{	/* Unsafe/crc.scm 341 */
							BgL_vectorz00_3344 = BgL_opt1163z00_61;
						}
					else
						{
							obj_t BgL_auxz00_7206;

							BgL_auxz00_7206 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
								BINT(14180L), BGl_string2477z00zz__crcz00,
								BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
							FAILURE(BgL_auxz00_7206, BFALSE, BFALSE);
						}
					BgL_l1165z00_1879 = VECTOR_LENGTH(BgL_vectorz00_3344);
				}
				{	/* Unsafe/crc.scm 341 */
					obj_t BgL_namez00_1883;
					obj_t BgL_pz00_1884;

					{
						obj_t BgL_auxz00_7211;

						if (VECTORP(BgL_opt1163z00_61))
							{	/* Unsafe/crc.scm 341 */
								BgL_auxz00_7211 = BgL_opt1163z00_61;
							}
						else
							{
								obj_t BgL_auxz00_7214;

								BgL_auxz00_7214 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(14180L), BGl_string2477z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
								FAILURE(BgL_auxz00_7214, BFALSE, BFALSE);
							}
						BgL_namez00_1883 = VECTOR_REF(BgL_auxz00_7211, 0L);
					}
					{
						obj_t BgL_auxz00_7219;

						if (VECTORP(BgL_opt1163z00_61))
							{	/* Unsafe/crc.scm 341 */
								BgL_auxz00_7219 = BgL_opt1163z00_61;
							}
						else
							{
								obj_t BgL_auxz00_7222;

								BgL_auxz00_7222 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(14180L), BGl_string2477z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
								FAILURE(BgL_auxz00_7222, BFALSE, BFALSE);
							}
						BgL_pz00_1884 = VECTOR_REF(BgL_auxz00_7219, 1L);
					}
					{	/* Unsafe/crc.scm 341 */
						obj_t BgL_bigzd2endianzf3z21_1885;

						BgL_bigzd2endianzf3z21_1885 = BTRUE;
						{	/* Unsafe/crc.scm 341 */
							obj_t BgL_finalzd2xorzd2_1886;

							BgL_finalzd2xorzd2_1886 = BINT(0L);
							{	/* Unsafe/crc.scm 341 */
								obj_t BgL_initz00_1887;

								BgL_initz00_1887 = BINT(0L);
								{	/* Unsafe/crc.scm 341 */

									{
										long BgL_iz00_1888;

										BgL_iz00_1888 = 2L;
									BgL_check1167z00_1889:
										if ((BgL_iz00_1888 == BgL_l1165z00_1879))
											{	/* Unsafe/crc.scm 341 */
												BNIL;
											}
										else
											{	/* Unsafe/crc.scm 341 */
												bool_t BgL_test2750z00_7231;

												{	/* Unsafe/crc.scm 341 */
													obj_t BgL_arg1702z00_1895;

													BgL_arg1702z00_1895 =
														VECTOR_REF(
														((obj_t) BgL_opt1163z00_61), BgL_iz00_1888);
													BgL_test2750z00_7231 =
														CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
														(BgL_arg1702z00_1895, BGl_list2454z00zz__crcz00));
												}
												if (BgL_test2750z00_7231)
													{
														long BgL_iz00_7236;

														BgL_iz00_7236 = (BgL_iz00_1888 + 2L);
														BgL_iz00_1888 = BgL_iz00_7236;
														goto BgL_check1167z00_1889;
													}
												else
													{	/* Unsafe/crc.scm 341 */
														obj_t BgL_arg1698z00_1894;

														BgL_arg1698z00_1894 =
															VECTOR_REF(
															((obj_t) BgL_opt1163z00_61), BgL_iz00_1888);
														BGl_errorz00zz__errorz00
															(BGl_symbol2478z00zz__crcz00,
															BGl_string2463z00zz__crcz00, BgL_arg1698z00_1894);
													}
											}
									}
									{	/* Unsafe/crc.scm 341 */
										obj_t BgL_index1169z00_1896;

										{
											long BgL_iz00_3360;

											BgL_iz00_3360 = 2L;
										BgL_search1166z00_3359:
											if ((BgL_iz00_3360 == BgL_l1165z00_1879))
												{	/* Unsafe/crc.scm 341 */
													BgL_index1169z00_1896 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 341 */
													if ((BgL_iz00_3360 == (BgL_l1165z00_1879 - 1L)))
														{	/* Unsafe/crc.scm 341 */
															BgL_index1169z00_1896 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2478z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1163z00_61)));
														}
													else
														{	/* Unsafe/crc.scm 341 */
															obj_t BgL_vz00_3370;

															BgL_vz00_3370 =
																VECTOR_REF(BgL_opt1163z00_61, BgL_iz00_3360);
															if (
																(BgL_vz00_3370 == BGl_keyword2455z00zz__crcz00))
																{	/* Unsafe/crc.scm 341 */
																	BgL_index1169z00_1896 =
																		BINT((BgL_iz00_3360 + 1L));
																}
															else
																{
																	long BgL_iz00_7255;

																	BgL_iz00_7255 = (BgL_iz00_3360 + 2L);
																	BgL_iz00_3360 = BgL_iz00_7255;
																	goto BgL_search1166z00_3359;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 341 */
											bool_t BgL_test2754z00_7257;

											{	/* Unsafe/crc.scm 341 */
												long BgL_n1z00_3374;

												{	/* Unsafe/crc.scm 341 */
													obj_t BgL_tmpz00_7258;

													if (INTEGERP(BgL_index1169z00_1896))
														{	/* Unsafe/crc.scm 341 */
															BgL_tmpz00_7258 = BgL_index1169z00_1896;
														}
													else
														{
															obj_t BgL_auxz00_7261;

															BgL_auxz00_7261 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14180L),
																BGl_string2477z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1169z00_1896);
															FAILURE(BgL_auxz00_7261, BFALSE, BFALSE);
														}
													BgL_n1z00_3374 = (long) CINT(BgL_tmpz00_7258);
												}
												BgL_test2754z00_7257 = (BgL_n1z00_3374 >= 0L);
											}
											if (BgL_test2754z00_7257)
												{
													long BgL_auxz00_7274;
													obj_t BgL_auxz00_7267;

													{	/* Unsafe/crc.scm 341 */
														obj_t BgL_tmpz00_7275;

														if (INTEGERP(BgL_index1169z00_1896))
															{	/* Unsafe/crc.scm 341 */
																BgL_tmpz00_7275 = BgL_index1169z00_1896;
															}
														else
															{
																obj_t BgL_auxz00_7278;

																BgL_auxz00_7278 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14180L),
																	BGl_string2477z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1169z00_1896);
																FAILURE(BgL_auxz00_7278, BFALSE, BFALSE);
															}
														BgL_auxz00_7274 = (long) CINT(BgL_tmpz00_7275);
													}
													if (VECTORP(BgL_opt1163z00_61))
														{	/* Unsafe/crc.scm 341 */
															BgL_auxz00_7267 = BgL_opt1163z00_61;
														}
													else
														{
															obj_t BgL_auxz00_7270;

															BgL_auxz00_7270 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14180L),
																BGl_string2477z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
															FAILURE(BgL_auxz00_7270, BFALSE, BFALSE);
														}
													BgL_bigzd2endianzf3z21_1885 =
														VECTOR_REF(BgL_auxz00_7267, BgL_auxz00_7274);
												}
											else
												{	/* Unsafe/crc.scm 341 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 341 */
										obj_t BgL_index1170z00_1898;

										{
											long BgL_iz00_3376;

											BgL_iz00_3376 = 2L;
										BgL_search1166z00_3375:
											if ((BgL_iz00_3376 == BgL_l1165z00_1879))
												{	/* Unsafe/crc.scm 341 */
													BgL_index1170z00_1898 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 341 */
													if ((BgL_iz00_3376 == (BgL_l1165z00_1879 - 1L)))
														{	/* Unsafe/crc.scm 341 */
															BgL_index1170z00_1898 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2478z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1163z00_61)));
														}
													else
														{	/* Unsafe/crc.scm 341 */
															obj_t BgL_vz00_3386;

															BgL_vz00_3386 =
																VECTOR_REF(BgL_opt1163z00_61, BgL_iz00_3376);
															if (
																(BgL_vz00_3386 == BGl_keyword2457z00zz__crcz00))
																{	/* Unsafe/crc.scm 341 */
																	BgL_index1170z00_1898 =
																		BINT((BgL_iz00_3376 + 1L));
																}
															else
																{
																	long BgL_iz00_7298;

																	BgL_iz00_7298 = (BgL_iz00_3376 + 2L);
																	BgL_iz00_3376 = BgL_iz00_7298;
																	goto BgL_search1166z00_3375;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 341 */
											bool_t BgL_test2761z00_7300;

											{	/* Unsafe/crc.scm 341 */
												long BgL_n1z00_3390;

												{	/* Unsafe/crc.scm 341 */
													obj_t BgL_tmpz00_7301;

													if (INTEGERP(BgL_index1170z00_1898))
														{	/* Unsafe/crc.scm 341 */
															BgL_tmpz00_7301 = BgL_index1170z00_1898;
														}
													else
														{
															obj_t BgL_auxz00_7304;

															BgL_auxz00_7304 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14180L),
																BGl_string2477z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1170z00_1898);
															FAILURE(BgL_auxz00_7304, BFALSE, BFALSE);
														}
													BgL_n1z00_3390 = (long) CINT(BgL_tmpz00_7301);
												}
												BgL_test2761z00_7300 = (BgL_n1z00_3390 >= 0L);
											}
											if (BgL_test2761z00_7300)
												{
													long BgL_auxz00_7317;
													obj_t BgL_auxz00_7310;

													{	/* Unsafe/crc.scm 341 */
														obj_t BgL_tmpz00_7318;

														if (INTEGERP(BgL_index1170z00_1898))
															{	/* Unsafe/crc.scm 341 */
																BgL_tmpz00_7318 = BgL_index1170z00_1898;
															}
														else
															{
																obj_t BgL_auxz00_7321;

																BgL_auxz00_7321 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14180L),
																	BGl_string2477z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1170z00_1898);
																FAILURE(BgL_auxz00_7321, BFALSE, BFALSE);
															}
														BgL_auxz00_7317 = (long) CINT(BgL_tmpz00_7318);
													}
													if (VECTORP(BgL_opt1163z00_61))
														{	/* Unsafe/crc.scm 341 */
															BgL_auxz00_7310 = BgL_opt1163z00_61;
														}
													else
														{
															obj_t BgL_auxz00_7313;

															BgL_auxz00_7313 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14180L),
																BGl_string2477z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
															FAILURE(BgL_auxz00_7313, BFALSE, BFALSE);
														}
													BgL_finalzd2xorzd2_1886 =
														VECTOR_REF(BgL_auxz00_7310, BgL_auxz00_7317);
												}
											else
												{	/* Unsafe/crc.scm 341 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 341 */
										obj_t BgL_index1171z00_1900;

										{
											long BgL_iz00_3392;

											BgL_iz00_3392 = 2L;
										BgL_search1166z00_3391:
											if ((BgL_iz00_3392 == BgL_l1165z00_1879))
												{	/* Unsafe/crc.scm 341 */
													BgL_index1171z00_1900 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 341 */
													if ((BgL_iz00_3392 == (BgL_l1165z00_1879 - 1L)))
														{	/* Unsafe/crc.scm 341 */
															BgL_index1171z00_1900 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2478z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1163z00_61)));
														}
													else
														{	/* Unsafe/crc.scm 341 */
															obj_t BgL_vz00_3402;

															BgL_vz00_3402 =
																VECTOR_REF(BgL_opt1163z00_61, BgL_iz00_3392);
															if (
																(BgL_vz00_3402 == BGl_keyword2459z00zz__crcz00))
																{	/* Unsafe/crc.scm 341 */
																	BgL_index1171z00_1900 =
																		BINT((BgL_iz00_3392 + 1L));
																}
															else
																{
																	long BgL_iz00_7341;

																	BgL_iz00_7341 = (BgL_iz00_3392 + 2L);
																	BgL_iz00_3392 = BgL_iz00_7341;
																	goto BgL_search1166z00_3391;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 341 */
											bool_t BgL_test2768z00_7343;

											{	/* Unsafe/crc.scm 341 */
												long BgL_n1z00_3406;

												{	/* Unsafe/crc.scm 341 */
													obj_t BgL_tmpz00_7344;

													if (INTEGERP(BgL_index1171z00_1900))
														{	/* Unsafe/crc.scm 341 */
															BgL_tmpz00_7344 = BgL_index1171z00_1900;
														}
													else
														{
															obj_t BgL_auxz00_7347;

															BgL_auxz00_7347 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14180L),
																BGl_string2477z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1171z00_1900);
															FAILURE(BgL_auxz00_7347, BFALSE, BFALSE);
														}
													BgL_n1z00_3406 = (long) CINT(BgL_tmpz00_7344);
												}
												BgL_test2768z00_7343 = (BgL_n1z00_3406 >= 0L);
											}
											if (BgL_test2768z00_7343)
												{
													long BgL_auxz00_7360;
													obj_t BgL_auxz00_7353;

													{	/* Unsafe/crc.scm 341 */
														obj_t BgL_tmpz00_7361;

														if (INTEGERP(BgL_index1171z00_1900))
															{	/* Unsafe/crc.scm 341 */
																BgL_tmpz00_7361 = BgL_index1171z00_1900;
															}
														else
															{
																obj_t BgL_auxz00_7364;

																BgL_auxz00_7364 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14180L),
																	BGl_string2477z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1171z00_1900);
																FAILURE(BgL_auxz00_7364, BFALSE, BFALSE);
															}
														BgL_auxz00_7360 = (long) CINT(BgL_tmpz00_7361);
													}
													if (VECTORP(BgL_opt1163z00_61))
														{	/* Unsafe/crc.scm 341 */
															BgL_auxz00_7353 = BgL_opt1163z00_61;
														}
													else
														{
															obj_t BgL_auxz00_7356;

															BgL_auxz00_7356 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14180L),
																BGl_string2477z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
															FAILURE(BgL_auxz00_7356, BFALSE, BFALSE);
														}
													BgL_initz00_1887 =
														VECTOR_REF(BgL_auxz00_7353, BgL_auxz00_7360);
												}
											else
												{	/* Unsafe/crc.scm 341 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 341 */
										obj_t BgL_arg1706z00_1902;
										obj_t BgL_arg1707z00_1903;

										{
											obj_t BgL_auxz00_7370;

											if (VECTORP(BgL_opt1163z00_61))
												{	/* Unsafe/crc.scm 341 */
													BgL_auxz00_7370 = BgL_opt1163z00_61;
												}
											else
												{
													obj_t BgL_auxz00_7373;

													BgL_auxz00_7373 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(14180L),
														BGl_string2477z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
													FAILURE(BgL_auxz00_7373, BFALSE, BFALSE);
												}
											BgL_arg1706z00_1902 = VECTOR_REF(BgL_auxz00_7370, 0L);
										}
										{
											obj_t BgL_auxz00_7378;

											if (VECTORP(BgL_opt1163z00_61))
												{	/* Unsafe/crc.scm 341 */
													BgL_auxz00_7378 = BgL_opt1163z00_61;
												}
											else
												{
													obj_t BgL_auxz00_7381;

													BgL_auxz00_7381 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(14180L),
														BGl_string2477z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1163z00_61);
													FAILURE(BgL_auxz00_7381, BFALSE, BFALSE);
												}
											BgL_arg1707z00_1903 = VECTOR_REF(BgL_auxz00_7378, 1L);
										}
										{	/* Unsafe/crc.scm 341 */
											obj_t BgL_bigzd2endianzf3z21_1904;

											BgL_bigzd2endianzf3z21_1904 = BgL_bigzd2endianzf3z21_1885;
											{	/* Unsafe/crc.scm 341 */
												obj_t BgL_finalzd2xorzd2_1905;

												BgL_finalzd2xorzd2_1905 = BgL_finalzd2xorzd2_1886;
												{	/* Unsafe/crc.scm 341 */
													obj_t BgL_initz00_1906;

													BgL_initz00_1906 = BgL_initz00_1887;
													{	/* Unsafe/crc.scm 341 */
														obj_t BgL_pz00_3407;

														if (INPUT_PORTP(BgL_arg1707z00_1903))
															{	/* Unsafe/crc.scm 341 */
																BgL_pz00_3407 = BgL_arg1707z00_1903;
															}
														else
															{
																obj_t BgL_auxz00_7388;

																BgL_auxz00_7388 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14180L),
																	BGl_string2477z00zz__crcz00,
																	BGl_string2472z00zz__crcz00,
																	BgL_arg1707z00_1903);
																FAILURE(BgL_auxz00_7388, BFALSE, BFALSE);
															}
														return
															BGl_crczd2fastzd2portz00zz__crcz00
															(BgL_arg1706z00_1902, BgL_pz00_3407,
															BgL_initz00_1906, BgL_finalzd2xorzd2_1905,
															BgL_bigzd2endianzf3z21_1904);
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* crc-port */
	BGL_EXPORTED_DEF obj_t BGl_crczd2portzd2zz__crcz00(obj_t BgL_namez00_56,
		obj_t BgL_pz00_57, obj_t BgL_bigzd2endianzf3z21_58,
		obj_t BgL_finalzd2xorzd2_59, obj_t BgL_initz00_60)
	{
		{	/* Unsafe/crc.scm 341 */
			BGL_TAIL return
				BGl_crczd2fastzd2portz00zz__crcz00(BgL_namez00_56, BgL_pz00_57,
				BgL_initz00_60, BgL_finalzd2xorzd2_59, BgL_bigzd2endianzf3z21_58);
		}

	}



/* _crc-mmap */
	obj_t BGl__crczd2mmapzd2zz__crcz00(obj_t BgL_env1173z00_69,
		obj_t BgL_opt1172z00_68)
	{
		{	/* Unsafe/crc.scm 347 */
			{	/* Unsafe/crc.scm 347 */
				long BgL_l1174z00_1914;

				{	/* Unsafe/crc.scm 347 */
					obj_t BgL_vectorz00_3408;

					if (VECTORP(BgL_opt1172z00_68))
						{	/* Unsafe/crc.scm 347 */
							BgL_vectorz00_3408 = BgL_opt1172z00_68;
						}
					else
						{
							obj_t BgL_auxz00_7396;

							BgL_auxz00_7396 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
								BINT(14542L), BGl_string2480z00zz__crcz00,
								BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
							FAILURE(BgL_auxz00_7396, BFALSE, BFALSE);
						}
					BgL_l1174z00_1914 = VECTOR_LENGTH(BgL_vectorz00_3408);
				}
				{	/* Unsafe/crc.scm 347 */
					obj_t BgL_namez00_1918;
					obj_t BgL_mz00_1919;

					{
						obj_t BgL_auxz00_7401;

						if (VECTORP(BgL_opt1172z00_68))
							{	/* Unsafe/crc.scm 347 */
								BgL_auxz00_7401 = BgL_opt1172z00_68;
							}
						else
							{
								obj_t BgL_auxz00_7404;

								BgL_auxz00_7404 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(14542L), BGl_string2480z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
								FAILURE(BgL_auxz00_7404, BFALSE, BFALSE);
							}
						BgL_namez00_1918 = VECTOR_REF(BgL_auxz00_7401, 0L);
					}
					{
						obj_t BgL_auxz00_7409;

						if (VECTORP(BgL_opt1172z00_68))
							{	/* Unsafe/crc.scm 347 */
								BgL_auxz00_7409 = BgL_opt1172z00_68;
							}
						else
							{
								obj_t BgL_auxz00_7412;

								BgL_auxz00_7412 =
									BGl_typezd2errorzd2zz__errorz00(BGl_string2428z00zz__crcz00,
									BINT(14542L), BGl_string2480z00zz__crcz00,
									BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
								FAILURE(BgL_auxz00_7412, BFALSE, BFALSE);
							}
						BgL_mz00_1919 = VECTOR_REF(BgL_auxz00_7409, 1L);
					}
					{	/* Unsafe/crc.scm 347 */
						obj_t BgL_bigzd2endianzf3z21_1920;

						BgL_bigzd2endianzf3z21_1920 = BTRUE;
						{	/* Unsafe/crc.scm 347 */
							obj_t BgL_finalzd2xorzd2_1921;

							BgL_finalzd2xorzd2_1921 = BINT(0L);
							{	/* Unsafe/crc.scm 347 */
								obj_t BgL_initz00_1922;

								BgL_initz00_1922 = BINT(0L);
								{	/* Unsafe/crc.scm 347 */

									{
										long BgL_iz00_1923;

										BgL_iz00_1923 = 2L;
									BgL_check1176z00_1924:
										if ((BgL_iz00_1923 == BgL_l1174z00_1914))
											{	/* Unsafe/crc.scm 347 */
												BNIL;
											}
										else
											{	/* Unsafe/crc.scm 347 */
												bool_t BgL_test2779z00_7421;

												{	/* Unsafe/crc.scm 347 */
													obj_t BgL_arg1720z00_1930;

													BgL_arg1720z00_1930 =
														VECTOR_REF(
														((obj_t) BgL_opt1172z00_68), BgL_iz00_1923);
													BgL_test2779z00_7421 =
														CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
														(BgL_arg1720z00_1930, BGl_list2454z00zz__crcz00));
												}
												if (BgL_test2779z00_7421)
													{
														long BgL_iz00_7426;

														BgL_iz00_7426 = (BgL_iz00_1923 + 2L);
														BgL_iz00_1923 = BgL_iz00_7426;
														goto BgL_check1176z00_1924;
													}
												else
													{	/* Unsafe/crc.scm 347 */
														obj_t BgL_arg1719z00_1929;

														BgL_arg1719z00_1929 =
															VECTOR_REF(
															((obj_t) BgL_opt1172z00_68), BgL_iz00_1923);
														BGl_errorz00zz__errorz00
															(BGl_symbol2481z00zz__crcz00,
															BGl_string2463z00zz__crcz00, BgL_arg1719z00_1929);
													}
											}
									}
									{	/* Unsafe/crc.scm 347 */
										obj_t BgL_index1178z00_1931;

										{
											long BgL_iz00_3424;

											BgL_iz00_3424 = 2L;
										BgL_search1175z00_3423:
											if ((BgL_iz00_3424 == BgL_l1174z00_1914))
												{	/* Unsafe/crc.scm 347 */
													BgL_index1178z00_1931 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 347 */
													if ((BgL_iz00_3424 == (BgL_l1174z00_1914 - 1L)))
														{	/* Unsafe/crc.scm 347 */
															BgL_index1178z00_1931 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2481z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1172z00_68)));
														}
													else
														{	/* Unsafe/crc.scm 347 */
															obj_t BgL_vz00_3434;

															BgL_vz00_3434 =
																VECTOR_REF(BgL_opt1172z00_68, BgL_iz00_3424);
															if (
																(BgL_vz00_3434 == BGl_keyword2455z00zz__crcz00))
																{	/* Unsafe/crc.scm 347 */
																	BgL_index1178z00_1931 =
																		BINT((BgL_iz00_3424 + 1L));
																}
															else
																{
																	long BgL_iz00_7445;

																	BgL_iz00_7445 = (BgL_iz00_3424 + 2L);
																	BgL_iz00_3424 = BgL_iz00_7445;
																	goto BgL_search1175z00_3423;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 347 */
											bool_t BgL_test2783z00_7447;

											{	/* Unsafe/crc.scm 347 */
												long BgL_n1z00_3438;

												{	/* Unsafe/crc.scm 347 */
													obj_t BgL_tmpz00_7448;

													if (INTEGERP(BgL_index1178z00_1931))
														{	/* Unsafe/crc.scm 347 */
															BgL_tmpz00_7448 = BgL_index1178z00_1931;
														}
													else
														{
															obj_t BgL_auxz00_7451;

															BgL_auxz00_7451 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14542L),
																BGl_string2480z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1178z00_1931);
															FAILURE(BgL_auxz00_7451, BFALSE, BFALSE);
														}
													BgL_n1z00_3438 = (long) CINT(BgL_tmpz00_7448);
												}
												BgL_test2783z00_7447 = (BgL_n1z00_3438 >= 0L);
											}
											if (BgL_test2783z00_7447)
												{
													long BgL_auxz00_7464;
													obj_t BgL_auxz00_7457;

													{	/* Unsafe/crc.scm 347 */
														obj_t BgL_tmpz00_7465;

														if (INTEGERP(BgL_index1178z00_1931))
															{	/* Unsafe/crc.scm 347 */
																BgL_tmpz00_7465 = BgL_index1178z00_1931;
															}
														else
															{
																obj_t BgL_auxz00_7468;

																BgL_auxz00_7468 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14542L),
																	BGl_string2480z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1178z00_1931);
																FAILURE(BgL_auxz00_7468, BFALSE, BFALSE);
															}
														BgL_auxz00_7464 = (long) CINT(BgL_tmpz00_7465);
													}
													if (VECTORP(BgL_opt1172z00_68))
														{	/* Unsafe/crc.scm 347 */
															BgL_auxz00_7457 = BgL_opt1172z00_68;
														}
													else
														{
															obj_t BgL_auxz00_7460;

															BgL_auxz00_7460 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14542L),
																BGl_string2480z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
															FAILURE(BgL_auxz00_7460, BFALSE, BFALSE);
														}
													BgL_bigzd2endianzf3z21_1920 =
														VECTOR_REF(BgL_auxz00_7457, BgL_auxz00_7464);
												}
											else
												{	/* Unsafe/crc.scm 347 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 347 */
										obj_t BgL_index1179z00_1933;

										{
											long BgL_iz00_3440;

											BgL_iz00_3440 = 2L;
										BgL_search1175z00_3439:
											if ((BgL_iz00_3440 == BgL_l1174z00_1914))
												{	/* Unsafe/crc.scm 347 */
													BgL_index1179z00_1933 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 347 */
													if ((BgL_iz00_3440 == (BgL_l1174z00_1914 - 1L)))
														{	/* Unsafe/crc.scm 347 */
															BgL_index1179z00_1933 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2481z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1172z00_68)));
														}
													else
														{	/* Unsafe/crc.scm 347 */
															obj_t BgL_vz00_3450;

															BgL_vz00_3450 =
																VECTOR_REF(BgL_opt1172z00_68, BgL_iz00_3440);
															if (
																(BgL_vz00_3450 == BGl_keyword2457z00zz__crcz00))
																{	/* Unsafe/crc.scm 347 */
																	BgL_index1179z00_1933 =
																		BINT((BgL_iz00_3440 + 1L));
																}
															else
																{
																	long BgL_iz00_7488;

																	BgL_iz00_7488 = (BgL_iz00_3440 + 2L);
																	BgL_iz00_3440 = BgL_iz00_7488;
																	goto BgL_search1175z00_3439;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 347 */
											bool_t BgL_test2790z00_7490;

											{	/* Unsafe/crc.scm 347 */
												long BgL_n1z00_3454;

												{	/* Unsafe/crc.scm 347 */
													obj_t BgL_tmpz00_7491;

													if (INTEGERP(BgL_index1179z00_1933))
														{	/* Unsafe/crc.scm 347 */
															BgL_tmpz00_7491 = BgL_index1179z00_1933;
														}
													else
														{
															obj_t BgL_auxz00_7494;

															BgL_auxz00_7494 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14542L),
																BGl_string2480z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1179z00_1933);
															FAILURE(BgL_auxz00_7494, BFALSE, BFALSE);
														}
													BgL_n1z00_3454 = (long) CINT(BgL_tmpz00_7491);
												}
												BgL_test2790z00_7490 = (BgL_n1z00_3454 >= 0L);
											}
											if (BgL_test2790z00_7490)
												{
													long BgL_auxz00_7507;
													obj_t BgL_auxz00_7500;

													{	/* Unsafe/crc.scm 347 */
														obj_t BgL_tmpz00_7508;

														if (INTEGERP(BgL_index1179z00_1933))
															{	/* Unsafe/crc.scm 347 */
																BgL_tmpz00_7508 = BgL_index1179z00_1933;
															}
														else
															{
																obj_t BgL_auxz00_7511;

																BgL_auxz00_7511 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14542L),
																	BGl_string2480z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1179z00_1933);
																FAILURE(BgL_auxz00_7511, BFALSE, BFALSE);
															}
														BgL_auxz00_7507 = (long) CINT(BgL_tmpz00_7508);
													}
													if (VECTORP(BgL_opt1172z00_68))
														{	/* Unsafe/crc.scm 347 */
															BgL_auxz00_7500 = BgL_opt1172z00_68;
														}
													else
														{
															obj_t BgL_auxz00_7503;

															BgL_auxz00_7503 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14542L),
																BGl_string2480z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
															FAILURE(BgL_auxz00_7503, BFALSE, BFALSE);
														}
													BgL_finalzd2xorzd2_1921 =
														VECTOR_REF(BgL_auxz00_7500, BgL_auxz00_7507);
												}
											else
												{	/* Unsafe/crc.scm 347 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 347 */
										obj_t BgL_index1180z00_1935;

										{
											long BgL_iz00_3456;

											BgL_iz00_3456 = 2L;
										BgL_search1175z00_3455:
											if ((BgL_iz00_3456 == BgL_l1174z00_1914))
												{	/* Unsafe/crc.scm 347 */
													BgL_index1180z00_1935 = BINT((-1L));
												}
											else
												{	/* Unsafe/crc.scm 347 */
													if ((BgL_iz00_3456 == (BgL_l1174z00_1914 - 1L)))
														{	/* Unsafe/crc.scm 347 */
															BgL_index1180z00_1935 =
																BGl_errorz00zz__errorz00
																(BGl_symbol2481z00zz__crcz00,
																BGl_string2464z00zz__crcz00,
																BINT(VECTOR_LENGTH(BgL_opt1172z00_68)));
														}
													else
														{	/* Unsafe/crc.scm 347 */
															obj_t BgL_vz00_3466;

															BgL_vz00_3466 =
																VECTOR_REF(BgL_opt1172z00_68, BgL_iz00_3456);
															if (
																(BgL_vz00_3466 == BGl_keyword2459z00zz__crcz00))
																{	/* Unsafe/crc.scm 347 */
																	BgL_index1180z00_1935 =
																		BINT((BgL_iz00_3456 + 1L));
																}
															else
																{
																	long BgL_iz00_7531;

																	BgL_iz00_7531 = (BgL_iz00_3456 + 2L);
																	BgL_iz00_3456 = BgL_iz00_7531;
																	goto BgL_search1175z00_3455;
																}
														}
												}
										}
										{	/* Unsafe/crc.scm 347 */
											bool_t BgL_test2797z00_7533;

											{	/* Unsafe/crc.scm 347 */
												long BgL_n1z00_3470;

												{	/* Unsafe/crc.scm 347 */
													obj_t BgL_tmpz00_7534;

													if (INTEGERP(BgL_index1180z00_1935))
														{	/* Unsafe/crc.scm 347 */
															BgL_tmpz00_7534 = BgL_index1180z00_1935;
														}
													else
														{
															obj_t BgL_auxz00_7537;

															BgL_auxz00_7537 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14542L),
																BGl_string2480z00zz__crcz00,
																BGl_string2431z00zz__crcz00,
																BgL_index1180z00_1935);
															FAILURE(BgL_auxz00_7537, BFALSE, BFALSE);
														}
													BgL_n1z00_3470 = (long) CINT(BgL_tmpz00_7534);
												}
												BgL_test2797z00_7533 = (BgL_n1z00_3470 >= 0L);
											}
											if (BgL_test2797z00_7533)
												{
													long BgL_auxz00_7550;
													obj_t BgL_auxz00_7543;

													{	/* Unsafe/crc.scm 347 */
														obj_t BgL_tmpz00_7551;

														if (INTEGERP(BgL_index1180z00_1935))
															{	/* Unsafe/crc.scm 347 */
																BgL_tmpz00_7551 = BgL_index1180z00_1935;
															}
														else
															{
																obj_t BgL_auxz00_7554;

																BgL_auxz00_7554 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14542L),
																	BGl_string2480z00zz__crcz00,
																	BGl_string2431z00zz__crcz00,
																	BgL_index1180z00_1935);
																FAILURE(BgL_auxz00_7554, BFALSE, BFALSE);
															}
														BgL_auxz00_7550 = (long) CINT(BgL_tmpz00_7551);
													}
													if (VECTORP(BgL_opt1172z00_68))
														{	/* Unsafe/crc.scm 347 */
															BgL_auxz00_7543 = BgL_opt1172z00_68;
														}
													else
														{
															obj_t BgL_auxz00_7546;

															BgL_auxz00_7546 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string2428z00zz__crcz00, BINT(14542L),
																BGl_string2480z00zz__crcz00,
																BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
															FAILURE(BgL_auxz00_7546, BFALSE, BFALSE);
														}
													BgL_initz00_1922 =
														VECTOR_REF(BgL_auxz00_7543, BgL_auxz00_7550);
												}
											else
												{	/* Unsafe/crc.scm 347 */
													BFALSE;
												}
										}
									}
									{	/* Unsafe/crc.scm 347 */
										obj_t BgL_arg1724z00_1937;
										obj_t BgL_arg1725z00_1938;

										{
											obj_t BgL_auxz00_7560;

											if (VECTORP(BgL_opt1172z00_68))
												{	/* Unsafe/crc.scm 347 */
													BgL_auxz00_7560 = BgL_opt1172z00_68;
												}
											else
												{
													obj_t BgL_auxz00_7563;

													BgL_auxz00_7563 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(14542L),
														BGl_string2480z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
													FAILURE(BgL_auxz00_7563, BFALSE, BFALSE);
												}
											BgL_arg1724z00_1937 = VECTOR_REF(BgL_auxz00_7560, 0L);
										}
										{
											obj_t BgL_auxz00_7568;

											if (VECTORP(BgL_opt1172z00_68))
												{	/* Unsafe/crc.scm 347 */
													BgL_auxz00_7568 = BgL_opt1172z00_68;
												}
											else
												{
													obj_t BgL_auxz00_7571;

													BgL_auxz00_7571 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string2428z00zz__crcz00, BINT(14542L),
														BGl_string2480z00zz__crcz00,
														BGl_string2453z00zz__crcz00, BgL_opt1172z00_68);
													FAILURE(BgL_auxz00_7571, BFALSE, BFALSE);
												}
											BgL_arg1725z00_1938 = VECTOR_REF(BgL_auxz00_7568, 1L);
										}
										{	/* Unsafe/crc.scm 347 */
											obj_t BgL_bigzd2endianzf3z21_1939;

											BgL_bigzd2endianzf3z21_1939 = BgL_bigzd2endianzf3z21_1920;
											{	/* Unsafe/crc.scm 347 */
												obj_t BgL_finalzd2xorzd2_1940;

												BgL_finalzd2xorzd2_1940 = BgL_finalzd2xorzd2_1921;
												{	/* Unsafe/crc.scm 347 */
													obj_t BgL_initz00_1941;

													BgL_initz00_1941 = BgL_initz00_1922;
													{	/* Unsafe/crc.scm 347 */
														obj_t BgL_mz00_3471;

														if (BGL_MMAPP(BgL_arg1725z00_1938))
															{	/* Unsafe/crc.scm 347 */
																BgL_mz00_3471 = BgL_arg1725z00_1938;
															}
														else
															{
																obj_t BgL_auxz00_7578;

																BgL_auxz00_7578 =
																	BGl_typezd2errorzd2zz__errorz00
																	(BGl_string2428z00zz__crcz00, BINT(14542L),
																	BGl_string2480z00zz__crcz00,
																	BGl_string2465z00zz__crcz00,
																	BgL_arg1725z00_1938);
																FAILURE(BgL_auxz00_7578, BFALSE, BFALSE);
															}
														return
															BGl_crczd2fastzd2mmapz00zz__crcz00
															(BgL_arg1724z00_1937, BgL_mz00_3471,
															BgL_initz00_1941, BgL_finalzd2xorzd2_1940,
															BgL_bigzd2endianzf3z21_1939);
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* crc-mmap */
	BGL_EXPORTED_DEF obj_t BGl_crczd2mmapzd2zz__crcz00(obj_t BgL_namez00_63,
		obj_t BgL_mz00_64, obj_t BgL_bigzd2endianzf3z21_65,
		obj_t BgL_finalzd2xorzd2_66, obj_t BgL_initz00_67)
	{
		{	/* Unsafe/crc.scm 347 */
			BGL_TAIL return
				BGl_crczd2fastzd2mmapz00zz__crcz00(BgL_namez00_63, BgL_mz00_64,
				BgL_initz00_67, BgL_finalzd2xorzd2_66, BgL_bigzd2endianzf3z21_65);
		}

	}



/* get-crc */
	obj_t BGl_getzd2crczd2zz__crcz00(obj_t BgL_namez00_70)
	{
		{	/* Unsafe/crc.scm 353 */
			{	/* Unsafe/crc.scm 354 */
				obj_t BgL_crczd2desczd2_1949;

				BgL_crczd2desczd2_1949 =
					BGl_assocz00zz__r4_pairs_and_lists_6_3z00(BgL_namez00_70,
					BGl_za2crcsza2z00zz__crcz00);
				if (CBOOL(BgL_crczd2desczd2_1949))
					{	/* Unsafe/crc.scm 355 */
						BFALSE;
					}
				else
					{	/* Unsafe/crc.scm 355 */
						BGl_errorz00zz__errorz00(BGl_symbol2461z00zz__crcz00,
							BGl_string2483z00zz__crcz00, BgL_namez00_70);
					}
				{	/* Unsafe/crc.scm 357 */
					obj_t BgL_lenz00_1950;
					obj_t BgL_polyz00_1951;
					obj_t BgL_lsbzd2polyzd2_1952;

					{	/* Unsafe/crc.scm 357 */
						obj_t BgL_pairz00_3475;

						BgL_pairz00_3475 = CDR(((obj_t) BgL_crczd2desczd2_1949));
						BgL_lenz00_1950 = CAR(BgL_pairz00_3475);
					}
					{	/* Unsafe/crc.scm 358 */
						obj_t BgL_pairz00_3481;

						{	/* Unsafe/crc.scm 358 */
							obj_t BgL_pairz00_3480;

							BgL_pairz00_3480 = CDR(((obj_t) BgL_crczd2desczd2_1949));
							BgL_pairz00_3481 = CDR(BgL_pairz00_3480);
						}
						BgL_polyz00_1951 = CAR(BgL_pairz00_3481);
					}
					{	/* Unsafe/crc.scm 359 */
						obj_t BgL_pairz00_3489;

						{	/* Unsafe/crc.scm 359 */
							obj_t BgL_pairz00_3488;

							{	/* Unsafe/crc.scm 359 */
								obj_t BgL_pairz00_3487;

								BgL_pairz00_3487 = CDR(((obj_t) BgL_crczd2desczd2_1949));
								BgL_pairz00_3488 = CDR(BgL_pairz00_3487);
							}
							BgL_pairz00_3489 = CDR(BgL_pairz00_3488);
						}
						BgL_lsbzd2polyzd2_1952 = CAR(BgL_pairz00_3489);
					}
					{	/* Unsafe/crc.scm 360 */
						int BgL_tmpz00_7600;

						BgL_tmpz00_7600 = (int) (3L);
						BGL_MVALUES_NUMBER_SET(BgL_tmpz00_7600);
					}
					{	/* Unsafe/crc.scm 360 */
						int BgL_tmpz00_7603;

						BgL_tmpz00_7603 = (int) (1L);
						BGL_MVALUES_VAL_SET(BgL_tmpz00_7603, BgL_polyz00_1951);
					}
					{	/* Unsafe/crc.scm 360 */
						int BgL_tmpz00_7606;

						BgL_tmpz00_7606 = (int) (2L);
						BGL_MVALUES_VAL_SET(BgL_tmpz00_7606, BgL_lsbzd2polyzd2_1952);
					}
					return BgL_lenz00_1950;
				}
			}
		}

	}



/* crc-fast-port */
	obj_t BGl_crczd2fastzd2portz00zz__crcz00(obj_t BgL_namez00_73,
		obj_t BgL_pz00_74, obj_t BgL_initz00_75, obj_t BgL_finalzd2xorzd2_76,
		obj_t BgL_bigzd2endianzf3z21_77)
	{
		{	/* Unsafe/crc.scm 382 */
			{	/* Unsafe/crc.scm 383 */
				obj_t BgL_lenz00_1959;

				BgL_lenz00_1959 = BGl_getzd2crczd2zz__crcz00(BgL_namez00_73);
				{	/* Unsafe/crc.scm 384 */
					obj_t BgL_polyz00_1960;
					obj_t BgL_lsbzd2polyzd2_1961;

					{	/* Unsafe/crc.scm 386 */
						obj_t BgL_tmpz00_3496;

						{	/* Unsafe/crc.scm 386 */
							int BgL_tmpz00_7610;

							BgL_tmpz00_7610 = (int) (1L);
							BgL_tmpz00_3496 = BGL_MVALUES_VAL(BgL_tmpz00_7610);
						}
						{	/* Unsafe/crc.scm 386 */
							int BgL_tmpz00_7613;

							BgL_tmpz00_7613 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_7613, BUNSPEC);
						}
						BgL_polyz00_1960 = BgL_tmpz00_3496;
					}
					{	/* Unsafe/crc.scm 386 */
						obj_t BgL_tmpz00_3497;

						{	/* Unsafe/crc.scm 386 */
							int BgL_tmpz00_7616;

							BgL_tmpz00_7616 = (int) (2L);
							BgL_tmpz00_3497 = BGL_MVALUES_VAL(BgL_tmpz00_7616);
						}
						{	/* Unsafe/crc.scm 386 */
							int BgL_tmpz00_7619;

							BgL_tmpz00_7619 = (int) (2L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_7619, BUNSPEC);
						}
						BgL_lsbzd2polyzd2_1961 = BgL_tmpz00_3497;
					}
					if (INTEGERP(BgL_polyz00_1960))
						{	/* Unsafe/crc.scm 386 */
							if (CBOOL(BgL_bigzd2endianzf3z21_77))
								{	/* Unsafe/crc.scm 388 */
									long BgL_res2178z00_3615;

									{	/* Unsafe/crc.scm 388 */
										long BgL_initz00_3499;
										long BgL_finalzd2xorzd2_3500;
										long BgL_polyz00_3501;
										long BgL_crczd2lenzd2_3502;

										BgL_initz00_3499 = (long) CINT(BgL_initz00_75);
										BgL_finalzd2xorzd2_3500 =
											(long) CINT(BgL_finalzd2xorzd2_76);
										BgL_polyz00_3501 = (long) CINT(BgL_polyz00_1960);
										BgL_crczd2lenzd2_3502 = (long) CINT(BgL_lenz00_1959);
										{	/* Unsafe/crc.scm 497 */
											long BgL_mz00_3503;

											BgL_mz00_3503 =
												(
												(1L <<
													(int) (
														(BgL_crczd2lenzd2_3502 - 1L))) +
												((1L << (int) ((BgL_crczd2lenzd2_3502 - 1L))) - 1L));
											{
												long BgL_crcz00_3510;

												BgL_crcz00_3510 = BgL_initz00_3499;
											BgL_loopz00_3509:
												{	/* Unsafe/crc.scm 504 */
													obj_t BgL_cz00_3511;

													BgL_cz00_3511 =
														BGl_readzd2charzd2zz__r4_input_6_10_2z00
														(BgL_pz00_74);
													if (EOF_OBJECTP(BgL_cz00_3511))
														{	/* Unsafe/crc.scm 505 */
															BgL_res2178z00_3615 =
																(
																(BgL_finalzd2xorzd2_3500 ^ BgL_crcz00_3510) &
																BgL_mz00_3503);
														}
													else
														{	/* Unsafe/crc.scm 507 */
															long BgL_arg1800z00_3514;

															{	/* Unsafe/crc.scm 507 */
																unsigned char BgL_cz00_3526;

																BgL_cz00_3526 = CCHAR(BgL_cz00_3511);
																{

																	if ((BgL_crczd2lenzd2_3502 >= 8L))
																		{	/* Unsafe/crc.scm 111 */
																			{	/* Unsafe/crc.scm 76 */
																				long BgL_mz00_3535;

																				BgL_mz00_3535 =
																					(1L <<
																					(int) ((BgL_crczd2lenzd2_3502 - 1L)));
																				{	/* Unsafe/crc.scm 77 */

																					{
																						long BgL_iz00_3539;
																						long BgL_crcz00_3540;

																						BgL_iz00_3539 = 0L;
																						BgL_crcz00_3540 =
																							(BgL_crcz00_3510 ^
																							(((unsigned char) (BgL_cz00_3526))
																								<< (int) ((BgL_crczd2lenzd2_3502
																										- 8L))));
																					BgL_loopz00_3538:
																						if ((BgL_iz00_3539 == 8L))
																							{	/* Unsafe/crc.scm 80 */
																								BgL_arg1800z00_3514 =
																									BgL_crcz00_3540;
																							}
																						else
																							{
																								long BgL_crcz00_7653;
																								long BgL_iz00_7651;

																								BgL_iz00_7651 =
																									(BgL_iz00_3539 + 1L);
																								BgL_crcz00_7653 =
																									(
																									(((BgL_mz00_3535 &
																												BgL_crcz00_3540) >>
																											(int) (
																												(BgL_crczd2lenzd2_3502 -
																													1L))) *
																										BgL_polyz00_3501) ^
																									(BgL_crcz00_3540 <<
																										(int) (1L)));
																								BgL_crcz00_3540 =
																									BgL_crcz00_7653;
																								BgL_iz00_3539 = BgL_iz00_7651;
																								goto BgL_loopz00_3538;
																							}
																					}
																				}
																			}
																		}
																	else
																		{	/* Unsafe/crc.scm 111 */
																			{	/* Unsafe/crc.scm 92 */
																				long BgL_mz00_3550;

																				BgL_mz00_3550 =
																					(1L <<
																					(int) ((BgL_crczd2lenzd2_3502 - 1L)));
																				{	/* Unsafe/crc.scm 94 */

																					{
																						long BgL_iz00_3554;
																						long BgL_crcz00_3555;
																						long BgL_shiftedzd2valuezd2_3556;

																						BgL_iz00_3554 = 0L;
																						BgL_crcz00_3555 = BgL_crcz00_3510;
																						BgL_shiftedzd2valuezd2_3556 =
																							(
																							((unsigned char) (BgL_cz00_3526))
																							<< (int) (BgL_crczd2lenzd2_3502));
																					BgL_loopz00_3553:
																						if ((BgL_iz00_3554 == 8L))
																							{	/* Unsafe/crc.scm 98 */
																								BgL_arg1800z00_3514 =
																									BgL_crcz00_3555;
																							}
																						else
																							{	/* Unsafe/crc.scm 100 */
																								long BgL_crc2z00_3558;

																								BgL_crc2z00_3558 =
																									(BgL_crcz00_3555 ^
																									(BgL_mz00_3550 &
																										(BgL_shiftedzd2valuezd2_3556
																											>> (int) (8L))));
																								{	/* Unsafe/crc.scm 104 */

																									{
																										long
																											BgL_shiftedzd2valuezd2_7688;
																										long BgL_crcz00_7679;
																										long BgL_iz00_7677;

																										BgL_iz00_7677 =
																											(BgL_iz00_3554 + 1L);
																										BgL_crcz00_7679 =
																											(
																											(((BgL_mz00_3550 &
																														BgL_crc2z00_3558) >>
																													(int) (
																														(BgL_crczd2lenzd2_3502
																															-
																															1L))) *
																												BgL_polyz00_3501) ^
																											(BgL_crc2z00_3558 <<
																												(int) (1L)));
																										BgL_shiftedzd2valuezd2_7688
																											=
																											(BgL_shiftedzd2valuezd2_3556
																											<< (int) (1L));
																										BgL_shiftedzd2valuezd2_3556
																											=
																											BgL_shiftedzd2valuezd2_7688;
																										BgL_crcz00_3555 =
																											BgL_crcz00_7679;
																										BgL_iz00_3554 =
																											BgL_iz00_7677;
																										goto BgL_loopz00_3553;
																									}
																								}
																							}
																					}
																				}
																			}
																		}
																}
															}
															{
																long BgL_crcz00_7695;

																BgL_crcz00_7695 = BgL_arg1800z00_3514;
																BgL_crcz00_3510 = BgL_crcz00_7695;
																goto BgL_loopz00_3509;
															}
														}
												}
											}
										}
									}
									return BINT(BgL_res2178z00_3615);
								}
							else
								{	/* Unsafe/crc.scm 389 */
									long BgL_res2180z00_3671;

									{	/* Unsafe/crc.scm 389 */
										long BgL_initz00_3617;
										long BgL_finalzd2xorzd2_3618;
										long BgL_polyz00_3619;
										long BgL_crczd2lenzd2_3620;

										BgL_initz00_3617 = (long) CINT(BgL_initz00_75);
										BgL_finalzd2xorzd2_3618 =
											(long) CINT(BgL_finalzd2xorzd2_76);
										BgL_polyz00_3619 = (long) CINT(BgL_lsbzd2polyzd2_1961);
										BgL_crczd2lenzd2_3620 = (long) CINT(BgL_lenz00_1959);
										{	/* Unsafe/crc.scm 497 */
											long BgL_mz00_3621;

											BgL_mz00_3621 =
												(
												(1L <<
													(int) (
														(BgL_crczd2lenzd2_3620 - 1L))) +
												((1L << (int) ((BgL_crczd2lenzd2_3620 - 1L))) - 1L));
											{
												long BgL_crcz00_3628;

												BgL_crcz00_3628 = BgL_initz00_3617;
											BgL_loopz00_3627:
												{	/* Unsafe/crc.scm 504 */
													obj_t BgL_cz00_3629;

													BgL_cz00_3629 =
														BGl_readzd2charzd2zz__r4_input_6_10_2z00
														(BgL_pz00_74);
													if (EOF_OBJECTP(BgL_cz00_3629))
														{	/* Unsafe/crc.scm 505 */
															BgL_res2180z00_3671 =
																(
																(BgL_finalzd2xorzd2_3618 ^ BgL_crcz00_3628) &
																BgL_mz00_3621);
														}
													else
														{	/* Unsafe/crc.scm 507 */
															long BgL_arg1800z00_3632;

															{
																long BgL_iz00_3651;
																long BgL_crcz00_3652;

																BgL_iz00_3651 = 0L;
																BgL_crcz00_3652 =
																	(BgL_crcz00_3628 ^
																	((unsigned char) (CCHAR(BgL_cz00_3629))));
															BgL_loopz00_3650:
																if ((BgL_iz00_3651 == 8L))
																	{	/* Unsafe/crc.scm 164 */
																		BgL_arg1800z00_3632 = BgL_crcz00_3652;
																	}
																else
																	{
																		long BgL_crcz00_7718;
																		long BgL_iz00_7716;

																		BgL_iz00_7716 = (BgL_iz00_3651 + 1L);
																		BgL_crcz00_7718 =
																			(
																			((1L & BgL_crcz00_3652) *
																				BgL_polyz00_3619) ^ (long) (((unsigned
																						long) (BgL_crcz00_3652) >>
																					(int) (1L))));
																		BgL_crcz00_3652 = BgL_crcz00_7718;
																		BgL_iz00_3651 = BgL_iz00_7716;
																		goto BgL_loopz00_3650;
																	}
															}
															{
																long BgL_crcz00_7730;

																BgL_crcz00_7730 = BgL_arg1800z00_3632;
																BgL_crcz00_3628 = BgL_crcz00_7730;
																goto BgL_loopz00_3627;
															}
														}
												}
											}
										}
									}
									return BINT(BgL_res2180z00_3671);
								}
						}
					else
						{	/* Unsafe/crc.scm 386 */
							if (ELONGP(BgL_polyz00_1960))
								{	/* Unsafe/crc.scm 390 */
									if (CBOOL(BgL_bigzd2endianzf3z21_77))
										{	/* Unsafe/crc.scm 392 */
											obj_t BgL_arg1739z00_1964;
											obj_t BgL_arg1740z00_1965;

											if (INTEGERP(BgL_initz00_75))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_3673;

													BgL_xz00_3673 = (long) CINT(BgL_initz00_75);
													BgL_arg1739z00_1964 =
														make_belong((long) (BgL_xz00_3673));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1739z00_1964 = BgL_initz00_75;
												}
											if (INTEGERP(BgL_finalzd2xorzd2_76))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_3675;

													BgL_xz00_3675 = (long) CINT(BgL_finalzd2xorzd2_76);
													BgL_arg1740z00_1965 =
														make_belong((long) (BgL_xz00_3675));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1740z00_1965 = BgL_finalzd2xorzd2_76;
												}
											{	/* Unsafe/crc.scm 392 */
												long BgL_res2184z00_3847;

												{	/* Unsafe/crc.scm 392 */
													long BgL_initz00_3677;
													long BgL_finalzd2xorzd2_3678;
													long BgL_polyz00_3679;
													long BgL_crczd2lenzd2_3680;

													BgL_initz00_3677 =
														BELONG_TO_LONG(BgL_arg1739z00_1964);
													BgL_finalzd2xorzd2_3678 =
														BELONG_TO_LONG(BgL_arg1740z00_1965);
													BgL_polyz00_3679 = BELONG_TO_LONG(BgL_polyz00_1960);
													BgL_crczd2lenzd2_3680 = (long) CINT(BgL_lenz00_1959);
													{	/* Unsafe/crc.scm 514 */
														long BgL_mz00_3681;

														{	/* Unsafe/crc.scm 517 */
															long BgL_tmpz00_7750;

															{	/* Unsafe/crc.scm 518 */
																long BgL_res2181z00_3701;

																{	/* Unsafe/crc.scm 518 */
																	long BgL_tmpz00_7754;

																	BgL_tmpz00_7754 =
																		(
																		(((long) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_3680 - 1L))) -
																		((long) 1));
																	BgL_res2181z00_3701 =
																		(long) (BgL_tmpz00_7754);
																}
																BgL_tmpz00_7750 = BgL_res2181z00_3701;
															}
															BgL_mz00_3681 =
																(
																(((long) 1) <<
																	(int) (
																		(BgL_crczd2lenzd2_3680 - 1L))) +
																BgL_tmpz00_7750);
														}
														{
															long BgL_crcz00_3688;

															BgL_crcz00_3688 = BgL_initz00_3677;
														BgL_loopz00_3687:
															{	/* Unsafe/crc.scm 521 */
																obj_t BgL_cz00_3689;

																BgL_cz00_3689 =
																	BGl_readzd2charzd2zz__r4_input_6_10_2z00
																	(BgL_pz00_74);
																if (EOF_OBJECTP(BgL_cz00_3689))
																	{	/* Unsafe/crc.scm 522 */
																		BgL_res2184z00_3847 =
																			(
																			(BgL_finalzd2xorzd2_3678 ^
																				BgL_crcz00_3688) & BgL_mz00_3681);
																	}
																else
																	{	/* Unsafe/crc.scm 524 */
																		long BgL_arg1812z00_3692;

																		{	/* Unsafe/crc.scm 524 */
																			long BgL_res2183z00_3846;

																			{	/* Unsafe/crc.scm 524 */
																				unsigned char BgL_cz00_3708;

																				BgL_cz00_3708 = CCHAR(BgL_cz00_3689);
																				if ((BgL_crczd2lenzd2_3680 >= 8L))
																					{	/* Unsafe/crc.scm 122 */
																						long BgL_octetz00_3713;

																						BgL_octetz00_3713 =
																							((unsigned char) (BgL_cz00_3708));
																						{	/* Unsafe/crc.scm 123 */
																							long BgL_valuez00_3714;
																							long BgL_mz00_3715;

																							{	/* Unsafe/crc.scm 123 */
																								long BgL_arg1507z00_3716;
																								long BgL_arg1508z00_3717;

																								BgL_arg1507z00_3716 =
																									(long) (BgL_octetz00_3713);
																								BgL_arg1508z00_3717 =
																									(BgL_crczd2lenzd2_3680 - 8L);
																								BgL_valuez00_3714 =
																									(BgL_arg1507z00_3716 <<
																									(int) (BgL_arg1508z00_3717));
																							}
																							BgL_mz00_3715 =
																								(((long) 1) <<
																								(int) (
																									(BgL_crczd2lenzd2_3680 -
																										1L)));
																							{
																								long BgL_iz00_3721;
																								long BgL_crcz00_3722;

																								BgL_iz00_3721 = 0L;
																								BgL_crcz00_3722 =
																									(BgL_crcz00_3688 ^
																									BgL_valuez00_3714);
																							BgL_loopz00_3720:
																								if ((BgL_iz00_3721 == 8L))
																									{	/* Unsafe/crc.scm 127 */
																										BgL_res2183z00_3846 =
																											BgL_crcz00_3722;
																									}
																								else
																									{	/* Unsafe/crc.scm 129 */
																										long BgL_newzd2crczd2_3724;

																										BgL_newzd2crczd2_3724 =
																											(BgL_crcz00_3722 <<
																											(int) (1L));
																										if (
																											(((long) 0) ==
																												(BgL_mz00_3715 &
																													BgL_crcz00_3722)))
																											{
																												long BgL_crcz00_7787;
																												long BgL_iz00_7785;

																												BgL_iz00_7785 =
																													(BgL_iz00_3721 + 1L);
																												BgL_crcz00_7787 =
																													BgL_newzd2crczd2_3724;
																												BgL_crcz00_3722 =
																													BgL_crcz00_7787;
																												BgL_iz00_3721 =
																													BgL_iz00_7785;
																												goto BgL_loopz00_3720;
																											}
																										else
																											{
																												long BgL_crcz00_7790;
																												long BgL_iz00_7788;

																												BgL_iz00_7788 =
																													(BgL_iz00_3721 + 1L);
																												BgL_crcz00_7790 =
																													(BgL_newzd2crczd2_3724
																													^ BgL_polyz00_3679);
																												BgL_crcz00_3722 =
																													BgL_crcz00_7790;
																												BgL_iz00_3721 =
																													BgL_iz00_7788;
																												goto BgL_loopz00_3720;
																											}
																									}
																							}
																						}
																					}
																				else
																					{	/* Unsafe/crc.scm 133 */
																						long BgL_arg1510z00_3730;

																						{	/* Unsafe/crc.scm 133 */
																							long BgL_arg1511z00_3731;
																							long BgL_arg1512z00_3732;

																							BgL_arg1511z00_3731 =
																								(long) (BgL_crcz00_3688);
																							BgL_arg1512z00_3732 =
																								(long) (BgL_polyz00_3679);
																							{

																								if (
																									(BgL_crczd2lenzd2_3680 >= 8L))
																									{	/* Unsafe/crc.scm 111 */
																										{	/* Unsafe/crc.scm 76 */
																											long BgL_mz00_3765;

																											BgL_mz00_3765 =
																												(1L <<
																												(int) (
																													(BgL_crczd2lenzd2_3680
																														- 1L)));
																											{	/* Unsafe/crc.scm 77 */

																												{
																													long BgL_iz00_3769;
																													long BgL_crcz00_3770;

																													BgL_iz00_3769 = 0L;
																													BgL_crcz00_3770 =
																														(BgL_arg1511z00_3731
																														^ (((unsigned
																																	char)
																																(BgL_cz00_3708))
																															<<
																															(int) (
																																(BgL_crczd2lenzd2_3680
																																	- 8L))));
																												BgL_loopz00_3768:
																													if (
																														(BgL_iz00_3769 ==
																															8L))
																														{	/* Unsafe/crc.scm 80 */
																															BgL_arg1510z00_3730
																																=
																																BgL_crcz00_3770;
																														}
																													else
																														{
																															long
																																BgL_crcz00_7804;
																															long
																																BgL_iz00_7802;
																															BgL_iz00_7802 =
																																(BgL_iz00_3769 +
																																1L);
																															BgL_crcz00_7804 =
																																((((BgL_mz00_3765 & BgL_crcz00_3770) >> (int) ((BgL_crczd2lenzd2_3680 - 1L))) * BgL_arg1512z00_3732) ^ (BgL_crcz00_3770 << (int) (1L)));
																															BgL_crcz00_3770 =
																																BgL_crcz00_7804;
																															BgL_iz00_3769 =
																																BgL_iz00_7802;
																															goto
																																BgL_loopz00_3768;
																														}
																												}
																											}
																										}
																									}
																								else
																									{	/* Unsafe/crc.scm 111 */
																										{	/* Unsafe/crc.scm 92 */
																											long BgL_mz00_3780;

																											BgL_mz00_3780 =
																												(1L <<
																												(int) (
																													(BgL_crczd2lenzd2_3680
																														- 1L)));
																											{	/* Unsafe/crc.scm 94 */

																												{
																													long BgL_iz00_3784;
																													long BgL_crcz00_3785;
																													long
																														BgL_shiftedzd2valuezd2_3786;
																													BgL_iz00_3784 = 0L;
																													BgL_crcz00_3785 =
																														BgL_arg1511z00_3731;
																													BgL_shiftedzd2valuezd2_3786
																														=
																														(((unsigned
																																char)
																															(BgL_cz00_3708))
																														<<
																														(int)
																														(BgL_crczd2lenzd2_3680));
																												BgL_loopz00_3783:
																													if (
																														(BgL_iz00_3784 ==
																															8L))
																														{	/* Unsafe/crc.scm 98 */
																															BgL_arg1510z00_3730
																																=
																																BgL_crcz00_3785;
																														}
																													else
																														{	/* Unsafe/crc.scm 100 */
																															long
																																BgL_crc2z00_3788;
																															BgL_crc2z00_3788 =
																																(BgL_crcz00_3785
																																^ (BgL_mz00_3780
																																	&
																																	(BgL_shiftedzd2valuezd2_3786
																																		>>
																																		(int)
																																		(8L))));
																															{	/* Unsafe/crc.scm 104 */

																																{
																																	long
																																		BgL_shiftedzd2valuezd2_7839;
																																	long
																																		BgL_crcz00_7830;
																																	long
																																		BgL_iz00_7828;
																																	BgL_iz00_7828
																																		=
																																		(BgL_iz00_3784
																																		+ 1L);
																																	BgL_crcz00_7830
																																		=
																																		((((BgL_mz00_3780 & BgL_crc2z00_3788) >> (int) ((BgL_crczd2lenzd2_3680 - 1L))) * BgL_arg1512z00_3732) ^ (BgL_crc2z00_3788 << (int) (1L)));
																																	BgL_shiftedzd2valuezd2_7839
																																		=
																																		(BgL_shiftedzd2valuezd2_3786
																																		<<
																																		(int) (1L));
																																	BgL_shiftedzd2valuezd2_3786
																																		=
																																		BgL_shiftedzd2valuezd2_7839;
																																	BgL_crcz00_3785
																																		=
																																		BgL_crcz00_7830;
																																	BgL_iz00_3784
																																		=
																																		BgL_iz00_7828;
																																	goto
																																		BgL_loopz00_3783;
																																}
																															}
																														}
																												}
																											}
																										}
																									}
																							}
																						}
																						BgL_res2183z00_3846 =
																							(long) (BgL_arg1510z00_3730);
																			}}
																			BgL_arg1812z00_3692 = BgL_res2183z00_3846;
																		}
																		{
																			long BgL_crcz00_7847;

																			BgL_crcz00_7847 = BgL_arg1812z00_3692;
																			BgL_crcz00_3688 = BgL_crcz00_7847;
																			goto BgL_loopz00_3687;
																		}
																	}
															}
														}
													}
												}
												return make_belong(BgL_res2184z00_3847);
											}
										}
									else
										{	/* Unsafe/crc.scm 394 */
											obj_t BgL_arg1741z00_1966;
											obj_t BgL_arg1742z00_1967;

											if (INTEGERP(BgL_initz00_75))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_3849;

													BgL_xz00_3849 = (long) CINT(BgL_initz00_75);
													BgL_arg1741z00_1966 =
														make_belong((long) (BgL_xz00_3849));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1741z00_1966 = BgL_initz00_75;
												}
											if (INTEGERP(BgL_finalzd2xorzd2_76))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_3851;

													BgL_xz00_3851 = (long) CINT(BgL_finalzd2xorzd2_76);
													BgL_arg1742z00_1967 =
														make_belong((long) (BgL_xz00_3851));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1742z00_1967 = BgL_finalzd2xorzd2_76;
												}
											{	/* Unsafe/crc.scm 394 */
												long BgL_res2187z00_3914;

												{	/* Unsafe/crc.scm 394 */
													long BgL_initz00_3853;
													long BgL_finalzd2xorzd2_3854;
													long BgL_polyz00_3855;
													long BgL_crczd2lenzd2_3856;

													BgL_initz00_3853 =
														BELONG_TO_LONG(BgL_arg1741z00_1966);
													BgL_finalzd2xorzd2_3854 =
														BELONG_TO_LONG(BgL_arg1742z00_1967);
													BgL_polyz00_3855 =
														BELONG_TO_LONG(BgL_lsbzd2polyzd2_1961);
													BgL_crczd2lenzd2_3856 = (long) CINT(BgL_lenz00_1959);
													{	/* Unsafe/crc.scm 514 */
														long BgL_mz00_3857;

														{	/* Unsafe/crc.scm 517 */
															long BgL_tmpz00_7863;

															{	/* Unsafe/crc.scm 518 */
																long BgL_res2185z00_3877;

																{	/* Unsafe/crc.scm 518 */
																	long BgL_tmpz00_7867;

																	BgL_tmpz00_7867 =
																		(
																		(((long) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_3856 - 1L))) -
																		((long) 1));
																	BgL_res2185z00_3877 =
																		(long) (BgL_tmpz00_7867);
																}
																BgL_tmpz00_7863 = BgL_res2185z00_3877;
															}
															BgL_mz00_3857 =
																(
																(((long) 1) <<
																	(int) (
																		(BgL_crczd2lenzd2_3856 - 1L))) +
																BgL_tmpz00_7863);
														}
														{
															long BgL_crcz00_3864;

															BgL_crcz00_3864 = BgL_initz00_3853;
														BgL_loopz00_3863:
															{	/* Unsafe/crc.scm 521 */
																obj_t BgL_cz00_3865;

																BgL_cz00_3865 =
																	BGl_readzd2charzd2zz__r4_input_6_10_2z00
																	(BgL_pz00_74);
																if (EOF_OBJECTP(BgL_cz00_3865))
																	{	/* Unsafe/crc.scm 522 */
																		BgL_res2187z00_3914 =
																			(
																			(BgL_finalzd2xorzd2_3854 ^
																				BgL_crcz00_3864) & BgL_mz00_3857);
																	}
																else
																	{	/* Unsafe/crc.scm 524 */
																		long BgL_arg1812z00_3868;

																		{	/* Unsafe/crc.scm 524 */
																			long BgL_res2186z00_3913;

																			{	/* Unsafe/crc.scm 524 */
																				unsigned char BgL_cz00_3884;

																				BgL_cz00_3884 = CCHAR(BgL_cz00_3865);
																				{	/* Unsafe/crc.scm 175 */
																					long BgL_octetz00_3888;

																					BgL_octetz00_3888 =
																						((unsigned char) (BgL_cz00_3884));
																					{	/* Unsafe/crc.scm 176 */
																						long BgL_g1043z00_3889;

																						{	/* Unsafe/crc.scm 177 */
																							long BgL_arg1551z00_3890;

																							BgL_arg1551z00_3890 =
																								(long) (BgL_octetz00_3888);
																							BgL_g1043z00_3889 =
																								(BgL_crcz00_3864 ^
																								BgL_arg1551z00_3890);
																						}
																						{
																							long BgL_iz00_3892;
																							long BgL_crcz00_3893;

																							BgL_iz00_3892 = 0L;
																							BgL_crcz00_3893 =
																								BgL_g1043z00_3889;
																						BgL_loopz00_3891:
																							if ((BgL_iz00_3892 == 8L))
																								{	/* Unsafe/crc.scm 178 */
																									BgL_res2186z00_3913 =
																										BgL_crcz00_3893;
																								}
																							else
																								{	/* Unsafe/crc.scm 180 */
																									long BgL_newzd2crczd2_3895;

																									{	/* Unsafe/crc.scm 180 */
																										unsigned long BgL_xz00_3905;

																										BgL_xz00_3905 =
																											(unsigned
																											long) (BgL_crcz00_3893);
																										{	/* Unsafe/crc.scm 180 */
																											unsigned long
																												BgL_tmpz00_7887;
																											BgL_tmpz00_7887 =
																												(BgL_xz00_3905 >>
																												(int) (1L));
																											BgL_newzd2crczd2_3895 =
																												(long)
																												(BgL_tmpz00_7887);
																									}}
																									{
																										long BgL_crcz00_7893;
																										long BgL_iz00_7891;

																										BgL_iz00_7891 =
																											(BgL_iz00_3892 + 1L);
																										BgL_crcz00_7893 =
																											(
																											((((long) 1) &
																													BgL_crcz00_3893) *
																												BgL_polyz00_3855) ^
																											BgL_newzd2crczd2_3895);
																										BgL_crcz00_3893 =
																											BgL_crcz00_7893;
																										BgL_iz00_3892 =
																											BgL_iz00_7891;
																										goto BgL_loopz00_3891;
																									}
																								}
																						}
																					}
																				}
																			}
																			BgL_arg1812z00_3868 = BgL_res2186z00_3913;
																		}
																		{
																			long BgL_crcz00_7897;

																			BgL_crcz00_7897 = BgL_arg1812z00_3868;
																			BgL_crcz00_3864 = BgL_crcz00_7897;
																			goto BgL_loopz00_3863;
																		}
																	}
															}
														}
													}
												}
												return make_belong(BgL_res2187z00_3914);
											}
										}
								}
							else
								{	/* Unsafe/crc.scm 390 */
									if (LLONGP(BgL_polyz00_1960))
										{	/* Unsafe/crc.scm 396 */
											if (CBOOL(BgL_bigzd2endianzf3z21_77))
												{	/* Unsafe/crc.scm 398 */
													obj_t BgL_arg1744z00_1969;
													obj_t BgL_arg1745z00_1970;

													if (INTEGERP(BgL_initz00_75))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_3917;

															BgL_xz00_3917 = (long) CINT(BgL_initz00_75);
															BgL_arg1744z00_1969 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_3917));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_initz00_75))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_3918;

																	BgL_xz00_3918 =
																		BELONG_TO_LONG(BgL_initz00_75);
																	BgL_arg1744z00_1969 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_3918));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1744z00_1969 = BgL_initz00_75;
																}
														}
													if (INTEGERP(BgL_finalzd2xorzd2_76))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_3921;

															BgL_xz00_3921 =
																(long) CINT(BgL_finalzd2xorzd2_76);
															BgL_arg1745z00_1970 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_3921));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_finalzd2xorzd2_76))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_3922;

																	BgL_xz00_3922 =
																		BELONG_TO_LONG(BgL_finalzd2xorzd2_76);
																	BgL_arg1745z00_1970 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_3922));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1745z00_1970 = BgL_finalzd2xorzd2_76;
																}
														}
													{	/* Unsafe/crc.scm 398 */
														BGL_LONGLONG_T BgL_res2190z00_4093;

														{	/* Unsafe/crc.scm 398 */
															BGL_LONGLONG_T BgL_initz00_3924;
															BGL_LONGLONG_T BgL_finalzd2xorzd2_3925;
															BGL_LONGLONG_T BgL_polyz00_3926;
															long BgL_crczd2lenzd2_3927;

															BgL_initz00_3924 =
																BLLONG_TO_LLONG(BgL_arg1744z00_1969);
															BgL_finalzd2xorzd2_3925 =
																BLLONG_TO_LLONG(BgL_arg1745z00_1970);
															BgL_polyz00_3926 =
																BLLONG_TO_LLONG(BgL_polyz00_1960);
															BgL_crczd2lenzd2_3927 =
																(long) CINT(BgL_lenz00_1959);
															{	/* Unsafe/crc.scm 531 */
																BGL_LONGLONG_T BgL_mz00_3928;

																BgL_mz00_3928 =
																	(
																	(((BGL_LONGLONG_T) 1) <<
																		(int) (
																			(BgL_crczd2lenzd2_3927 - 1L))) +
																	((((BGL_LONGLONG_T) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_3927 - 1L))) -
																		((BGL_LONGLONG_T) 1)));
																{
																	BGL_LONGLONG_T BgL_crcz00_3935;

																	BgL_crcz00_3935 = BgL_initz00_3924;
																BgL_loopz00_3934:
																	{	/* Unsafe/crc.scm 538 */
																		obj_t BgL_cz00_3936;

																		BgL_cz00_3936 =
																			BGl_readzd2charzd2zz__r4_input_6_10_2z00
																			(BgL_pz00_74);
																		if (EOF_OBJECTP(BgL_cz00_3936))
																			{	/* Unsafe/crc.scm 539 */
																				BgL_res2190z00_4093 =
																					(
																					(BgL_finalzd2xorzd2_3925 ^
																						BgL_crcz00_3935) & BgL_mz00_3928);
																			}
																		else
																			{	/* Unsafe/crc.scm 541 */
																				BGL_LONGLONG_T BgL_arg1821z00_3939;

																				{	/* Unsafe/crc.scm 541 */
																					BGL_LONGLONG_T BgL_res2189z00_4092;

																					{	/* Unsafe/crc.scm 541 */
																						unsigned char BgL_cz00_3954;

																						BgL_cz00_3954 =
																							CCHAR(BgL_cz00_3936);
																						if ((BgL_crczd2lenzd2_3927 >= 8L))
																							{	/* Unsafe/crc.scm 142 */
																								long BgL_octetz00_3959;

																								BgL_octetz00_3959 =
																									(
																									(unsigned
																										char) (BgL_cz00_3954));
																								{	/* Unsafe/crc.scm 143 */
																									BGL_LONGLONG_T
																										BgL_valuez00_3960;
																									BGL_LONGLONG_T BgL_mz00_3961;

																									{	/* Unsafe/crc.scm 143 */
																										BGL_LONGLONG_T
																											BgL_arg1524z00_3962;
																										long BgL_arg1525z00_3963;

																										BgL_arg1524z00_3962 =
																											LONG_TO_LLONG
																											(BgL_octetz00_3959);
																										BgL_arg1525z00_3963 =
																											(BgL_crczd2lenzd2_3927 -
																											8L);
																										BgL_valuez00_3960 =
																											(BgL_arg1524z00_3962 <<
																											(int)
																											(BgL_arg1525z00_3963));
																									}
																									BgL_mz00_3961 =
																										(((BGL_LONGLONG_T) 1) <<
																										(int) (
																											(BgL_crczd2lenzd2_3927 -
																												1L)));
																									{
																										long BgL_iz00_3967;
																										BGL_LONGLONG_T
																											BgL_crcz00_3968;
																										BgL_iz00_3967 = 0L;
																										BgL_crcz00_3968 =
																											(BgL_crcz00_3935 ^
																											BgL_valuez00_3960);
																									BgL_loopz00_3966:
																										if ((BgL_iz00_3967 == 8L))
																											{	/* Unsafe/crc.scm 147 */
																												BgL_res2189z00_4092 =
																													BgL_crcz00_3968;
																											}
																										else
																											{	/* Unsafe/crc.scm 149 */
																												BGL_LONGLONG_T
																													BgL_newzd2crczd2_3970;
																												BgL_newzd2crczd2_3970 =
																													(BgL_crcz00_3968 <<
																													(int) (1L));
																												if ((((BGL_LONGLONG_T)
																															0) ==
																														(BgL_mz00_3961 &
																															BgL_crcz00_3968)))
																													{
																														BGL_LONGLONG_T
																															BgL_crcz00_7961;
																														long BgL_iz00_7959;

																														BgL_iz00_7959 =
																															(BgL_iz00_3967 +
																															1L);
																														BgL_crcz00_7961 =
																															BgL_newzd2crczd2_3970;
																														BgL_crcz00_3968 =
																															BgL_crcz00_7961;
																														BgL_iz00_3967 =
																															BgL_iz00_7959;
																														goto
																															BgL_loopz00_3966;
																													}
																												else
																													{
																														BGL_LONGLONG_T
																															BgL_crcz00_7964;
																														long BgL_iz00_7962;

																														BgL_iz00_7962 =
																															(BgL_iz00_3967 +
																															1L);
																														BgL_crcz00_7964 =
																															(BgL_newzd2crczd2_3970
																															^
																															BgL_polyz00_3926);
																														BgL_crcz00_3968 =
																															BgL_crcz00_7964;
																														BgL_iz00_3967 =
																															BgL_iz00_7962;
																														goto
																															BgL_loopz00_3966;
																													}
																											}
																									}
																								}
																							}
																						else
																							{	/* Unsafe/crc.scm 153 */
																								long BgL_arg1527z00_3976;

																								{	/* Unsafe/crc.scm 153 */
																									long BgL_arg1528z00_3977;
																									long BgL_arg1532z00_3978;

																									BgL_arg1528z00_3977 =
																										LLONG_TO_LONG
																										(BgL_crcz00_3935);
																									BgL_arg1532z00_3978 =
																										LLONG_TO_LONG
																										(BgL_polyz00_3926);
																									{

																										if (
																											(BgL_crczd2lenzd2_3927 >=
																												8L))
																											{	/* Unsafe/crc.scm 111 */
																												{	/* Unsafe/crc.scm 76 */
																													long BgL_mz00_4011;

																													BgL_mz00_4011 =
																														(1L <<
																														(int) (
																															(BgL_crczd2lenzd2_3927
																																- 1L)));
																													{	/* Unsafe/crc.scm 77 */

																														{
																															long
																																BgL_iz00_4015;
																															long
																																BgL_crcz00_4016;
																															BgL_iz00_4015 =
																																0L;
																															BgL_crcz00_4016 =
																																(BgL_arg1528z00_3977
																																^ (((unsigned
																																			char)
																																		(BgL_cz00_3954))
																																	<<
																																	(int) (
																																		(BgL_crczd2lenzd2_3927
																																			- 8L))));
																														BgL_loopz00_4014:
																															if (
																																(BgL_iz00_4015
																																	== 8L))
																																{	/* Unsafe/crc.scm 80 */
																																	BgL_arg1527z00_3976
																																		=
																																		BgL_crcz00_4016;
																																}
																															else
																																{
																																	long
																																		BgL_crcz00_7978;
																																	long
																																		BgL_iz00_7976;
																																	BgL_iz00_7976
																																		=
																																		(BgL_iz00_4015
																																		+ 1L);
																																	BgL_crcz00_7978
																																		=
																																		((((BgL_mz00_4011 & BgL_crcz00_4016) >> (int) ((BgL_crczd2lenzd2_3927 - 1L))) * BgL_arg1532z00_3978) ^ (BgL_crcz00_4016 << (int) (1L)));
																																	BgL_crcz00_4016
																																		=
																																		BgL_crcz00_7978;
																																	BgL_iz00_4015
																																		=
																																		BgL_iz00_7976;
																																	goto
																																		BgL_loopz00_4014;
																																}
																														}
																													}
																												}
																											}
																										else
																											{	/* Unsafe/crc.scm 111 */
																												{	/* Unsafe/crc.scm 92 */
																													long BgL_mz00_4026;

																													BgL_mz00_4026 =
																														(1L <<
																														(int) (
																															(BgL_crczd2lenzd2_3927
																																- 1L)));
																													{	/* Unsafe/crc.scm 94 */

																														{
																															long
																																BgL_iz00_4030;
																															long
																																BgL_crcz00_4031;
																															long
																																BgL_shiftedzd2valuezd2_4032;
																															BgL_iz00_4030 =
																																0L;
																															BgL_crcz00_4031 =
																																BgL_arg1528z00_3977;
																															BgL_shiftedzd2valuezd2_4032
																																=
																																(((unsigned
																																		char)
																																	(BgL_cz00_3954))
																																<<
																																(int)
																																(BgL_crczd2lenzd2_3927));
																														BgL_loopz00_4029:
																															if (
																																(BgL_iz00_4030
																																	== 8L))
																																{	/* Unsafe/crc.scm 98 */
																																	BgL_arg1527z00_3976
																																		=
																																		BgL_crcz00_4031;
																																}
																															else
																																{	/* Unsafe/crc.scm 100 */
																																	long
																																		BgL_crc2z00_4034;
																																	BgL_crc2z00_4034
																																		=
																																		(BgL_crcz00_4031
																																		^
																																		(BgL_mz00_4026
																																			&
																																			(BgL_shiftedzd2valuezd2_4032
																																				>>
																																				(int)
																																				(8L))));
																																	{	/* Unsafe/crc.scm 104 */

																																		{
																																			long
																																				BgL_shiftedzd2valuezd2_8013;
																																			long
																																				BgL_crcz00_8004;
																																			long
																																				BgL_iz00_8002;
																																			BgL_iz00_8002
																																				=
																																				(BgL_iz00_4030
																																				+ 1L);
																																			BgL_crcz00_8004
																																				=
																																				((((BgL_mz00_4026 & BgL_crc2z00_4034) >> (int) ((BgL_crczd2lenzd2_3927 - 1L))) * BgL_arg1532z00_3978) ^ (BgL_crc2z00_4034 << (int) (1L)));
																																			BgL_shiftedzd2valuezd2_8013
																																				=
																																				(BgL_shiftedzd2valuezd2_4032
																																				<<
																																				(int)
																																				(1L));
																																			BgL_shiftedzd2valuezd2_4032
																																				=
																																				BgL_shiftedzd2valuezd2_8013;
																																			BgL_crcz00_4031
																																				=
																																				BgL_crcz00_8004;
																																			BgL_iz00_4030
																																				=
																																				BgL_iz00_8002;
																																			goto
																																				BgL_loopz00_4029;
																																		}
																																	}
																																}
																														}
																													}
																												}
																											}
																									}
																								}
																								BgL_res2189z00_4092 =
																									LONG_TO_LLONG
																									(BgL_arg1527z00_3976);
																							}
																					}
																					BgL_arg1821z00_3939 =
																						BgL_res2189z00_4092;
																				}
																				{
																					BGL_LONGLONG_T BgL_crcz00_8021;

																					BgL_crcz00_8021 = BgL_arg1821z00_3939;
																					BgL_crcz00_3935 = BgL_crcz00_8021;
																					goto BgL_loopz00_3934;
																				}
																			}
																	}
																}
															}
														}
														return make_bllong(BgL_res2190z00_4093);
													}
												}
											else
												{	/* Unsafe/crc.scm 400 */
													obj_t BgL_arg1747z00_1971;
													obj_t BgL_arg1748z00_1972;

													if (INTEGERP(BgL_initz00_75))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_4096;

															BgL_xz00_4096 = (long) CINT(BgL_initz00_75);
															BgL_arg1747z00_1971 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_4096));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_initz00_75))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_4097;

																	BgL_xz00_4097 =
																		BELONG_TO_LONG(BgL_initz00_75);
																	BgL_arg1747z00_1971 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_4097));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1747z00_1971 = BgL_initz00_75;
																}
														}
													if (INTEGERP(BgL_finalzd2xorzd2_76))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_4100;

															BgL_xz00_4100 =
																(long) CINT(BgL_finalzd2xorzd2_76);
															BgL_arg1748z00_1972 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_4100));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_finalzd2xorzd2_76))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_4101;

																	BgL_xz00_4101 =
																		BELONG_TO_LONG(BgL_finalzd2xorzd2_76);
																	BgL_arg1748z00_1972 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_4101));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1748z00_1972 = BgL_finalzd2xorzd2_76;
																}
														}
													{	/* Unsafe/crc.scm 400 */
														BGL_LONGLONG_T BgL_res2192z00_4163;

														{	/* Unsafe/crc.scm 400 */
															BGL_LONGLONG_T BgL_initz00_4103;
															BGL_LONGLONG_T BgL_finalzd2xorzd2_4104;
															BGL_LONGLONG_T BgL_polyz00_4105;
															long BgL_crczd2lenzd2_4106;

															BgL_initz00_4103 =
																BLLONG_TO_LLONG(BgL_arg1747z00_1971);
															BgL_finalzd2xorzd2_4104 =
																BLLONG_TO_LLONG(BgL_arg1748z00_1972);
															BgL_polyz00_4105 =
																BLLONG_TO_LLONG(BgL_lsbzd2polyzd2_1961);
															BgL_crczd2lenzd2_4106 =
																(long) CINT(BgL_lenz00_1959);
															{	/* Unsafe/crc.scm 531 */
																BGL_LONGLONG_T BgL_mz00_4107;

																BgL_mz00_4107 =
																	(
																	(((BGL_LONGLONG_T) 1) <<
																		(int) (
																			(BgL_crczd2lenzd2_4106 - 1L))) +
																	((((BGL_LONGLONG_T) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_4106 - 1L))) -
																		((BGL_LONGLONG_T) 1)));
																{
																	BGL_LONGLONG_T BgL_crcz00_4114;

																	BgL_crcz00_4114 = BgL_initz00_4103;
																BgL_loopz00_4113:
																	{	/* Unsafe/crc.scm 538 */
																		obj_t BgL_cz00_4115;

																		BgL_cz00_4115 =
																			BGl_readzd2charzd2zz__r4_input_6_10_2z00
																			(BgL_pz00_74);
																		if (EOF_OBJECTP(BgL_cz00_4115))
																			{	/* Unsafe/crc.scm 539 */
																				BgL_res2192z00_4163 =
																					(
																					(BgL_finalzd2xorzd2_4104 ^
																						BgL_crcz00_4114) & BgL_mz00_4107);
																			}
																		else
																			{	/* Unsafe/crc.scm 541 */
																				BGL_LONGLONG_T BgL_arg1821z00_4118;

																				{	/* Unsafe/crc.scm 541 */
																					BGL_LONGLONG_T BgL_res2191z00_4162;

																					{	/* Unsafe/crc.scm 541 */
																						unsigned char BgL_cz00_4133;

																						BgL_cz00_4133 =
																							CCHAR(BgL_cz00_4115);
																						{	/* Unsafe/crc.scm 189 */
																							long BgL_octetz00_4137;

																							BgL_octetz00_4137 =
																								(
																								(unsigned
																									char) (BgL_cz00_4133));
																							{	/* Unsafe/crc.scm 190 */
																								BGL_LONGLONG_T
																									BgL_g1044z00_4138;
																								{	/* Unsafe/crc.scm 191 */
																									BGL_LONGLONG_T
																										BgL_arg1561z00_4139;
																									BgL_arg1561z00_4139 =
																										LONG_TO_LLONG
																										(BgL_octetz00_4137);
																									BgL_g1044z00_4138 =
																										(BgL_crcz00_4114 ^
																										BgL_arg1561z00_4139);
																								}
																								{
																									long BgL_iz00_4141;
																									BGL_LONGLONG_T
																										BgL_crcz00_4142;
																									BgL_iz00_4141 = 0L;
																									BgL_crcz00_4142 =
																										BgL_g1044z00_4138;
																								BgL_loopz00_4140:
																									if ((BgL_iz00_4141 == 8L))
																										{	/* Unsafe/crc.scm 192 */
																											BgL_res2191z00_4162 =
																												BgL_crcz00_4142;
																										}
																									else
																										{	/* Unsafe/crc.scm 194 */
																											BGL_LONGLONG_T
																												BgL_newzd2crczd2_4144;
																											{	/* Unsafe/crc.scm 194 */
																												unsigned BGL_LONGLONG_T
																													BgL_xz00_4154;
																												BgL_xz00_4154 =
																													(unsigned
																													BGL_LONGLONG_T)
																													(BgL_crcz00_4142);
																												{	/* Unsafe/crc.scm 194 */
																													unsigned
																														BGL_LONGLONG_T
																														BgL_tmpz00_8068;
																													BgL_tmpz00_8068 =
																														(BgL_xz00_4154 >>
																														(int) (1L));
																													BgL_newzd2crczd2_4144
																														=
																														(BGL_LONGLONG_T)
																														(BgL_tmpz00_8068);
																											}}
																											{
																												BGL_LONGLONG_T
																													BgL_crcz00_8074;
																												long BgL_iz00_8072;

																												BgL_iz00_8072 =
																													(BgL_iz00_4141 + 1L);
																												BgL_crcz00_8074 =
																													(
																													((((BGL_LONGLONG_T) 1)
																															& BgL_crcz00_4142)
																														*
																														BgL_polyz00_4105) ^
																													BgL_newzd2crczd2_4144);
																												BgL_crcz00_4142 =
																													BgL_crcz00_8074;
																												BgL_iz00_4141 =
																													BgL_iz00_8072;
																												goto BgL_loopz00_4140;
																											}
																										}
																								}
																							}
																						}
																					}
																					BgL_arg1821z00_4118 =
																						BgL_res2191z00_4162;
																				}
																				{
																					BGL_LONGLONG_T BgL_crcz00_8078;

																					BgL_crcz00_8078 = BgL_arg1821z00_4118;
																					BgL_crcz00_4114 = BgL_crcz00_8078;
																					goto BgL_loopz00_4113;
																				}
																			}
																	}
																}
															}
														}
														return make_bllong(BgL_res2192z00_4163);
													}
												}
										}
									else
										{	/* Unsafe/crc.scm 396 */
											return
												BGl_errorz00zz__errorz00(BGl_symbol2461z00zz__crcz00,
												BGl_string2484z00zz__crcz00, BgL_polyz00_1960);
										}
								}
						}
				}
			}
		}

	}



/* crc-fast-mmap */
	obj_t BGl_crczd2fastzd2mmapz00zz__crcz00(obj_t BgL_namez00_78,
		obj_t BgL_mz00_79, obj_t BgL_initz00_80, obj_t BgL_finalzd2xorzd2_81,
		obj_t BgL_bigzd2endianzf3z21_82)
	{
		{	/* Unsafe/crc.scm 408 */
			{	/* Unsafe/crc.scm 409 */
				obj_t BgL_lenz00_1973;

				BgL_lenz00_1973 = BGl_getzd2crczd2zz__crcz00(BgL_namez00_78);
				{	/* Unsafe/crc.scm 410 */
					obj_t BgL_polyz00_1974;
					obj_t BgL_lsbzd2polyzd2_1975;

					{	/* Unsafe/crc.scm 412 */
						obj_t BgL_tmpz00_4164;

						{	/* Unsafe/crc.scm 412 */
							int BgL_tmpz00_8082;

							BgL_tmpz00_8082 = (int) (1L);
							BgL_tmpz00_4164 = BGL_MVALUES_VAL(BgL_tmpz00_8082);
						}
						{	/* Unsafe/crc.scm 412 */
							int BgL_tmpz00_8085;

							BgL_tmpz00_8085 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_8085, BUNSPEC);
						}
						BgL_polyz00_1974 = BgL_tmpz00_4164;
					}
					{	/* Unsafe/crc.scm 412 */
						obj_t BgL_tmpz00_4165;

						{	/* Unsafe/crc.scm 412 */
							int BgL_tmpz00_8088;

							BgL_tmpz00_8088 = (int) (2L);
							BgL_tmpz00_4165 = BGL_MVALUES_VAL(BgL_tmpz00_8088);
						}
						{	/* Unsafe/crc.scm 412 */
							int BgL_tmpz00_8091;

							BgL_tmpz00_8091 = (int) (2L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_8091, BUNSPEC);
						}
						BgL_lsbzd2polyzd2_1975 = BgL_tmpz00_4165;
					}
					if (INTEGERP(BgL_polyz00_1974))
						{	/* Unsafe/crc.scm 412 */
							if (CBOOL(BgL_bigzd2endianzf3z21_82))
								{	/* Unsafe/crc.scm 414 */
									long BgL_res2194z00_4289;

									{	/* Unsafe/crc.scm 414 */
										long BgL_initz00_4166;
										long BgL_finalzd2xorzd2_4167;
										long BgL_polyz00_4168;
										long BgL_crczd2lenzd2_4169;

										BgL_initz00_4166 = (long) CINT(BgL_initz00_80);
										BgL_finalzd2xorzd2_4167 =
											(long) CINT(BgL_finalzd2xorzd2_81);
										BgL_polyz00_4168 = (long) CINT(BgL_polyz00_1974);
										BgL_crczd2lenzd2_4169 = (long) CINT(BgL_lenz00_1973);
										{	/* Unsafe/crc.scm 434 */
											long BgL_mz00_4170;

											BgL_mz00_4170 =
												(
												(1L <<
													(int) (
														(BgL_crczd2lenzd2_4169 - 1L))) +
												((1L << (int) ((BgL_crczd2lenzd2_4169 - 1L))) - 1L));
											{	/* Unsafe/crc.scm 443 */
												long BgL_lenz00_4176;

												BgL_lenz00_4176 = BGL_MMAP_LENGTH(BgL_mz00_79);
												{
													long BgL_iz00_4178;
													long BgL_crcz00_4179;

													BgL_iz00_4178 = 0L;
													BgL_crcz00_4179 = BgL_initz00_4166;
												BgL_loopz00_4177:
													{	/* Unsafe/crc.scm 446 */
														bool_t BgL_test2849z00_8111;

														{	/* Unsafe/crc.scm 446 */
															long BgL_n2z00_4194;

															BgL_n2z00_4194 = (long) (BgL_lenz00_4176);
															BgL_test2849z00_8111 =
																(BgL_iz00_4178 == BgL_n2z00_4194);
														}
														if (BgL_test2849z00_8111)
															{	/* Unsafe/crc.scm 446 */
																BgL_res2194z00_4289 =
																	(
																	(BgL_finalzd2xorzd2_4167 ^ BgL_crcz00_4179) &
																	BgL_mz00_4170);
															}
														else
															{	/* Unsafe/crc.scm 448 */
																long BgL_arg1766z00_4182;
																long BgL_arg1767z00_4183;

																BgL_arg1766z00_4182 = (BgL_iz00_4178 + 1L);
																{	/* Unsafe/crc.scm 449 */
																	unsigned char BgL_arg1768z00_4184;

																	{	/* Unsafe/crc.scm 449 */
																		long BgL_tmpz00_8117;

																		BgL_tmpz00_8117 = (long) (BgL_iz00_4178);
																		BgL_arg1768z00_4184 =
																			BGL_MMAP_REF(BgL_mz00_79,
																			BgL_tmpz00_8117);
																	}
																	{	/* Unsafe/crc.scm 449 */
																		unsigned char BgL_cz00_4200;

																		BgL_cz00_4200 =
																			(char) (BgL_arg1768z00_4184);
																		{

																			if ((BgL_crczd2lenzd2_4169 >= 8L))
																				{	/* Unsafe/crc.scm 111 */
																					{	/* Unsafe/crc.scm 76 */
																						long BgL_mz00_4209;

																						BgL_mz00_4209 =
																							(1L <<
																							(int) (
																								(BgL_crczd2lenzd2_4169 - 1L)));
																						{	/* Unsafe/crc.scm 77 */

																							{
																								long BgL_iz00_4213;
																								long BgL_crcz00_4214;

																								BgL_iz00_4213 = 0L;
																								BgL_crcz00_4214 =
																									(BgL_crcz00_4179 ^
																									(((unsigned
																												char) (BgL_cz00_4200))
																										<<
																										(int) (
																											(BgL_crczd2lenzd2_4169 -
																												8L))));
																							BgL_loopz00_4212:
																								if ((BgL_iz00_4213 == 8L))
																									{	/* Unsafe/crc.scm 80 */
																										BgL_arg1767z00_4183 =
																											BgL_crcz00_4214;
																									}
																								else
																									{
																										long BgL_crcz00_8130;
																										long BgL_iz00_8128;

																										BgL_iz00_8128 =
																											(BgL_iz00_4213 + 1L);
																										BgL_crcz00_8130 =
																											(
																											(((BgL_mz00_4209 &
																														BgL_crcz00_4214) >>
																													(int) (
																														(BgL_crczd2lenzd2_4169
																															-
																															1L))) *
																												BgL_polyz00_4168) ^
																											(BgL_crcz00_4214 <<
																												(int) (1L)));
																										BgL_crcz00_4214 =
																											BgL_crcz00_8130;
																										BgL_iz00_4213 =
																											BgL_iz00_8128;
																										goto BgL_loopz00_4212;
																									}
																							}
																						}
																					}
																				}
																			else
																				{	/* Unsafe/crc.scm 111 */
																					{	/* Unsafe/crc.scm 92 */
																						long BgL_mz00_4224;

																						BgL_mz00_4224 =
																							(1L <<
																							(int) (
																								(BgL_crczd2lenzd2_4169 - 1L)));
																						{	/* Unsafe/crc.scm 94 */

																							{
																								long BgL_iz00_4228;
																								long BgL_crcz00_4229;
																								long
																									BgL_shiftedzd2valuezd2_4230;
																								BgL_iz00_4228 = 0L;
																								BgL_crcz00_4229 =
																									BgL_crcz00_4179;
																								BgL_shiftedzd2valuezd2_4230 =
																									(((unsigned
																											char) (BgL_cz00_4200)) <<
																									(int)
																									(BgL_crczd2lenzd2_4169));
																							BgL_loopz00_4227:
																								if ((BgL_iz00_4228 == 8L))
																									{	/* Unsafe/crc.scm 98 */
																										BgL_arg1767z00_4183 =
																											BgL_crcz00_4229;
																									}
																								else
																									{	/* Unsafe/crc.scm 100 */
																										long BgL_crc2z00_4232;

																										BgL_crc2z00_4232 =
																											(BgL_crcz00_4229 ^
																											(BgL_mz00_4224 &
																												(BgL_shiftedzd2valuezd2_4230
																													>> (int) (8L))));
																										{	/* Unsafe/crc.scm 104 */

																											{
																												long
																													BgL_shiftedzd2valuezd2_8165;
																												long BgL_crcz00_8156;
																												long BgL_iz00_8154;

																												BgL_iz00_8154 =
																													(BgL_iz00_4228 + 1L);
																												BgL_crcz00_8156 =
																													(
																													(((BgL_mz00_4224 &
																																BgL_crc2z00_4232)
																															>>
																															(int) (
																																(BgL_crczd2lenzd2_4169
																																	-
																																	1L))) *
																														BgL_polyz00_4168) ^
																													(BgL_crc2z00_4232 <<
																														(int) (1L)));
																												BgL_shiftedzd2valuezd2_8165
																													=
																													(BgL_shiftedzd2valuezd2_4230
																													<< (int) (1L));
																												BgL_shiftedzd2valuezd2_4230
																													=
																													BgL_shiftedzd2valuezd2_8165;
																												BgL_crcz00_4229 =
																													BgL_crcz00_8156;
																												BgL_iz00_4228 =
																													BgL_iz00_8154;
																												goto BgL_loopz00_4227;
																											}
																										}
																									}
																							}
																						}
																					}
																				}
																		}
																	}
																}
																{
																	long BgL_crcz00_8173;
																	long BgL_iz00_8172;

																	BgL_iz00_8172 = BgL_arg1766z00_4182;
																	BgL_crcz00_8173 = BgL_arg1767z00_4183;
																	BgL_crcz00_4179 = BgL_crcz00_8173;
																	BgL_iz00_4178 = BgL_iz00_8172;
																	goto BgL_loopz00_4177;
																}
															}
													}
												}
											}
										}
									}
									return BINT(BgL_res2194z00_4289);
								}
							else
								{	/* Unsafe/crc.scm 415 */
									long BgL_res2196z00_4351;

									{	/* Unsafe/crc.scm 415 */
										long BgL_initz00_4290;
										long BgL_finalzd2xorzd2_4291;
										long BgL_polyz00_4292;
										long BgL_crczd2lenzd2_4293;

										BgL_initz00_4290 = (long) CINT(BgL_initz00_80);
										BgL_finalzd2xorzd2_4291 =
											(long) CINT(BgL_finalzd2xorzd2_81);
										BgL_polyz00_4292 = (long) CINT(BgL_lsbzd2polyzd2_1975);
										BgL_crczd2lenzd2_4293 = (long) CINT(BgL_lenz00_1973);
										{	/* Unsafe/crc.scm 434 */
											long BgL_mz00_4294;

											BgL_mz00_4294 =
												(
												(1L <<
													(int) (
														(BgL_crczd2lenzd2_4293 - 1L))) +
												((1L << (int) ((BgL_crczd2lenzd2_4293 - 1L))) - 1L));
											{	/* Unsafe/crc.scm 443 */
												long BgL_lenz00_4300;

												BgL_lenz00_4300 = BGL_MMAP_LENGTH(BgL_mz00_79);
												{
													long BgL_iz00_4302;
													long BgL_crcz00_4303;

													BgL_iz00_4302 = 0L;
													BgL_crcz00_4303 = BgL_initz00_4290;
												BgL_loopz00_4301:
													{	/* Unsafe/crc.scm 446 */
														bool_t BgL_test2853z00_8188;

														{	/* Unsafe/crc.scm 446 */
															long BgL_n2z00_4318;

															BgL_n2z00_4318 = (long) (BgL_lenz00_4300);
															BgL_test2853z00_8188 =
																(BgL_iz00_4302 == BgL_n2z00_4318);
														}
														if (BgL_test2853z00_8188)
															{	/* Unsafe/crc.scm 446 */
																BgL_res2196z00_4351 =
																	(
																	(BgL_finalzd2xorzd2_4291 ^ BgL_crcz00_4303) &
																	BgL_mz00_4294);
															}
														else
															{	/* Unsafe/crc.scm 448 */
																long BgL_arg1766z00_4306;
																long BgL_arg1767z00_4307;

																BgL_arg1766z00_4306 = (BgL_iz00_4302 + 1L);
																{	/* Unsafe/crc.scm 449 */
																	unsigned char BgL_arg1768z00_4308;

																	{	/* Unsafe/crc.scm 449 */
																		long BgL_tmpz00_8194;

																		BgL_tmpz00_8194 = (long) (BgL_iz00_4302);
																		BgL_arg1768z00_4308 =
																			BGL_MMAP_REF(BgL_mz00_79,
																			BgL_tmpz00_8194);
																	}
																	{
																		long BgL_iz00_4331;
																		long BgL_crcz00_4332;

																		BgL_iz00_4331 = 0L;
																		BgL_crcz00_4332 =
																			(BgL_crcz00_4303 ^
																			((unsigned char) (
																					(char) (BgL_arg1768z00_4308))));
																	BgL_loopz00_4330:
																		if ((BgL_iz00_4331 == 8L))
																			{	/* Unsafe/crc.scm 164 */
																				BgL_arg1767z00_4307 = BgL_crcz00_4332;
																			}
																		else
																			{
																				long BgL_crcz00_8201;
																				long BgL_iz00_8199;

																				BgL_iz00_8199 = (BgL_iz00_4331 + 1L);
																				BgL_crcz00_8201 =
																					(
																					((1L & BgL_crcz00_4332) *
																						BgL_polyz00_4292) ^
																					(long) (((unsigned
																								long) (BgL_crcz00_4332) >>
																							(int) (1L))));
																				BgL_crcz00_4332 = BgL_crcz00_8201;
																				BgL_iz00_4331 = BgL_iz00_8199;
																				goto BgL_loopz00_4330;
																			}
																	}
																}
																{
																	long BgL_crcz00_8214;
																	long BgL_iz00_8213;

																	BgL_iz00_8213 = BgL_arg1766z00_4306;
																	BgL_crcz00_8214 = BgL_arg1767z00_4307;
																	BgL_crcz00_4303 = BgL_crcz00_8214;
																	BgL_iz00_4302 = BgL_iz00_8213;
																	goto BgL_loopz00_4301;
																}
															}
													}
												}
											}
										}
									}
									return BINT(BgL_res2196z00_4351);
								}
						}
					else
						{	/* Unsafe/crc.scm 412 */
							if (ELONGP(BgL_polyz00_1974))
								{	/* Unsafe/crc.scm 416 */
									if (CBOOL(BgL_bigzd2endianzf3z21_82))
										{	/* Unsafe/crc.scm 418 */
											obj_t BgL_arg1754z00_1978;
											obj_t BgL_arg1755z00_1979;

											if (INTEGERP(BgL_initz00_80))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_4353;

													BgL_xz00_4353 = (long) CINT(BgL_initz00_80);
													BgL_arg1754z00_1978 =
														make_belong((long) (BgL_xz00_4353));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1754z00_1978 = BgL_initz00_80;
												}
											if (INTEGERP(BgL_finalzd2xorzd2_81))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_4355;

													BgL_xz00_4355 = (long) CINT(BgL_finalzd2xorzd2_81);
													BgL_arg1755z00_1979 =
														make_belong((long) (BgL_xz00_4355));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1755z00_1979 = BgL_finalzd2xorzd2_81;
												}
											{	/* Unsafe/crc.scm 418 */
												long BgL_res2200z00_4533;

												{	/* Unsafe/crc.scm 418 */
													long BgL_initz00_4356;
													long BgL_finalzd2xorzd2_4357;
													long BgL_polyz00_4358;
													long BgL_crczd2lenzd2_4359;

													BgL_initz00_4356 =
														BELONG_TO_LONG(BgL_arg1754z00_1978);
													BgL_finalzd2xorzd2_4357 =
														BELONG_TO_LONG(BgL_arg1755z00_1979);
													BgL_polyz00_4358 = BELONG_TO_LONG(BgL_polyz00_1974);
													BgL_crczd2lenzd2_4359 = (long) CINT(BgL_lenz00_1973);
													{	/* Unsafe/crc.scm 457 */
														long BgL_mz00_4360;

														{	/* Unsafe/crc.scm 460 */
															long BgL_tmpz00_8234;

															{	/* Unsafe/crc.scm 461 */
																long BgL_res2197z00_4383;

																{	/* Unsafe/crc.scm 461 */
																	long BgL_tmpz00_8238;

																	BgL_tmpz00_8238 =
																		(
																		(((long) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_4359 - 1L))) -
																		((long) 1));
																	BgL_res2197z00_4383 =
																		(long) (BgL_tmpz00_8238);
																}
																BgL_tmpz00_8234 = BgL_res2197z00_4383;
															}
															BgL_mz00_4360 =
																(
																(((long) 1) <<
																	(int) (
																		(BgL_crczd2lenzd2_4359 - 1L))) +
																BgL_tmpz00_8234);
														}
														{	/* Unsafe/crc.scm 463 */
															long BgL_lenz00_4366;

															BgL_lenz00_4366 = BGL_MMAP_LENGTH(BgL_mz00_79);
															{
																long BgL_iz00_4368;
																long BgL_crcz00_4369;

																BgL_iz00_4368 = 0L;
																BgL_crcz00_4369 = BgL_initz00_4356;
															BgL_loopz00_4367:
																{	/* Unsafe/crc.scm 466 */
																	bool_t BgL_test2859z00_8246;

																	{	/* Unsafe/crc.scm 466 */
																		long BgL_n2z00_4388;

																		BgL_n2z00_4388 = (long) (BgL_lenz00_4366);
																		BgL_test2859z00_8246 =
																			(BgL_iz00_4368 == BgL_n2z00_4388);
																	}
																	if (BgL_test2859z00_8246)
																		{	/* Unsafe/crc.scm 466 */
																			BgL_res2200z00_4533 =
																				(
																				(BgL_finalzd2xorzd2_4357 ^
																					BgL_crcz00_4369) & BgL_mz00_4360);
																		}
																	else
																		{	/* Unsafe/crc.scm 468 */
																			long BgL_arg1777z00_4372;
																			long BgL_arg1778z00_4373;

																			BgL_arg1777z00_4372 =
																				(BgL_iz00_4368 + 1L);
																			{	/* Unsafe/crc.scm 469 */
																				unsigned char BgL_arg1779z00_4374;

																				{	/* Unsafe/crc.scm 469 */
																					long BgL_tmpz00_8252;

																					BgL_tmpz00_8252 =
																						(long) (BgL_iz00_4368);
																					BgL_arg1779z00_4374 =
																						BGL_MMAP_REF(BgL_mz00_79,
																						BgL_tmpz00_8252);
																				}
																				{	/* Unsafe/crc.scm 469 */
																					long BgL_res2199z00_4532;

																					{	/* Unsafe/crc.scm 469 */
																						unsigned char BgL_cz00_4394;

																						BgL_cz00_4394 =
																							(char) (BgL_arg1779z00_4374);
																						if ((BgL_crczd2lenzd2_4359 >= 8L))
																							{	/* Unsafe/crc.scm 122 */
																								long BgL_octetz00_4399;

																								BgL_octetz00_4399 =
																									(
																									(unsigned
																										char) (BgL_cz00_4394));
																								{	/* Unsafe/crc.scm 123 */
																									long BgL_valuez00_4400;
																									long BgL_mz00_4401;

																									{	/* Unsafe/crc.scm 123 */
																										long BgL_arg1507z00_4402;
																										long BgL_arg1508z00_4403;

																										BgL_arg1507z00_4402 =
																											(long)
																											(BgL_octetz00_4399);
																										BgL_arg1508z00_4403 =
																											(BgL_crczd2lenzd2_4359 -
																											8L);
																										BgL_valuez00_4400 =
																											(BgL_arg1507z00_4402 <<
																											(int)
																											(BgL_arg1508z00_4403));
																									}
																									BgL_mz00_4401 =
																										(((long) 1) <<
																										(int) (
																											(BgL_crczd2lenzd2_4359 -
																												1L)));
																									{
																										long BgL_iz00_4407;
																										long BgL_crcz00_4408;

																										BgL_iz00_4407 = 0L;
																										BgL_crcz00_4408 =
																											(BgL_crcz00_4369 ^
																											BgL_valuez00_4400);
																									BgL_loopz00_4406:
																										if ((BgL_iz00_4407 == 8L))
																											{	/* Unsafe/crc.scm 127 */
																												BgL_res2199z00_4532 =
																													BgL_crcz00_4408;
																											}
																										else
																											{	/* Unsafe/crc.scm 129 */
																												long
																													BgL_newzd2crczd2_4410;
																												BgL_newzd2crczd2_4410 =
																													(BgL_crcz00_4408 <<
																													(int) (1L));
																												if ((((long) 0) ==
																														(BgL_mz00_4401 &
																															BgL_crcz00_4408)))
																													{
																														long
																															BgL_crcz00_8276;
																														long BgL_iz00_8274;

																														BgL_iz00_8274 =
																															(BgL_iz00_4407 +
																															1L);
																														BgL_crcz00_8276 =
																															BgL_newzd2crczd2_4410;
																														BgL_crcz00_4408 =
																															BgL_crcz00_8276;
																														BgL_iz00_4407 =
																															BgL_iz00_8274;
																														goto
																															BgL_loopz00_4406;
																													}
																												else
																													{
																														long
																															BgL_crcz00_8279;
																														long BgL_iz00_8277;

																														BgL_iz00_8277 =
																															(BgL_iz00_4407 +
																															1L);
																														BgL_crcz00_8279 =
																															(BgL_newzd2crczd2_4410
																															^
																															BgL_polyz00_4358);
																														BgL_crcz00_4408 =
																															BgL_crcz00_8279;
																														BgL_iz00_4407 =
																															BgL_iz00_8277;
																														goto
																															BgL_loopz00_4406;
																													}
																											}
																									}
																								}
																							}
																						else
																							{	/* Unsafe/crc.scm 133 */
																								long BgL_arg1510z00_4416;

																								{	/* Unsafe/crc.scm 133 */
																									long BgL_arg1511z00_4417;
																									long BgL_arg1512z00_4418;

																									BgL_arg1511z00_4417 =
																										(long) (BgL_crcz00_4369);
																									BgL_arg1512z00_4418 =
																										(long) (BgL_polyz00_4358);
																									{

																										if (
																											(BgL_crczd2lenzd2_4359 >=
																												8L))
																											{	/* Unsafe/crc.scm 111 */
																												{	/* Unsafe/crc.scm 76 */
																													long BgL_mz00_4451;

																													BgL_mz00_4451 =
																														(1L <<
																														(int) (
																															(BgL_crczd2lenzd2_4359
																																- 1L)));
																													{	/* Unsafe/crc.scm 77 */

																														{
																															long
																																BgL_iz00_4455;
																															long
																																BgL_crcz00_4456;
																															BgL_iz00_4455 =
																																0L;
																															BgL_crcz00_4456 =
																																(BgL_arg1511z00_4417
																																^ (((unsigned
																																			char)
																																		(BgL_cz00_4394))
																																	<<
																																	(int) (
																																		(BgL_crczd2lenzd2_4359
																																			- 8L))));
																														BgL_loopz00_4454:
																															if (
																																(BgL_iz00_4455
																																	== 8L))
																																{	/* Unsafe/crc.scm 80 */
																																	BgL_arg1510z00_4416
																																		=
																																		BgL_crcz00_4456;
																																}
																															else
																																{
																																	long
																																		BgL_crcz00_8293;
																																	long
																																		BgL_iz00_8291;
																																	BgL_iz00_8291
																																		=
																																		(BgL_iz00_4455
																																		+ 1L);
																																	BgL_crcz00_8293
																																		=
																																		((((BgL_mz00_4451 & BgL_crcz00_4456) >> (int) ((BgL_crczd2lenzd2_4359 - 1L))) * BgL_arg1512z00_4418) ^ (BgL_crcz00_4456 << (int) (1L)));
																																	BgL_crcz00_4456
																																		=
																																		BgL_crcz00_8293;
																																	BgL_iz00_4455
																																		=
																																		BgL_iz00_8291;
																																	goto
																																		BgL_loopz00_4454;
																																}
																														}
																													}
																												}
																											}
																										else
																											{	/* Unsafe/crc.scm 111 */
																												{	/* Unsafe/crc.scm 92 */
																													long BgL_mz00_4466;

																													BgL_mz00_4466 =
																														(1L <<
																														(int) (
																															(BgL_crczd2lenzd2_4359
																																- 1L)));
																													{	/* Unsafe/crc.scm 94 */

																														{
																															long
																																BgL_iz00_4470;
																															long
																																BgL_crcz00_4471;
																															long
																																BgL_shiftedzd2valuezd2_4472;
																															BgL_iz00_4470 =
																																0L;
																															BgL_crcz00_4471 =
																																BgL_arg1511z00_4417;
																															BgL_shiftedzd2valuezd2_4472
																																=
																																(((unsigned
																																		char)
																																	(BgL_cz00_4394))
																																<<
																																(int)
																																(BgL_crczd2lenzd2_4359));
																														BgL_loopz00_4469:
																															if (
																																(BgL_iz00_4470
																																	== 8L))
																																{	/* Unsafe/crc.scm 98 */
																																	BgL_arg1510z00_4416
																																		=
																																		BgL_crcz00_4471;
																																}
																															else
																																{	/* Unsafe/crc.scm 100 */
																																	long
																																		BgL_crc2z00_4474;
																																	BgL_crc2z00_4474
																																		=
																																		(BgL_crcz00_4471
																																		^
																																		(BgL_mz00_4466
																																			&
																																			(BgL_shiftedzd2valuezd2_4472
																																				>>
																																				(int)
																																				(8L))));
																																	{	/* Unsafe/crc.scm 104 */

																																		{
																																			long
																																				BgL_shiftedzd2valuezd2_8328;
																																			long
																																				BgL_crcz00_8319;
																																			long
																																				BgL_iz00_8317;
																																			BgL_iz00_8317
																																				=
																																				(BgL_iz00_4470
																																				+ 1L);
																																			BgL_crcz00_8319
																																				=
																																				((((BgL_mz00_4466 & BgL_crc2z00_4474) >> (int) ((BgL_crczd2lenzd2_4359 - 1L))) * BgL_arg1512z00_4418) ^ (BgL_crc2z00_4474 << (int) (1L)));
																																			BgL_shiftedzd2valuezd2_8328
																																				=
																																				(BgL_shiftedzd2valuezd2_4472
																																				<<
																																				(int)
																																				(1L));
																																			BgL_shiftedzd2valuezd2_4472
																																				=
																																				BgL_shiftedzd2valuezd2_8328;
																																			BgL_crcz00_4471
																																				=
																																				BgL_crcz00_8319;
																																			BgL_iz00_4470
																																				=
																																				BgL_iz00_8317;
																																			goto
																																				BgL_loopz00_4469;
																																		}
																																	}
																																}
																														}
																													}
																												}
																											}
																									}
																								}
																								BgL_res2199z00_4532 =
																									(long) (BgL_arg1510z00_4416);
																					}}
																					BgL_arg1778z00_4373 =
																						BgL_res2199z00_4532;
																			}}
																			{
																				long BgL_crcz00_8337;
																				long BgL_iz00_8336;

																				BgL_iz00_8336 = BgL_arg1777z00_4372;
																				BgL_crcz00_8337 = BgL_arg1778z00_4373;
																				BgL_crcz00_4369 = BgL_crcz00_8337;
																				BgL_iz00_4368 = BgL_iz00_8336;
																				goto BgL_loopz00_4367;
																			}
																		}
																}
															}
														}
													}
												}
												return make_belong(BgL_res2200z00_4533);
											}
										}
									else
										{	/* Unsafe/crc.scm 420 */
											obj_t BgL_arg1756z00_1980;
											obj_t BgL_arg1757z00_1981;

											if (INTEGERP(BgL_initz00_80))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_4535;

													BgL_xz00_4535 = (long) CINT(BgL_initz00_80);
													BgL_arg1756z00_1980 =
														make_belong((long) (BgL_xz00_4535));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1756z00_1980 = BgL_initz00_80;
												}
											if (INTEGERP(BgL_finalzd2xorzd2_81))
												{	/* Unsafe/crc.scm 367 */
													long BgL_xz00_4537;

													BgL_xz00_4537 = (long) CINT(BgL_finalzd2xorzd2_81);
													BgL_arg1757z00_1981 =
														make_belong((long) (BgL_xz00_4537));
												}
											else
												{	/* Unsafe/crc.scm 366 */
													BgL_arg1757z00_1981 = BgL_finalzd2xorzd2_81;
												}
											{	/* Unsafe/crc.scm 420 */
												long BgL_res2203z00_4606;

												{	/* Unsafe/crc.scm 420 */
													long BgL_initz00_4538;
													long BgL_finalzd2xorzd2_4539;
													long BgL_polyz00_4540;
													long BgL_crczd2lenzd2_4541;

													BgL_initz00_4538 =
														BELONG_TO_LONG(BgL_arg1756z00_1980);
													BgL_finalzd2xorzd2_4539 =
														BELONG_TO_LONG(BgL_arg1757z00_1981);
													BgL_polyz00_4540 =
														BELONG_TO_LONG(BgL_lsbzd2polyzd2_1975);
													BgL_crczd2lenzd2_4541 = (long) CINT(BgL_lenz00_1973);
													{	/* Unsafe/crc.scm 457 */
														long BgL_mz00_4542;

														{	/* Unsafe/crc.scm 460 */
															long BgL_tmpz00_8353;

															{	/* Unsafe/crc.scm 461 */
																long BgL_res2201z00_4565;

																{	/* Unsafe/crc.scm 461 */
																	long BgL_tmpz00_8357;

																	BgL_tmpz00_8357 =
																		(
																		(((long) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_4541 - 1L))) -
																		((long) 1));
																	BgL_res2201z00_4565 =
																		(long) (BgL_tmpz00_8357);
																}
																BgL_tmpz00_8353 = BgL_res2201z00_4565;
															}
															BgL_mz00_4542 =
																(
																(((long) 1) <<
																	(int) (
																		(BgL_crczd2lenzd2_4541 - 1L))) +
																BgL_tmpz00_8353);
														}
														{	/* Unsafe/crc.scm 463 */
															long BgL_lenz00_4548;

															BgL_lenz00_4548 = BGL_MMAP_LENGTH(BgL_mz00_79);
															{
																long BgL_iz00_4550;
																long BgL_crcz00_4551;

																BgL_iz00_4550 = 0L;
																BgL_crcz00_4551 = BgL_initz00_4538;
															BgL_loopz00_4549:
																{	/* Unsafe/crc.scm 466 */
																	bool_t BgL_test2868z00_8365;

																	{	/* Unsafe/crc.scm 466 */
																		long BgL_n2z00_4570;

																		BgL_n2z00_4570 = (long) (BgL_lenz00_4548);
																		BgL_test2868z00_8365 =
																			(BgL_iz00_4550 == BgL_n2z00_4570);
																	}
																	if (BgL_test2868z00_8365)
																		{	/* Unsafe/crc.scm 466 */
																			BgL_res2203z00_4606 =
																				(
																				(BgL_finalzd2xorzd2_4539 ^
																					BgL_crcz00_4551) & BgL_mz00_4542);
																		}
																	else
																		{	/* Unsafe/crc.scm 468 */
																			long BgL_arg1777z00_4554;
																			long BgL_arg1778z00_4555;

																			BgL_arg1777z00_4554 =
																				(BgL_iz00_4550 + 1L);
																			{	/* Unsafe/crc.scm 469 */
																				unsigned char BgL_arg1779z00_4556;

																				{	/* Unsafe/crc.scm 469 */
																					long BgL_tmpz00_8371;

																					BgL_tmpz00_8371 =
																						(long) (BgL_iz00_4550);
																					BgL_arg1779z00_4556 =
																						BGL_MMAP_REF(BgL_mz00_79,
																						BgL_tmpz00_8371);
																				}
																				{	/* Unsafe/crc.scm 469 */
																					long BgL_res2202z00_4605;

																					{	/* Unsafe/crc.scm 469 */
																						unsigned char BgL_cz00_4576;

																						BgL_cz00_4576 =
																							(char) (BgL_arg1779z00_4556);
																						{	/* Unsafe/crc.scm 175 */
																							long BgL_octetz00_4580;

																							BgL_octetz00_4580 =
																								(
																								(unsigned
																									char) (BgL_cz00_4576));
																							{	/* Unsafe/crc.scm 176 */
																								long BgL_g1043z00_4581;

																								{	/* Unsafe/crc.scm 177 */
																									long BgL_arg1551z00_4582;

																									BgL_arg1551z00_4582 =
																										(long) (BgL_octetz00_4580);
																									BgL_g1043z00_4581 =
																										(BgL_crcz00_4551 ^
																										BgL_arg1551z00_4582);
																								}
																								{
																									long BgL_iz00_4584;
																									long BgL_crcz00_4585;

																									BgL_iz00_4584 = 0L;
																									BgL_crcz00_4585 =
																										BgL_g1043z00_4581;
																								BgL_loopz00_4583:
																									if ((BgL_iz00_4584 == 8L))
																										{	/* Unsafe/crc.scm 178 */
																											BgL_res2202z00_4605 =
																												BgL_crcz00_4585;
																										}
																									else
																										{	/* Unsafe/crc.scm 180 */
																											long
																												BgL_newzd2crczd2_4587;
																											{	/* Unsafe/crc.scm 180 */
																												unsigned long
																													BgL_xz00_4597;
																												BgL_xz00_4597 =
																													(unsigned
																													long)
																													(BgL_crcz00_4585);
																												{	/* Unsafe/crc.scm 180 */
																													unsigned long
																														BgL_tmpz00_8382;
																													BgL_tmpz00_8382 =
																														(BgL_xz00_4597 >>
																														(int) (1L));
																													BgL_newzd2crczd2_4587
																														=
																														(long)
																														(BgL_tmpz00_8382);
																											}}
																											{
																												long BgL_crcz00_8388;
																												long BgL_iz00_8386;

																												BgL_iz00_8386 =
																													(BgL_iz00_4584 + 1L);
																												BgL_crcz00_8388 =
																													(
																													((((long) 1) &
																															BgL_crcz00_4585) *
																														BgL_polyz00_4540) ^
																													BgL_newzd2crczd2_4587);
																												BgL_crcz00_4585 =
																													BgL_crcz00_8388;
																												BgL_iz00_4584 =
																													BgL_iz00_8386;
																												goto BgL_loopz00_4583;
																											}
																										}
																								}
																							}
																						}
																					}
																					BgL_arg1778z00_4555 =
																						BgL_res2202z00_4605;
																				}
																			}
																			{
																				long BgL_crcz00_8393;
																				long BgL_iz00_8392;

																				BgL_iz00_8392 = BgL_arg1777z00_4554;
																				BgL_crcz00_8393 = BgL_arg1778z00_4555;
																				BgL_crcz00_4551 = BgL_crcz00_8393;
																				BgL_iz00_4550 = BgL_iz00_8392;
																				goto BgL_loopz00_4549;
																			}
																		}
																}
															}
														}
													}
												}
												return make_belong(BgL_res2203z00_4606);
											}
										}
								}
							else
								{	/* Unsafe/crc.scm 416 */
									if (LLONGP(BgL_polyz00_1974))
										{	/* Unsafe/crc.scm 422 */
											if (CBOOL(BgL_bigzd2endianzf3z21_82))
												{	/* Unsafe/crc.scm 424 */
													obj_t BgL_arg1759z00_1983;
													obj_t BgL_arg1760z00_1984;

													if (INTEGERP(BgL_initz00_80))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_4609;

															BgL_xz00_4609 = (long) CINT(BgL_initz00_80);
															BgL_arg1759z00_1983 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_4609));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_initz00_80))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_4610;

																	BgL_xz00_4610 =
																		BELONG_TO_LONG(BgL_initz00_80);
																	BgL_arg1759z00_1983 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_4610));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1759z00_1983 = BgL_initz00_80;
																}
														}
													if (INTEGERP(BgL_finalzd2xorzd2_81))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_4613;

															BgL_xz00_4613 =
																(long) CINT(BgL_finalzd2xorzd2_81);
															BgL_arg1760z00_1984 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_4613));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_finalzd2xorzd2_81))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_4614;

																	BgL_xz00_4614 =
																		BELONG_TO_LONG(BgL_finalzd2xorzd2_81);
																	BgL_arg1760z00_1984 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_4614));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1760z00_1984 = BgL_finalzd2xorzd2_81;
																}
														}
													{	/* Unsafe/crc.scm 424 */
														BGL_LONGLONG_T BgL_res2206z00_4791;

														{	/* Unsafe/crc.scm 424 */
															BGL_LONGLONG_T BgL_initz00_4615;
															BGL_LONGLONG_T BgL_finalzd2xorzd2_4616;
															BGL_LONGLONG_T BgL_polyz00_4617;
															long BgL_crczd2lenzd2_4618;

															BgL_initz00_4615 =
																BLLONG_TO_LLONG(BgL_arg1759z00_1983);
															BgL_finalzd2xorzd2_4616 =
																BLLONG_TO_LLONG(BgL_arg1760z00_1984);
															BgL_polyz00_4617 =
																BLLONG_TO_LLONG(BgL_polyz00_1974);
															BgL_crczd2lenzd2_4618 =
																(long) CINT(BgL_lenz00_1973);
															{	/* Unsafe/crc.scm 477 */
																BGL_LONGLONG_T BgL_mz00_4619;

																BgL_mz00_4619 =
																	(
																	(((BGL_LONGLONG_T) 1) <<
																		(int) (
																			(BgL_crczd2lenzd2_4618 - 1L))) +
																	((((BGL_LONGLONG_T) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_4618 - 1L))) -
																		((BGL_LONGLONG_T) 1)));
																{	/* Unsafe/crc.scm 483 */
																	long BgL_lenz00_4625;

																	BgL_lenz00_4625 =
																		BGL_MMAP_LENGTH(BgL_mz00_79);
																	{
																		long BgL_iz00_4627;
																		BGL_LONGLONG_T BgL_crcz00_4628;

																		BgL_iz00_4627 = 0L;
																		BgL_crcz00_4628 = BgL_initz00_4615;
																	BgL_loopz00_4626:
																		{	/* Unsafe/crc.scm 486 */
																			bool_t BgL_test2876z00_8432;

																			{	/* Unsafe/crc.scm 486 */
																				long BgL_n2z00_4646;

																				BgL_n2z00_4646 =
																					(long) (BgL_lenz00_4625);
																				BgL_test2876z00_8432 =
																					(BgL_iz00_4627 == BgL_n2z00_4646);
																			}
																			if (BgL_test2876z00_8432)
																				{	/* Unsafe/crc.scm 486 */
																					BgL_res2206z00_4791 =
																						(
																						(BgL_finalzd2xorzd2_4616 ^
																							BgL_crcz00_4628) & BgL_mz00_4619);
																				}
																			else
																				{	/* Unsafe/crc.scm 488 */
																					long BgL_arg1789z00_4631;
																					BGL_LONGLONG_T BgL_arg1790z00_4632;

																					BgL_arg1789z00_4631 =
																						(BgL_iz00_4627 + 1L);
																					{	/* Unsafe/crc.scm 489 */
																						unsigned char BgL_arg1791z00_4633;

																						{	/* Unsafe/crc.scm 489 */
																							long BgL_tmpz00_8438;

																							BgL_tmpz00_8438 =
																								(long) (BgL_iz00_4627);
																							BgL_arg1791z00_4633 =
																								BGL_MMAP_REF(BgL_mz00_79,
																								BgL_tmpz00_8438);
																						}
																						{	/* Unsafe/crc.scm 489 */
																							BGL_LONGLONG_T
																								BgL_res2205z00_4790;
																							{	/* Unsafe/crc.scm 489 */
																								unsigned char BgL_cz00_4652;

																								BgL_cz00_4652 =
																									(char) (BgL_arg1791z00_4633);
																								if (
																									(BgL_crczd2lenzd2_4618 >= 8L))
																									{	/* Unsafe/crc.scm 142 */
																										long BgL_octetz00_4657;

																										BgL_octetz00_4657 =
																											(
																											(unsigned
																												char) (BgL_cz00_4652));
																										{	/* Unsafe/crc.scm 143 */
																											BGL_LONGLONG_T
																												BgL_valuez00_4658;
																											BGL_LONGLONG_T
																												BgL_mz00_4659;
																											{	/* Unsafe/crc.scm 143 */
																												BGL_LONGLONG_T
																													BgL_arg1524z00_4660;
																												long
																													BgL_arg1525z00_4661;
																												BgL_arg1524z00_4660 =
																													LONG_TO_LLONG
																													(BgL_octetz00_4657);
																												BgL_arg1525z00_4661 =
																													(BgL_crczd2lenzd2_4618
																													- 8L);
																												BgL_valuez00_4658 =
																													(BgL_arg1524z00_4660
																													<<
																													(int)
																													(BgL_arg1525z00_4661));
																											}
																											BgL_mz00_4659 =
																												(((BGL_LONGLONG_T) 1) <<
																												(int) (
																													(BgL_crczd2lenzd2_4618
																														- 1L)));
																											{
																												long BgL_iz00_4665;
																												BGL_LONGLONG_T
																													BgL_crcz00_4666;
																												BgL_iz00_4665 = 0L;
																												BgL_crcz00_4666 =
																													(BgL_crcz00_4628 ^
																													BgL_valuez00_4658);
																											BgL_loopz00_4664:
																												if (
																													(BgL_iz00_4665 == 8L))
																													{	/* Unsafe/crc.scm 147 */
																														BgL_res2205z00_4790
																															= BgL_crcz00_4666;
																													}
																												else
																													{	/* Unsafe/crc.scm 149 */
																														BGL_LONGLONG_T
																															BgL_newzd2crczd2_4668;
																														BgL_newzd2crczd2_4668
																															=
																															(BgL_crcz00_4666
																															<< (int) (1L));
																														if ((((BGL_LONGLONG_T) 0) == (BgL_mz00_4659 & BgL_crcz00_4666)))
																															{
																																BGL_LONGLONG_T
																																	BgL_crcz00_8462;
																																long
																																	BgL_iz00_8460;
																																BgL_iz00_8460 =
																																	(BgL_iz00_4665
																																	+ 1L);
																																BgL_crcz00_8462
																																	=
																																	BgL_newzd2crczd2_4668;
																																BgL_crcz00_4666
																																	=
																																	BgL_crcz00_8462;
																																BgL_iz00_4665 =
																																	BgL_iz00_8460;
																																goto
																																	BgL_loopz00_4664;
																															}
																														else
																															{
																																BGL_LONGLONG_T
																																	BgL_crcz00_8465;
																																long
																																	BgL_iz00_8463;
																																BgL_iz00_8463 =
																																	(BgL_iz00_4665
																																	+ 1L);
																																BgL_crcz00_8465
																																	=
																																	(BgL_newzd2crczd2_4668
																																	^
																																	BgL_polyz00_4617);
																																BgL_crcz00_4666
																																	=
																																	BgL_crcz00_8465;
																																BgL_iz00_4665 =
																																	BgL_iz00_8463;
																																goto
																																	BgL_loopz00_4664;
																															}
																													}
																											}
																										}
																									}
																								else
																									{	/* Unsafe/crc.scm 153 */
																										long BgL_arg1527z00_4674;

																										{	/* Unsafe/crc.scm 153 */
																											long BgL_arg1528z00_4675;
																											long BgL_arg1532z00_4676;

																											BgL_arg1528z00_4675 =
																												LLONG_TO_LONG
																												(BgL_crcz00_4628);
																											BgL_arg1532z00_4676 =
																												LLONG_TO_LONG
																												(BgL_polyz00_4617);
																											{

																												if (
																													(BgL_crczd2lenzd2_4618
																														>= 8L))
																													{	/* Unsafe/crc.scm 111 */
																														{	/* Unsafe/crc.scm 76 */
																															long
																																BgL_mz00_4709;
																															BgL_mz00_4709 =
																																(1L <<
																																(int) (
																																	(BgL_crczd2lenzd2_4618
																																		- 1L)));
																															{	/* Unsafe/crc.scm 77 */

																																{
																																	long
																																		BgL_iz00_4713;
																																	long
																																		BgL_crcz00_4714;
																																	BgL_iz00_4713
																																		= 0L;
																																	BgL_crcz00_4714
																																		=
																																		(BgL_arg1528z00_4675
																																		^
																																		(((unsigned
																																					char)
																																				(BgL_cz00_4652))
																																			<<
																																			(int) (
																																				(BgL_crczd2lenzd2_4618
																																					-
																																					8L))));
																																BgL_loopz00_4712:
																																	if (
																																		(BgL_iz00_4713
																																			== 8L))
																																		{	/* Unsafe/crc.scm 80 */
																																			BgL_arg1527z00_4674
																																				=
																																				BgL_crcz00_4714;
																																		}
																																	else
																																		{
																																			long
																																				BgL_crcz00_8479;
																																			long
																																				BgL_iz00_8477;
																																			BgL_iz00_8477
																																				=
																																				(BgL_iz00_4713
																																				+ 1L);
																																			BgL_crcz00_8479
																																				=
																																				((((BgL_mz00_4709 & BgL_crcz00_4714) >> (int) ((BgL_crczd2lenzd2_4618 - 1L))) * BgL_arg1532z00_4676) ^ (BgL_crcz00_4714 << (int) (1L)));
																																			BgL_crcz00_4714
																																				=
																																				BgL_crcz00_8479;
																																			BgL_iz00_4713
																																				=
																																				BgL_iz00_8477;
																																			goto
																																				BgL_loopz00_4712;
																																		}
																																}
																															}
																														}
																													}
																												else
																													{	/* Unsafe/crc.scm 111 */
																														{	/* Unsafe/crc.scm 92 */
																															long
																																BgL_mz00_4724;
																															BgL_mz00_4724 =
																																(1L <<
																																(int) (
																																	(BgL_crczd2lenzd2_4618
																																		- 1L)));
																															{	/* Unsafe/crc.scm 94 */

																																{
																																	long
																																		BgL_iz00_4728;
																																	long
																																		BgL_crcz00_4729;
																																	long
																																		BgL_shiftedzd2valuezd2_4730;
																																	BgL_iz00_4728
																																		= 0L;
																																	BgL_crcz00_4729
																																		=
																																		BgL_arg1528z00_4675;
																																	BgL_shiftedzd2valuezd2_4730
																																		=
																																		(((unsigned
																																				char)
																																			(BgL_cz00_4652))
																																		<<
																																		(int)
																																		(BgL_crczd2lenzd2_4618));
																																BgL_loopz00_4727:
																																	if (
																																		(BgL_iz00_4728
																																			== 8L))
																																		{	/* Unsafe/crc.scm 98 */
																																			BgL_arg1527z00_4674
																																				=
																																				BgL_crcz00_4729;
																																		}
																																	else
																																		{	/* Unsafe/crc.scm 100 */
																																			long
																																				BgL_crc2z00_4732;
																																			BgL_crc2z00_4732
																																				=
																																				(BgL_crcz00_4729
																																				^
																																				(BgL_mz00_4724
																																					&
																																					(BgL_shiftedzd2valuezd2_4730
																																						>>
																																						(int)
																																						(8L))));
																																			{	/* Unsafe/crc.scm 104 */

																																				{
																																					long
																																						BgL_shiftedzd2valuezd2_8514;
																																					long
																																						BgL_crcz00_8505;
																																					long
																																						BgL_iz00_8503;
																																					BgL_iz00_8503
																																						=
																																						(BgL_iz00_4728
																																						+
																																						1L);
																																					BgL_crcz00_8505
																																						=
																																						((((BgL_mz00_4724 & BgL_crc2z00_4732) >> (int) ((BgL_crczd2lenzd2_4618 - 1L))) * BgL_arg1532z00_4676) ^ (BgL_crc2z00_4732 << (int) (1L)));
																																					BgL_shiftedzd2valuezd2_8514
																																						=
																																						(BgL_shiftedzd2valuezd2_4730
																																						<<
																																						(int)
																																						(1L));
																																					BgL_shiftedzd2valuezd2_4730
																																						=
																																						BgL_shiftedzd2valuezd2_8514;
																																					BgL_crcz00_4729
																																						=
																																						BgL_crcz00_8505;
																																					BgL_iz00_4728
																																						=
																																						BgL_iz00_8503;
																																					goto
																																						BgL_loopz00_4727;
																																				}
																																			}
																																		}
																																}
																															}
																														}
																													}
																											}
																										}
																										BgL_res2205z00_4790 =
																											LONG_TO_LLONG
																											(BgL_arg1527z00_4674);
																									}
																							}
																							BgL_arg1790z00_4632 =
																								BgL_res2205z00_4790;
																						}
																					}
																					{
																						BGL_LONGLONG_T BgL_crcz00_8523;
																						long BgL_iz00_8522;

																						BgL_iz00_8522 = BgL_arg1789z00_4631;
																						BgL_crcz00_8523 =
																							BgL_arg1790z00_4632;
																						BgL_crcz00_4628 = BgL_crcz00_8523;
																						BgL_iz00_4627 = BgL_iz00_8522;
																						goto BgL_loopz00_4626;
																					}
																				}
																		}
																	}
																}
															}
														}
														return make_bllong(BgL_res2206z00_4791);
													}
												}
											else
												{	/* Unsafe/crc.scm 426 */
													obj_t BgL_arg1761z00_1985;
													obj_t BgL_arg1762z00_1986;

													if (INTEGERP(BgL_initz00_80))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_4794;

															BgL_xz00_4794 = (long) CINT(BgL_initz00_80);
															BgL_arg1761z00_1985 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_4794));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_initz00_80))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_4795;

																	BgL_xz00_4795 =
																		BELONG_TO_LONG(BgL_initz00_80);
																	BgL_arg1761z00_1985 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_4795));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1761z00_1985 = BgL_initz00_80;
																}
														}
													if (INTEGERP(BgL_finalzd2xorzd2_81))
														{	/* Unsafe/crc.scm 375 */
															long BgL_xz00_4798;

															BgL_xz00_4798 =
																(long) CINT(BgL_finalzd2xorzd2_81);
															BgL_arg1762z00_1986 =
																make_bllong(LONG_TO_LLONG(BgL_xz00_4798));
														}
													else
														{	/* Unsafe/crc.scm 375 */
															if (ELONGP(BgL_finalzd2xorzd2_81))
																{	/* Unsafe/crc.scm 376 */
																	long BgL_xz00_4799;

																	BgL_xz00_4799 =
																		BELONG_TO_LONG(BgL_finalzd2xorzd2_81);
																	BgL_arg1762z00_1986 =
																		make_bllong(
																		(BGL_LONGLONG_T) (BgL_xz00_4799));
																}
															else
																{	/* Unsafe/crc.scm 376 */
																	BgL_arg1762z00_1986 = BgL_finalzd2xorzd2_81;
																}
														}
													{	/* Unsafe/crc.scm 426 */
														BGL_LONGLONG_T BgL_res2208z00_4867;

														{	/* Unsafe/crc.scm 426 */
															BGL_LONGLONG_T BgL_initz00_4800;
															BGL_LONGLONG_T BgL_finalzd2xorzd2_4801;
															BGL_LONGLONG_T BgL_polyz00_4802;
															long BgL_crczd2lenzd2_4803;

															BgL_initz00_4800 =
																BLLONG_TO_LLONG(BgL_arg1761z00_1985);
															BgL_finalzd2xorzd2_4801 =
																BLLONG_TO_LLONG(BgL_arg1762z00_1986);
															BgL_polyz00_4802 =
																BLLONG_TO_LLONG(BgL_lsbzd2polyzd2_1975);
															BgL_crczd2lenzd2_4803 =
																(long) CINT(BgL_lenz00_1973);
															{	/* Unsafe/crc.scm 477 */
																BGL_LONGLONG_T BgL_mz00_4804;

																BgL_mz00_4804 =
																	(
																	(((BGL_LONGLONG_T) 1) <<
																		(int) (
																			(BgL_crczd2lenzd2_4803 - 1L))) +
																	((((BGL_LONGLONG_T) 1) <<
																			(int) (
																				(BgL_crczd2lenzd2_4803 - 1L))) -
																		((BGL_LONGLONG_T) 1)));
																{	/* Unsafe/crc.scm 483 */
																	long BgL_lenz00_4810;

																	BgL_lenz00_4810 =
																		BGL_MMAP_LENGTH(BgL_mz00_79);
																	{
																		long BgL_iz00_4812;
																		BGL_LONGLONG_T BgL_crcz00_4813;

																		BgL_iz00_4812 = 0L;
																		BgL_crcz00_4813 = BgL_initz00_4800;
																	BgL_loopz00_4811:
																		{	/* Unsafe/crc.scm 486 */
																			bool_t BgL_test2887z00_8558;

																			{	/* Unsafe/crc.scm 486 */
																				long BgL_n2z00_4831;

																				BgL_n2z00_4831 =
																					(long) (BgL_lenz00_4810);
																				BgL_test2887z00_8558 =
																					(BgL_iz00_4812 == BgL_n2z00_4831);
																			}
																			if (BgL_test2887z00_8558)
																				{	/* Unsafe/crc.scm 486 */
																					BgL_res2208z00_4867 =
																						(
																						(BgL_finalzd2xorzd2_4801 ^
																							BgL_crcz00_4813) & BgL_mz00_4804);
																				}
																			else
																				{	/* Unsafe/crc.scm 488 */
																					long BgL_arg1789z00_4816;
																					BGL_LONGLONG_T BgL_arg1790z00_4817;

																					BgL_arg1789z00_4816 =
																						(BgL_iz00_4812 + 1L);
																					{	/* Unsafe/crc.scm 489 */
																						unsigned char BgL_arg1791z00_4818;

																						{	/* Unsafe/crc.scm 489 */
																							long BgL_tmpz00_8564;

																							BgL_tmpz00_8564 =
																								(long) (BgL_iz00_4812);
																							BgL_arg1791z00_4818 =
																								BGL_MMAP_REF(BgL_mz00_79,
																								BgL_tmpz00_8564);
																						}
																						{	/* Unsafe/crc.scm 489 */
																							BGL_LONGLONG_T
																								BgL_res2207z00_4866;
																							{	/* Unsafe/crc.scm 489 */
																								unsigned char BgL_cz00_4837;

																								BgL_cz00_4837 =
																									(char) (BgL_arg1791z00_4818);
																								{	/* Unsafe/crc.scm 189 */
																									long BgL_octetz00_4841;

																									BgL_octetz00_4841 =
																										(
																										(unsigned
																											char) (BgL_cz00_4837));
																									{	/* Unsafe/crc.scm 190 */
																										BGL_LONGLONG_T
																											BgL_g1044z00_4842;
																										{	/* Unsafe/crc.scm 191 */
																											BGL_LONGLONG_T
																												BgL_arg1561z00_4843;
																											BgL_arg1561z00_4843 =
																												LONG_TO_LLONG
																												(BgL_octetz00_4841);
																											BgL_g1044z00_4842 =
																												(BgL_crcz00_4813 ^
																												BgL_arg1561z00_4843);
																										}
																										{
																											long BgL_iz00_4845;
																											BGL_LONGLONG_T
																												BgL_crcz00_4846;
																											BgL_iz00_4845 = 0L;
																											BgL_crcz00_4846 =
																												BgL_g1044z00_4842;
																										BgL_loopz00_4844:
																											if ((BgL_iz00_4845 == 8L))
																												{	/* Unsafe/crc.scm 192 */
																													BgL_res2207z00_4866 =
																														BgL_crcz00_4846;
																												}
																											else
																												{	/* Unsafe/crc.scm 194 */
																													BGL_LONGLONG_T
																														BgL_newzd2crczd2_4848;
																													{	/* Unsafe/crc.scm 194 */
																														unsigned
																															BGL_LONGLONG_T
																															BgL_xz00_4858;
																														BgL_xz00_4858 =
																															(unsigned
																															BGL_LONGLONG_T)
																															(BgL_crcz00_4846);
																														{	/* Unsafe/crc.scm 194 */
																															unsigned
																																BGL_LONGLONG_T
																																BgL_tmpz00_8575;
																															BgL_tmpz00_8575 =
																																(BgL_xz00_4858
																																>> (int) (1L));
																															BgL_newzd2crczd2_4848
																																=
																																(BGL_LONGLONG_T)
																																(BgL_tmpz00_8575);
																													}}
																													{
																														BGL_LONGLONG_T
																															BgL_crcz00_8581;
																														long BgL_iz00_8579;

																														BgL_iz00_8579 =
																															(BgL_iz00_4845 +
																															1L);
																														BgL_crcz00_8581 =
																															(((((BGL_LONGLONG_T) 1) & BgL_crcz00_4846) * BgL_polyz00_4802) ^ BgL_newzd2crczd2_4848);
																														BgL_crcz00_4846 =
																															BgL_crcz00_8581;
																														BgL_iz00_4845 =
																															BgL_iz00_8579;
																														goto
																															BgL_loopz00_4844;
																													}
																												}
																										}
																									}
																								}
																							}
																							BgL_arg1790z00_4817 =
																								BgL_res2207z00_4866;
																						}
																					}
																					{
																						BGL_LONGLONG_T BgL_crcz00_8586;
																						long BgL_iz00_8585;

																						BgL_iz00_8585 = BgL_arg1789z00_4816;
																						BgL_crcz00_8586 =
																							BgL_arg1790z00_4817;
																						BgL_crcz00_4813 = BgL_crcz00_8586;
																						BgL_iz00_4812 = BgL_iz00_8585;
																						goto BgL_loopz00_4811;
																					}
																				}
																		}
																	}
																}
															}
														}
														return make_bllong(BgL_res2208z00_4867);
													}
												}
										}
									else
										{	/* Unsafe/crc.scm 422 */
											return
												BGl_errorz00zz__errorz00(BGl_symbol2461z00zz__crcz00,
												BGl_string2484z00zz__crcz00, BgL_polyz00_1974);
										}
								}
						}
				}
			}
		}

	}



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

	}



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

	}



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

	}

#ifdef __cplusplus
}
#endif
