/*===========================================================================*/
/*   (Unsafe/crc16.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/crc16.scm -indent -o objs/obj_u/Unsafe/crc16.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___CRC16_TYPE_DEFINITIONS
#define BGL___CRC16_TYPE_DEFINITIONS
#endif													// BGL___CRC16_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_z62crc16zd2portzb0zz__crc16z00(obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__crc16z00 = BUNSPEC;
	static obj_t BGl_z62crc16zd2mmapzb0zz__crc16z00(obj_t, obj_t);
	static long BGl_crczd2valuezd2zz__crc16z00(long, long);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__crc16z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	static obj_t BGl_cnstzd2initzd2zz__crc16z00(void);
	static obj_t BGl_genericzd2initzd2zz__crc16z00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__crc16z00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__crc16z00(void);
	static obj_t BGl_objectzd2initzd2zz__crc16z00(void);
	BGL_EXPORTED_DECL int BGl_crc16z00zz__crc16z00(obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_z62crc16zd2stringzb0zz__crc16z00(obj_t, obj_t);
	static obj_t BGl_z62zc3z04anonymousza31242ze3ze5zz__crc16z00(obj_t);
	static obj_t BGl_methodzd2initzd2zz__crc16z00(void);
	static obj_t BGl_z62crc16z62zz__crc16z00(obj_t, obj_t);
	BGL_EXPORTED_DECL int BGl_crc16zd2stringzd2zz__crc16z00(obj_t);
	extern obj_t BGl_withzd2inputzd2fromzd2filezd2zz__r4_ports_6_10_1z00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL int BGl_crc16zd2filezd2zz__crc16z00(obj_t);
	extern obj_t BGl_readzd2bytezd2zz__r4_input_6_10_2z00(obj_t);
	BGL_EXPORTED_DECL int BGl_crc16zd2portzd2zz__crc16z00(obj_t);
	static obj_t BGl_symbol1664z00zz__crc16z00 = BUNSPEC;
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62crc16zd2filezb0zz__crc16z00(obj_t, obj_t);
	BGL_EXPORTED_DECL int BGl_crc16zd2mmapzd2zz__crc16z00(obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_crc16zd2portzd2envz00zz__crc16z00,
		BgL_bgl_za762crc16za7d2portza71677za7, BGl_z62crc16zd2portzb0zz__crc16z00,
		0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crc16zd2envzd2zz__crc16z00,
		BgL_bgl_za762crc16za762za7za7__c1678z00, BGl_z62crc16z62zz__crc16z00, 0L,
		BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crc16zd2stringzd2envz00zz__crc16z00,
		BgL_bgl_za762crc16za7d2strin1679z00, BGl_z62crc16zd2stringzb0zz__crc16z00,
		0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crc16zd2mmapzd2envz00zz__crc16z00,
		BgL_bgl_za762crc16za7d2mmapza71680za7, BGl_z62crc16zd2mmapzb0zz__crc16z00,
		0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1665z00zz__crc16z00,
		BgL_bgl_string1665za700za7za7_1681za7, "crc16", 5);
	      BGL_DEFINE_STRING(BGl_string1666z00zz__crc16z00,
		BgL_bgl_string1666za700za7za7_1682za7, "Illegal argument", 16);
	      BGL_DEFINE_STRING(BGl_string1667z00zz__crc16z00,
		BgL_bgl_string1667za700za7za7_1683za7,
		"/tmp/bigloo/runtime/Unsafe/crc16.scm", 36);
	      BGL_DEFINE_STRING(BGl_string1668z00zz__crc16z00,
		BgL_bgl_string1668za700za7za7_1684za7, "&crc16-mmap", 11);
	      BGL_DEFINE_STRING(BGl_string1669z00zz__crc16z00,
		BgL_bgl_string1669za700za7za7_1685za7, "mmap", 4);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_crc16zd2filezd2envz00zz__crc16z00,
		BgL_bgl_za762crc16za7d2fileza71686za7, BGl_z62crc16zd2filezb0zz__crc16z00,
		0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1670z00zz__crc16z00,
		BgL_bgl_string1670za700za7za7_1687za7, "&crc16-string", 13);
	      BGL_DEFINE_STRING(BGl_string1671z00zz__crc16z00,
		BgL_bgl_string1671za700za7za7_1688za7, "bstring", 7);
	      BGL_DEFINE_STRING(BGl_string1672z00zz__crc16z00,
		BgL_bgl_string1672za700za7za7_1689za7, "&crc16-port", 11);
	      BGL_DEFINE_STRING(BGl_string1673z00zz__crc16z00,
		BgL_bgl_string1673za700za7za7_1690za7, "input-port", 10);
	      BGL_DEFINE_STRING(BGl_string1675z00zz__crc16z00,
		BgL_bgl_string1675za700za7za7_1691za7, "&crc16-file", 11);
	      BGL_DEFINE_STRING(BGl_string1676z00zz__crc16z00,
		BgL_bgl_string1676za700za7za7_1692za7, "__crc16", 7);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc1674z00zz__crc16z00,
		BgL_bgl_za762za7c3za704anonymo1693za7,
		BGl_z62zc3z04anonymousza31242ze3ze5zz__crc16z00, 0L, BUNSPEC, 0);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_proc1674z00zz__crc16z00,
			BgL_bgl_za762za7c3za704anonymo1693za7);
		BGL_BIND_STRING(BGl_string1676z00zz__crc16z00,
			BgL_bgl_string1676za700za7za7_1692za7);
		BGL_BIND_STRING(BGl_string1675z00zz__crc16z00,
			BgL_bgl_string1675za700za7za7_1691za7);
		BGL_BIND_STRING(BGl_string1673z00zz__crc16z00,
			BgL_bgl_string1673za700za7za7_1690za7);
		BGL_BIND_STRING(BGl_string1672z00zz__crc16z00,
			BgL_bgl_string1672za700za7za7_1689za7);
		BGL_BIND_STRING(BGl_string1671z00zz__crc16z00,
			BgL_bgl_string1671za700za7za7_1688za7);
		BGL_BIND_STRING(BGl_string1670z00zz__crc16z00,
			BgL_bgl_string1670za700za7za7_1687za7);
		BGL_BIND_PROCEDURE(BGl_crc16zd2filezd2envz00zz__crc16z00,
			BgL_bgl_za762crc16za7d2fileza71686za7);
		BGL_BIND_STRING(BGl_string1669z00zz__crc16z00,
			BgL_bgl_string1669za700za7za7_1685za7);
		BGL_BIND_STRING(BGl_string1668z00zz__crc16z00,
			BgL_bgl_string1668za700za7za7_1684za7);
		BGL_BIND_STRING(BGl_string1667z00zz__crc16z00,
			BgL_bgl_string1667za700za7za7_1683za7);
		BGL_BIND_STRING(BGl_string1666z00zz__crc16z00,
			BgL_bgl_string1666za700za7za7_1682za7);
		BGL_BIND_STRING(BGl_string1665z00zz__crc16z00,
			BgL_bgl_string1665za700za7za7_1681za7);
		BGL_BIND_PROCEDURE(BGl_crc16zd2mmapzd2envz00zz__crc16z00,
			BgL_bgl_za762crc16za7d2mmapza71680za7);
		BGL_BIND_PROCEDURE(BGl_crc16zd2stringzd2envz00zz__crc16z00,
			BgL_bgl_za762crc16za7d2strin1679z00);
		BGL_BIND_PROCEDURE(BGl_crc16zd2envzd2zz__crc16z00,
			BgL_bgl_za762crc16za762za7za7__c1678z00);
		BGL_BIND_PROCEDURE(BGl_crc16zd2portzd2envz00zz__crc16z00,
			BgL_bgl_za762crc16za7d2portza71677za7);
	}

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;

		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__crc16z00));
		ADD_ROOT((void *) (&BGl_symbol1664z00zz__crc16z00));
#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__crc16z00(long
		BgL_checksumz00_2178, char *BgL_fromz00_2179)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__crc16z00))
				{
					BGl_requirezd2initializa7ationz75zz__crc16z00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__crc16z00();
					BGl_cnstzd2initzd2zz__crc16z00();
					BGl_importedzd2moduleszd2initz00zz__crc16z00();
					return BGl_methodzd2initzd2zz__crc16z00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__crc16z00(void)
	{
		{	/* Unsafe/crc16.scm 17 */
			return (BGl_symbol1664z00zz__crc16z00 =
				bstring_to_symbol(BGl_string1665z00zz__crc16z00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__crc16z00(void)
	{
		{	/* Unsafe/crc16.scm 17 */
			return bgl_gc_roots_register();
		}

	}



/* crc16 */
	BGL_EXPORTED_DEF int BGl_crc16z00zz__crc16z00(obj_t BgL_objz00_3)
	{
		{	/* Unsafe/crc16.scm 66 */
			if (BGL_MMAPP(BgL_objz00_3))
				{	/* Unsafe/crc16.scm 68 */
					return BGl_crc16zd2mmapzd2zz__crc16z00(BgL_objz00_3);
				}
			else
				{	/* Unsafe/crc16.scm 68 */
					if (STRINGP(BgL_objz00_3))
						{	/* Unsafe/crc16.scm 70 */
							return BGl_crc16zd2stringzd2zz__crc16z00(BgL_objz00_3);
						}
					else
						{	/* Unsafe/crc16.scm 70 */
							if (INPUT_PORTP(BgL_objz00_3))
								{	/* Unsafe/crc16.scm 72 */
									return BGl_crc16zd2portzd2zz__crc16z00(BgL_objz00_3);
								}
							else
								{	/* Unsafe/crc16.scm 72 */
									return
										CINT(BGl_errorz00zz__errorz00(BGl_symbol1664z00zz__crc16z00,
											BGl_string1666z00zz__crc16z00, BgL_objz00_3));
								}
						}
				}
		}

	}



/* &crc16 */
	obj_t BGl_z62crc16z62zz__crc16z00(obj_t BgL_envz00_2156,
		obj_t BgL_objz00_2157)
	{
		{	/* Unsafe/crc16.scm 66 */
			return BINT(BGl_crc16z00zz__crc16z00(BgL_objz00_2157));
		}

	}



/* crc-value */
	long BGl_crczd2valuezd2zz__crc16z00(long BgL_valz00_4, long BgL_crcz00_5)
	{
		{	/* Unsafe/crc16.scm 80 */
			{
				long BgL_iz00_1812;
				long BgL_valuez00_1813;
				long BgL_crcz00_1814;

				BgL_iz00_1812 = 0L;
				BgL_valuez00_1813 = (BgL_valz00_4 << (int) (8L));
				BgL_crcz00_1814 = BgL_crcz00_5;
			BgL_loopz00_1811:
				if ((BgL_iz00_1812 == 8L))
					{	/* Unsafe/crc16.scm 84 */
						return BgL_crcz00_1814;
					}
				else
					{	/* Unsafe/crc16.scm 86 */
						long BgL_valuez00_1817;
						long BgL_crcz00_1818;

						BgL_valuez00_1817 = (BgL_valuez00_1813 << (int) (1L));
						BgL_crcz00_1818 = (BgL_crcz00_1814 << (int) (1L));
						{
							long BgL_crcz00_2212;
							long BgL_valuez00_2211;
							long BgL_iz00_2209;

							BgL_iz00_2209 = (BgL_iz00_1812 + 1L);
							BgL_valuez00_2211 = BgL_valuez00_1817;
							if ((0L == (65536L & (BgL_crcz00_1818 ^ BgL_valuez00_1817))))
								{	/* Unsafe/crc16.scm 90 */
									BgL_crcz00_2212 = BgL_crcz00_1818;
								}
							else
								{	/* Unsafe/crc16.scm 90 */
									BgL_crcz00_2212 = (BgL_crcz00_1818 ^ 32773L);
								}
							BgL_crcz00_1814 = BgL_crcz00_2212;
							BgL_valuez00_1813 = BgL_valuez00_2211;
							BgL_iz00_1812 = BgL_iz00_2209;
							goto BgL_loopz00_1811;
						}
					}
			}
		}

	}



/* crc16-mmap */
	BGL_EXPORTED_DEF int BGl_crc16zd2mmapzd2zz__crc16z00(obj_t BgL_mmapz00_6)
	{
		{	/* Unsafe/crc16.scm 97 */
			{	/* Unsafe/crc16.scm 98 */
				long BgL_lenz00_1310;

				BgL_lenz00_1310 = BGL_MMAP_LENGTH(BgL_mmapz00_6);
				{
					long BgL_iz00_1857;
					long BgL_crcz00_1858;

					{	/* Unsafe/crc16.scm 99 */
						long BgL_tmpz00_2221;

						BgL_iz00_1857 = 0L;
						BgL_crcz00_1858 = 65535L;
					BgL_loopz00_1856:
						{	/* Unsafe/crc16.scm 101 */
							bool_t BgL_test1700z00_2222;

							{	/* Unsafe/crc16.scm 101 */
								long BgL_n2z00_1870;

								BgL_n2z00_1870 = (long) (BgL_lenz00_1310);
								BgL_test1700z00_2222 = (BgL_iz00_1857 == BgL_n2z00_1870);
							}
							if (BgL_test1700z00_2222)
								{	/* Unsafe/crc16.scm 101 */
									BgL_tmpz00_2221 = (BgL_crcz00_1858 & 65535L);
								}
							else
								{	/* Unsafe/crc16.scm 103 */
									long BgL_arg1216z00_1865;
									long BgL_arg1217z00_1866;

									BgL_arg1216z00_1865 = (BgL_iz00_1857 + 1L);
									{	/* Unsafe/crc16.scm 104 */
										long BgL_arg1219z00_1867;

										{	/* Unsafe/crc16.scm 104 */
											unsigned char BgL_arg1224z00_1868;

											{	/* Unsafe/crc16.scm 104 */
												long BgL_tmpz00_2227;

												BgL_tmpz00_2227 = (long) (BgL_iz00_1857);
												BgL_arg1224z00_1868 =
													BGL_MMAP_REF(BgL_mmapz00_6, BgL_tmpz00_2227);
											}
											BgL_arg1219z00_1867 = (BgL_arg1224z00_1868);
										}
										BgL_arg1217z00_1866 =
											BGl_crczd2valuezd2zz__crc16z00(BgL_arg1219z00_1867,
											BgL_crcz00_1858);
									}
									{
										long BgL_crcz00_2233;
										long BgL_iz00_2232;

										BgL_iz00_2232 = BgL_arg1216z00_1865;
										BgL_crcz00_2233 = BgL_arg1217z00_1866;
										BgL_crcz00_1858 = BgL_crcz00_2233;
										BgL_iz00_1857 = BgL_iz00_2232;
										goto BgL_loopz00_1856;
									}
								}
						}
						return (int) (BgL_tmpz00_2221);
		}}}}

	}



/* &crc16-mmap */
	obj_t BGl_z62crc16zd2mmapzb0zz__crc16z00(obj_t BgL_envz00_2158,
		obj_t BgL_mmapz00_2159)
	{
		{	/* Unsafe/crc16.scm 97 */
			{	/* Unsafe/crc16.scm 98 */
				int BgL_tmpz00_2235;

				{	/* Unsafe/crc16.scm 98 */
					obj_t BgL_auxz00_2236;

					if (BGL_MMAPP(BgL_mmapz00_2159))
						{	/* Unsafe/crc16.scm 98 */
							BgL_auxz00_2236 = BgL_mmapz00_2159;
						}
					else
						{
							obj_t BgL_auxz00_2239;

							BgL_auxz00_2239 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1667z00zz__crc16z00,
								BINT(3427L), BGl_string1668z00zz__crc16z00,
								BGl_string1669z00zz__crc16z00, BgL_mmapz00_2159);
							FAILURE(BgL_auxz00_2239, BFALSE, BFALSE);
						}
					BgL_tmpz00_2235 = BGl_crc16zd2mmapzd2zz__crc16z00(BgL_auxz00_2236);
				}
				return BINT(BgL_tmpz00_2235);
			}
		}

	}



/* crc16-string */
	BGL_EXPORTED_DEF int BGl_crc16zd2stringzd2zz__crc16z00(obj_t BgL_stringz00_7)
	{
		{	/* Unsafe/crc16.scm 109 */
			{	/* Unsafe/crc16.scm 110 */
				long BgL_lenz00_1321;

				BgL_lenz00_1321 = STRING_LENGTH(BgL_stringz00_7);
				{
					long BgL_iz00_1901;
					long BgL_crcz00_1902;

					{	/* Unsafe/crc16.scm 111 */
						long BgL_tmpz00_2246;

						BgL_iz00_1901 = 0L;
						BgL_crcz00_1902 = 65535L;
					BgL_loopz00_1900:
						if ((BgL_iz00_1901 == BgL_lenz00_1321))
							{	/* Unsafe/crc16.scm 113 */
								BgL_tmpz00_2246 = (BgL_crcz00_1902 & 65535L);
							}
						else
							{
								long BgL_crcz00_2252;
								long BgL_iz00_2250;

								BgL_iz00_2250 = (BgL_iz00_1901 + 1L);
								BgL_crcz00_2252 =
									BGl_crczd2valuezd2zz__crc16z00(
									(STRING_REF(BgL_stringz00_7, BgL_iz00_1901)),
									BgL_crcz00_1902);
								BgL_crcz00_1902 = BgL_crcz00_2252;
								BgL_iz00_1901 = BgL_iz00_2250;
								goto BgL_loopz00_1900;
							}
						return (int) (BgL_tmpz00_2246);
		}}}}

	}



/* &crc16-string */
	obj_t BGl_z62crc16zd2stringzb0zz__crc16z00(obj_t BgL_envz00_2160,
		obj_t BgL_stringz00_2161)
	{
		{	/* Unsafe/crc16.scm 109 */
			{	/* Unsafe/crc16.scm 110 */
				int BgL_tmpz00_2257;

				{	/* Unsafe/crc16.scm 110 */
					obj_t BgL_auxz00_2258;

					if (STRINGP(BgL_stringz00_2161))
						{	/* Unsafe/crc16.scm 110 */
							BgL_auxz00_2258 = BgL_stringz00_2161;
						}
					else
						{
							obj_t BgL_auxz00_2261;

							BgL_auxz00_2261 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1667z00zz__crc16z00,
								BINT(3889L), BGl_string1670z00zz__crc16z00,
								BGl_string1671z00zz__crc16z00, BgL_stringz00_2161);
							FAILURE(BgL_auxz00_2261, BFALSE, BFALSE);
						}
					BgL_tmpz00_2257 = BGl_crc16zd2stringzd2zz__crc16z00(BgL_auxz00_2258);
				}
				return BINT(BgL_tmpz00_2257);
			}
		}

	}



/* crc16-port */
	BGL_EXPORTED_DEF int BGl_crc16zd2portzd2zz__crc16z00(obj_t BgL_portz00_8)
	{
		{	/* Unsafe/crc16.scm 121 */
			{
				long BgL_crcz00_1930;

				{	/* Unsafe/crc16.scm 122 */
					long BgL_tmpz00_2267;

					BgL_crcz00_1930 = 65535L;
				BgL_loopz00_1929:
					{	/* Unsafe/crc16.scm 123 */
						long BgL_bytez00_1934;

						BgL_bytez00_1934 =
							(long)
							CINT(BGl_readzd2bytezd2zz__r4_input_6_10_2z00(BgL_portz00_8));
						{	/* Unsafe/crc16.scm 124 */
							bool_t BgL_test1704z00_2270;

							{	/* Unsafe/crc16.scm 124 */
								obj_t BgL_tmpz00_2271;

								BgL_tmpz00_2271 = BINT(BgL_bytez00_1934);
								BgL_test1704z00_2270 = EOF_OBJECTP(BgL_tmpz00_2271);
							}
							if (BgL_test1704z00_2270)
								{	/* Unsafe/crc16.scm 124 */
									BgL_tmpz00_2267 = (BgL_crcz00_1930 & 65535L);
								}
							else
								{
									long BgL_crcz00_2275;

									BgL_crcz00_2275 =
										BGl_crczd2valuezd2zz__crc16z00(BgL_bytez00_1934,
										BgL_crcz00_1930);
									BgL_crcz00_1930 = BgL_crcz00_2275;
									goto BgL_loopz00_1929;
								}
						}
					}
					return (int) (BgL_tmpz00_2267);
		}}}

	}



/* &crc16-port */
	obj_t BGl_z62crc16zd2portzb0zz__crc16z00(obj_t BgL_envz00_2162,
		obj_t BgL_portz00_2163)
	{
		{	/* Unsafe/crc16.scm 121 */
			{	/* Unsafe/crc16.scm 122 */
				int BgL_tmpz00_2278;

				{	/* Unsafe/crc16.scm 122 */
					obj_t BgL_auxz00_2279;

					if (INPUT_PORTP(BgL_portz00_2163))
						{	/* Unsafe/crc16.scm 122 */
							BgL_auxz00_2279 = BgL_portz00_2163;
						}
					else
						{
							obj_t BgL_auxz00_2282;

							BgL_auxz00_2282 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1667z00zz__crc16z00,
								BINT(4354L), BGl_string1672z00zz__crc16z00,
								BGl_string1673z00zz__crc16z00, BgL_portz00_2163);
							FAILURE(BgL_auxz00_2282, BFALSE, BFALSE);
						}
					BgL_tmpz00_2278 = BGl_crc16zd2portzd2zz__crc16z00(BgL_auxz00_2279);
				}
				return BINT(BgL_tmpz00_2278);
			}
		}

	}



/* crc16-file */
	BGL_EXPORTED_DEF int BGl_crc16zd2filezd2zz__crc16z00(obj_t BgL_filez00_9)
	{
		{	/* Unsafe/crc16.scm 131 */
			return
				CINT(BGl_withzd2inputzd2fromzd2filezd2zz__r4_ports_6_10_1z00
				(BgL_filez00_9, BGl_proc1674z00zz__crc16z00));
		}

	}



/* &crc16-file */
	obj_t BGl_z62crc16zd2filezb0zz__crc16z00(obj_t BgL_envz00_2165,
		obj_t BgL_filez00_2166)
	{
		{	/* Unsafe/crc16.scm 131 */
			{	/* Unsafe/crc16.scm 133 */
				int BgL_tmpz00_2290;

				{	/* Unsafe/crc16.scm 133 */
					obj_t BgL_auxz00_2291;

					if (STRINGP(BgL_filez00_2166))
						{	/* Unsafe/crc16.scm 133 */
							BgL_auxz00_2291 = BgL_filez00_2166;
						}
					else
						{
							obj_t BgL_auxz00_2294;

							BgL_auxz00_2294 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string1667z00zz__crc16z00,
								BINT(4826L), BGl_string1675z00zz__crc16z00,
								BGl_string1671z00zz__crc16z00, BgL_filez00_2166);
							FAILURE(BgL_auxz00_2294, BFALSE, BFALSE);
						}
					BgL_tmpz00_2290 = BGl_crc16zd2filezd2zz__crc16z00(BgL_auxz00_2291);
				}
				return BINT(BgL_tmpz00_2290);
			}
		}

	}



/* &<@anonymous:1242> */
	obj_t BGl_z62zc3z04anonymousza31242ze3ze5zz__crc16z00(obj_t BgL_envz00_2167)
	{
		{	/* Unsafe/crc16.scm 133 */
			{	/* Unsafe/crc16.scm 133 */
				int BgL_tmpz00_2300;

				{	/* Unsafe/crc16.scm 133 */
					obj_t BgL_arg1248z00_2177;

					{	/* Unsafe/crc16.scm 133 */
						obj_t BgL_tmpz00_2301;

						BgL_tmpz00_2301 = BGL_CURRENT_DYNAMIC_ENV();
						BgL_arg1248z00_2177 = BGL_ENV_CURRENT_INPUT_PORT(BgL_tmpz00_2301);
					}
					BgL_tmpz00_2300 =
						BGl_crc16zd2portzd2zz__crc16z00(BgL_arg1248z00_2177);
				}
				return BINT(BgL_tmpz00_2300);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__crc16z00(void)
	{
		{	/* Unsafe/crc16.scm 17 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__crc16z00(void)
	{
		{	/* Unsafe/crc16.scm 17 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__crc16z00(void)
	{
		{	/* Unsafe/crc16.scm 17 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__crc16z00(void)
	{
		{	/* Unsafe/crc16.scm 17 */
			return
				BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string1676z00zz__crc16z00));
		}

	}

#ifdef __cplusplus
}
#endif
