/*===========================================================================*/
/*   (Eval/expdtry.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 Eval/expdtry.scm -indent -o objs/obj_u/Eval/expdtry.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___EXPANDER_TRY_TYPE_DEFINITIONS
#define BGL___EXPANDER_TRY_TYPE_DEFINITIONS
#endif													// BGL___EXPANDER_TRY_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_requirezd2initializa7ationz75zz__expander_tryz00 = BUNSPEC;
	extern obj_t BGl_expandzd2errorzd2zz__expandz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_evepairifyz00zz__prognz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_modulezd2initializa7ationz75zz__expander_tryz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__expandz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__prognz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonum_dtoaz00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(long, char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bignumz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__tvectorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	BGL_EXPORTED_DECL obj_t BGl_expandzd2tryzd2zz__expander_tryz00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__expander_tryz00(void);
	static obj_t BGl_genericzd2initzd2zz__expander_tryz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__expander_tryz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__expander_tryz00(void);
	static obj_t BGl_z62expandzd2tryzb0zz__expander_tryz00(obj_t, obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zz__expander_tryz00(void);
	static obj_t BGl_symbol1603z00zz__expander_tryz00 = BUNSPEC;
	static obj_t BGl_symbol1605z00zz__expander_tryz00 = BUNSPEC;
	extern obj_t bstring_to_symbol(obj_t);
	static obj_t BGl_methodzd2initzd2zz__expander_tryz00(void);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_expandzd2tryzd2envz00zz__expander_tryz00,
		BgL_bgl_za762expandza7d2tryza71610za7,
		BGl_z62expandzd2tryzb0zz__expander_tryz00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string1604z00zz__expander_tryz00,
		BgL_bgl_string1604za700za7za7_1611za7, "lambda", 6);
	      BGL_DEFINE_STRING(BGl_string1606z00zz__expander_tryz00,
		BgL_bgl_string1606za700za7za7_1612za7, "&try", 4);
	      BGL_DEFINE_STRING(BGl_string1607z00zz__expander_tryz00,
		BgL_bgl_string1607za700za7za7_1613za7, "try", 3);
	      BGL_DEFINE_STRING(BGl_string1608z00zz__expander_tryz00,
		BgL_bgl_string1608za700za7za7_1614za7, "Illegal form", 12);
	      BGL_DEFINE_STRING(BGl_string1609z00zz__expander_tryz00,
		BgL_bgl_string1609za700za7za7_1615za7, "__expander_try", 14);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_STRING(BGl_string1609z00zz__expander_tryz00,
			BgL_bgl_string1609za700za7za7_1615za7);
		BGL_BIND_STRING(BGl_string1608z00zz__expander_tryz00,
			BgL_bgl_string1608za700za7za7_1614za7);
		BGL_BIND_STRING(BGl_string1607z00zz__expander_tryz00,
			BgL_bgl_string1607za700za7za7_1613za7);
		BGL_BIND_STRING(BGl_string1606z00zz__expander_tryz00,
			BgL_bgl_string1606za700za7za7_1612za7);
		BGL_BIND_STRING(BGl_string1604z00zz__expander_tryz00,
			BgL_bgl_string1604za700za7za7_1611za7);
		BGL_BIND_PROCEDURE(BGl_expandzd2tryzd2envz00zz__expander_tryz00,
			BgL_bgl_za762expandza7d2tryza71610za7);
	}

/* 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__expander_tryz00));
		ADD_ROOT((void *) (&BGl_symbol1603z00zz__expander_tryz00));
		ADD_ROOT((void *) (&BGl_symbol1605z00zz__expander_tryz00));
#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__expander_tryz00(long
		BgL_checksumz00_1748, char *BgL_fromz00_1749)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__expander_tryz00))
				{
					BGl_requirezd2initializa7ationz75zz__expander_tryz00 =
						BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__expander_tryz00();
					BGl_cnstzd2initzd2zz__expander_tryz00();
					BGl_importedzd2moduleszd2initz00zz__expander_tryz00();
					return BGl_methodzd2initzd2zz__expander_tryz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__expander_tryz00(void)
	{
		{	/* Eval/expdtry.scm 14 */
			BGl_symbol1603z00zz__expander_tryz00 =
				bstring_to_symbol(BGl_string1604z00zz__expander_tryz00);
			return (BGl_symbol1605z00zz__expander_tryz00 =
				bstring_to_symbol(BGl_string1606z00zz__expander_tryz00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__expander_tryz00(void)
	{
		{	/* Eval/expdtry.scm 14 */
			return bgl_gc_roots_register();
		}

	}



/* expand-try */
	BGL_EXPORTED_DEF obj_t BGl_expandzd2tryzd2zz__expander_tryz00(obj_t
		BgL_xz00_3, obj_t BgL_ez00_4)
	{
		{	/* Eval/expdtry.scm 54 */
			{
				obj_t BgL_bodyz00_1122;
				obj_t BgL_handlerz00_1123;

				if (PAIRP(BgL_xz00_3))
					{	/* Eval/expdtry.scm 55 */
						obj_t BgL_cdrzd2109zd2_1128;

						BgL_cdrzd2109zd2_1128 = CDR(((obj_t) BgL_xz00_3));
						if (PAIRP(BgL_cdrzd2109zd2_1128))
							{	/* Eval/expdtry.scm 55 */
								obj_t BgL_carzd2112zd2_1130;
								obj_t BgL_cdrzd2113zd2_1131;

								BgL_carzd2112zd2_1130 = CAR(BgL_cdrzd2109zd2_1128);
								BgL_cdrzd2113zd2_1131 = CDR(BgL_cdrzd2109zd2_1128);
								if (NULLP(BgL_carzd2112zd2_1130))
									{	/* Eval/expdtry.scm 55 */
										return
											BGl_expandzd2errorzd2zz__expandz00
											(BGl_string1607z00zz__expander_tryz00,
											BGl_string1608z00zz__expander_tryz00, BgL_xz00_3);
									}
								else
									{	/* Eval/expdtry.scm 55 */
										if (PAIRP(BgL_cdrzd2113zd2_1131))
											{	/* Eval/expdtry.scm 55 */
												if (NULLP(CDR(BgL_cdrzd2113zd2_1131)))
													{	/* Eval/expdtry.scm 55 */
														BgL_bodyz00_1122 = BgL_carzd2112zd2_1130;
														BgL_handlerz00_1123 = CAR(BgL_cdrzd2113zd2_1131);
														{	/* Eval/expdtry.scm 57 */
															obj_t BgL_nz00_1138;

															{	/* Eval/expdtry.scm 57 */
																obj_t BgL_arg1192z00_1139;

																{	/* Eval/expdtry.scm 57 */
																	obj_t BgL_arg1193z00_1140;

																	{	/* Eval/expdtry.scm 57 */
																		obj_t BgL_arg1194z00_1141;
																		obj_t BgL_arg1195z00_1142;

																		{	/* Eval/expdtry.scm 57 */
																			obj_t BgL_arg1196z00_1143;

																			{	/* Eval/expdtry.scm 57 */
																				obj_t BgL_arg1197z00_1144;

																				BgL_arg1197z00_1144 =
																					MAKE_YOUNG_PAIR(BgL_bodyz00_1122,
																					BNIL);
																				BgL_arg1196z00_1143 =
																					MAKE_YOUNG_PAIR(BNIL,
																					BgL_arg1197z00_1144);
																			}
																			BgL_arg1194z00_1141 =
																				MAKE_YOUNG_PAIR
																				(BGl_symbol1603z00zz__expander_tryz00,
																				BgL_arg1196z00_1143);
																		}
																		BgL_arg1195z00_1142 =
																			MAKE_YOUNG_PAIR(BgL_handlerz00_1123,
																			BNIL);
																		BgL_arg1193z00_1140 =
																			MAKE_YOUNG_PAIR(BgL_arg1194z00_1141,
																			BgL_arg1195z00_1142);
																	}
																	BgL_arg1192z00_1139 =
																		MAKE_YOUNG_PAIR
																		(BGl_symbol1605z00zz__expander_tryz00,
																		BgL_arg1193z00_1140);
																}
																BgL_nz00_1138 =
																	BGL_PROCEDURE_CALL2(BgL_ez00_4,
																	BgL_arg1192z00_1139, BgL_ez00_4);
															}
															BGL_TAIL return
																BGl_evepairifyz00zz__prognz00(BgL_nz00_1138,
																BgL_xz00_3);
														}
													}
												else
													{	/* Eval/expdtry.scm 55 */
														return
															BGl_expandzd2errorzd2zz__expandz00
															(BGl_string1607z00zz__expander_tryz00,
															BGl_string1608z00zz__expander_tryz00, BgL_xz00_3);
													}
											}
										else
											{	/* Eval/expdtry.scm 55 */
												return
													BGl_expandzd2errorzd2zz__expandz00
													(BGl_string1607z00zz__expander_tryz00,
													BGl_string1608z00zz__expander_tryz00, BgL_xz00_3);
											}
									}
							}
						else
							{	/* Eval/expdtry.scm 55 */
								return
									BGl_expandzd2errorzd2zz__expandz00
									(BGl_string1607z00zz__expander_tryz00,
									BGl_string1608z00zz__expander_tryz00, BgL_xz00_3);
							}
					}
				else
					{	/* Eval/expdtry.scm 55 */
						return
							BGl_expandzd2errorzd2zz__expandz00
							(BGl_string1607z00zz__expander_tryz00,
							BGl_string1608z00zz__expander_tryz00, BgL_xz00_3);
					}
			}
		}

	}



/* &expand-try */
	obj_t BGl_z62expandzd2tryzb0zz__expander_tryz00(obj_t BgL_envz00_1743,
		obj_t BgL_xz00_1744, obj_t BgL_ez00_1745)
	{
		{	/* Eval/expdtry.scm 54 */
			return
				BGl_expandzd2tryzd2zz__expander_tryz00(BgL_xz00_1744, BgL_ez00_1745);
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__expander_tryz00(void)
	{
		{	/* Eval/expdtry.scm 14 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__expander_tryz00(void)
	{
		{	/* Eval/expdtry.scm 14 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__expander_tryz00(void)
	{
		{	/* Eval/expdtry.scm 14 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__expander_tryz00(void)
	{
		{	/* Eval/expdtry.scm 14 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__biglooz00(348684831L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__tvectorz00(135276775L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__structurez00(128205792L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(443005284L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__bignumz00(289561787L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(26840973L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(457511469L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(362050511L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonum_dtoaz00
				(268155843L, BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(198620800L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(111613887L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(459519430L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(115192690L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00((-44273703L),
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(9614678L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(376927882L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(43892022L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(185672289L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(86988580L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			BGl_modulezd2initializa7ationz75zz__prognz00(177147622L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
			return BGl_modulezd2initializa7ationz75zz__expandz00(414007149L,
				BSTRING_TO_STRING(BGl_string1609z00zz__expander_tryz00));
		}

	}

#ifdef __cplusplus
}
#endif
