/*===========================================================================*/
/*   (Eval/expdlet.scm)                                                      */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -O4 -mklib -cc gcc-2.95 -fsharing -q -s -copt -DBGL_NO_PIC -unsafe -c Eval/expdlet.scm -indent -o objs/obj_u/Eval/expdlet.c)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>
#include <signal.h>

static obj_t BGl_loopz00zz__expander_letz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__expander_letz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__tvectorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_input_6_10_2z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__prognz00(long, char *);
extern obj_t BGl_normaliza7ezd2prognz75zz__prognz00(obj_t);
extern obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
extern obj_t BGl_replacez12z12zz__prognz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_expandzd2evalzd2letz00zz__expander_letz00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zz__expander_letz00();
extern obj_t string_to_symbol(char *);
static obj_t BGl__expandzd2evalzd2letza2za2zz__expander_letz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_expandzd2evalzd2letza2za2zz__expander_letz00(obj_t, obj_t);
static obj_t BGl__expandzd2evalzd2letz00zz__expander_letz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_expandzd2evalzd2letrecz00zz__expander_letz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zz__expander_letz00();
static obj_t BGl_list2414z00zz__expander_letz00 = BUNSPEC;
static obj_t BGl__expandzd2evalzd2labelsz00zz__expander_letz00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__expander_letz00 = BUNSPEC;
static obj_t BGl_symbol2421z00zz__expander_letz00 = BUNSPEC;
static obj_t BGl_symbol2417z00zz__expander_letz00 = BUNSPEC;
static obj_t BGl_symbol2416z00zz__expander_letz00 = BUNSPEC;
static obj_t BGl_symbol2415z00zz__expander_letz00 = BUNSPEC;
static obj_t BGl_symbol2410z00zz__expander_letz00 = BUNSPEC;
static obj_t BGl_symbol2409z00zz__expander_letz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_expandzd2evalzd2labelsz00zz__expander_letz00(obj_t, obj_t);
static obj_t BGl__expandzd2evalzd2letrecz00zz__expander_letz00(obj_t, obj_t, obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_expandzd2evalzd2labelszd2envzd2zz__expander_letz00, BgL_bgl__expandza7d2evalza7d2labelsza700za7za7__expander_letza7002428z00, BGl__expandzd2evalzd2labelsz00zz__expander_letz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_expandzd2evalzd2letreczd2envzd2zz__expander_letz00, BgL_bgl__expandza7d2evalza7d2letrecza700za7za7__expander_letza7002429z00, BGl__expandzd2evalzd2letrecz00zz__expander_letz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_expandzd2evalzd2letza2zd2envz70zz__expander_letz00, BgL_bgl__expandza7d2evalza7d2letza7a2za7a2za7za7__expander_letza7002430za7, BGl__expandzd2evalzd2letza2za2zz__expander_letz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_expandzd2evalzd2letzd2envzd2zz__expander_letz00, BgL_bgl__expandza7d2evalza7d2letza700za7za7__expander_letza7002431z00, BGl__expandzd2evalzd2letz00zz__expander_letz00, 0L, 2 );
DEFINE_STRING( BGl_string2422z00zz__expander_letz00, BgL_bgl_string2422za700za7za7__expander_letza7002432z00, "expand-labels", 13 );
DEFINE_STRING( BGl_string2420z00zz__expander_letz00, BgL_bgl_string2420za700za7za7__expander_letza7002433z00, "letrec", 6 );
DEFINE_STRING( BGl_string2419z00zz__expander_letz00, BgL_bgl_string2419za700za7za7__expander_letza7002434z00, "Illegal form", 12 );
DEFINE_STRING( BGl_string2418z00zz__expander_letz00, BgL_bgl_string2418za700za7za7__expander_letza7002435z00, "expand-let*", 11 );
DEFINE_STRING( BGl_string2413z00zz__expander_letz00, BgL_bgl_string2413za700za7za7__expander_letza7002436z00, "let", 3 );
DEFINE_STRING( BGl_string2412z00zz__expander_letz00, BgL_bgl_string2412za700za7za7__expander_letza7002437z00, "Illegal `let' form", 18 );
DEFINE_STRING( BGl_string2411z00zz__expander_letz00, BgL_bgl_string2411za700za7za7__expander_letza7002438z00, "expand-let", 10 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__expander_letz00(long BgL_checksumz00_1282, char * BgL_fromz00_1283)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__expander_letz00))
{ 
BGl_requirezd2initializa7ationz75zz__expander_letz00 = 
BBOOL(((bool_t)0)); 
BGl_cnstzd2initzd2zz__expander_letz00(); 
BGl_importedzd2moduleszd2initz00zz__expander_letz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__expander_letz00()
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 14 */
BGl_symbol2409z00zz__expander_letz00 = 
string_to_symbol("lambda"); 
BGl_symbol2410z00zz__expander_letz00 = 
string_to_symbol("letrec"); 
BGl_symbol2415z00zz__expander_letz00 = 
string_to_symbol("unspecified"); 
BGl_list2414z00zz__expander_letz00 = 
MAKE_PAIR(BGl_symbol2415z00zz__expander_letz00, BNIL); 
BGl_symbol2416z00zz__expander_letz00 = 
string_to_symbol("let"); 
BGl_symbol2417z00zz__expander_letz00 = 
string_to_symbol("let*"); 
return ( 
BGl_symbol2421z00zz__expander_letz00 = 
string_to_symbol("set!"), BUNSPEC) ;} 
}



/* expand-eval-let */
BGL_EXPORTED_DEF obj_t BGl_expandzd2evalzd2letz00zz__expander_letz00(obj_t BgL_xz00_1, obj_t BgL_ez00_2)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 51 */
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_resz00_361;
{ 
obj_t BgL_bindingsz00_368;obj_t BgL_bodyz00_369;obj_t BgL_loopz00_364;obj_t BgL_bindingsz00_365;obj_t BgL_bodyz00_366;obj_t BgL_bodyz00_362;
if(
PAIRP(BgL_xz00_1))
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_cdrzd2111zd2_374;
BgL_cdrzd2111zd2_374 = 
CDR(BgL_xz00_1); 
if(
PAIRP(BgL_cdrzd2111zd2_374))
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_cdrzd2114zd2_376;
BgL_cdrzd2114zd2_376 = 
CDR(BgL_cdrzd2111zd2_374); 
{ /* ./Eval/expdlet.scm 52 */
bool_t BgL_testz00_1302;
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_auxz00_1303;
BgL_auxz00_1303 = 
CAR(BgL_cdrzd2111zd2_374); 
BgL_testz00_1302 = 
NULLP(BgL_auxz00_1303); } 
if(BgL_testz00_1302)
{ /* ./Eval/expdlet.scm 52 */
if(
NULLP(BgL_cdrzd2114zd2_376))
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_carzd2128zd2_380;obj_t BgL_cdrzd2129zd2_381;
BgL_carzd2128zd2_380 = 
CAR(BgL_cdrzd2111zd2_374); 
BgL_cdrzd2129zd2_381 = 
CDR(BgL_cdrzd2111zd2_374); 
if(
SYMBOLP(BgL_carzd2128zd2_380))
{ /* ./Eval/expdlet.scm 52 */
if(
PAIRP(BgL_cdrzd2129zd2_381))
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_cdrzd2136zd2_384;
BgL_cdrzd2136zd2_384 = 
CDR(BgL_cdrzd2129zd2_381); 
if(
NULLP(BgL_cdrzd2136zd2_384))
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_carzd2148zd2_387;
BgL_carzd2148zd2_387 = 
CAR(BgL_cdrzd2111zd2_374); 
if(
PAIRP(BgL_carzd2148zd2_387))
{ /* ./Eval/expdlet.scm 52 */
BgL_bindingsz00_368 = BgL_carzd2148zd2_387; 
BgL_bodyz00_369 = 
CDR(BgL_cdrzd2111zd2_374); 
BgL_tagzd2103zd2_370:
{ /* ./Eval/expdlet.scm 81 */
obj_t BgL_bodyz00_476;obj_t BgL_varsze2valsze2_477;
BgL_bodyz00_476 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_369); 
{ 
obj_t BgL_bindingsz00_487;obj_t BgL_varsz00_488;obj_t BgL_valsz00_489;
BgL_bindingsz00_487 = BgL_bindingsz00_368; 
BgL_varsz00_488 = BNIL; 
BgL_valsz00_489 = BNIL; 
BgL_loopz00_490:
if(
NULLP(BgL_bindingsz00_487))
{ /* ./Eval/expdlet.scm 86 */
BgL_varsze2valsze2_477 = 
MAKE_PAIR(BgL_varsz00_488, BgL_valsz00_489); }  else 
{ /* ./Eval/expdlet.scm 88 */
bool_t BgL_testz00_1324;
{ /* ./Eval/expdlet.scm 88 */
obj_t BgL_auxz00_1325;
BgL_auxz00_1325 = 
CAR(BgL_bindingsz00_487); 
BgL_testz00_1324 = 
PAIRP(BgL_auxz00_1325); } 
if(BgL_testz00_1324)
{ /* ./Eval/expdlet.scm 92 */
bool_t BgL_testz00_1328;
{ /* ./Eval/expdlet.scm 92 */
obj_t BgL_auxz00_1329;
{ /* ./Eval/expdlet.scm 92 */
obj_t BgL_auxz00_1330;
BgL_auxz00_1330 = 
CAR(BgL_bindingsz00_487); 
BgL_auxz00_1329 = 
CDR(BgL_auxz00_1330); } 
BgL_testz00_1328 = 
PAIRP(BgL_auxz00_1329); } 
if(BgL_testz00_1328)
{ /* ./Eval/expdlet.scm 92 */
{ /* ./Eval/expdlet.scm 97 */
obj_t BgL_arg1261z00_494;obj_t BgL_arg1262z00_495;obj_t BgL_arg1265z00_496;
BgL_arg1261z00_494 = 
CDR(BgL_bindingsz00_487); 
{ /* ./Eval/expdlet.scm 98 */
obj_t BgL_auxz00_1335;
{ /* ./Eval/expdlet.scm 98 */
obj_t BgL_auxz00_1336;
BgL_auxz00_1336 = 
CAR(BgL_bindingsz00_487); 
BgL_auxz00_1335 = 
CAR(BgL_auxz00_1336); } 
BgL_arg1262z00_495 = 
MAKE_PAIR(BgL_auxz00_1335, BgL_varsz00_488); } 
{ /* ./Eval/expdlet.scm 100 */
obj_t BgL_auxz00_1340;
{ /* ./Eval/expdlet.scm 100 */
obj_t BgL_auxz00_1341;
{ /* ./Eval/expdlet.scm 101 */
obj_t BgL_auxz00_1342;
BgL_auxz00_1342 = 
CAR(BgL_bindingsz00_487); 
BgL_auxz00_1341 = 
CDR(BgL_auxz00_1342); } 
BgL_auxz00_1340 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_auxz00_1341); } 
BgL_arg1265z00_496 = 
MAKE_PAIR(BgL_auxz00_1340, BgL_valsz00_489); } 
{ 
obj_t BgL_valsz00_1349;obj_t BgL_varsz00_1348;obj_t BgL_bindingsz00_1347;
BgL_bindingsz00_1347 = BgL_arg1261z00_494; 
BgL_varsz00_1348 = BgL_arg1262z00_495; 
BgL_valsz00_1349 = BgL_arg1265z00_496; 
BgL_valsz00_489 = BgL_valsz00_1349; 
BgL_varsz00_488 = BgL_varsz00_1348; 
BgL_bindingsz00_487 = BgL_bindingsz00_1347; 
goto BgL_loopz00_490;} } }  else 
{ /* ./Eval/expdlet.scm 92 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} }  else 
{ /* ./Eval/expdlet.scm 88 */
{ /* ./Eval/expdlet.scm 89 */
obj_t BgL_arg1295z00_504;obj_t BgL_arg1296z00_505;obj_t BgL_arg1297z00_506;
BgL_arg1295z00_504 = 
CDR(BgL_bindingsz00_487); 
{ /* ./Eval/expdlet.scm 90 */
obj_t BgL_auxz00_1352;
BgL_auxz00_1352 = 
CAR(BgL_bindingsz00_487); 
BgL_arg1296z00_505 = 
MAKE_PAIR(BgL_auxz00_1352, BgL_varsz00_488); } 
BgL_arg1297z00_506 = 
MAKE_PAIR(BGl_list2414z00zz__expander_letz00, BgL_valsz00_489); 
{ 
obj_t BgL_valsz00_1358;obj_t BgL_varsz00_1357;obj_t BgL_bindingsz00_1356;
BgL_bindingsz00_1356 = BgL_arg1295z00_504; 
BgL_varsz00_1357 = BgL_arg1296z00_505; 
BgL_valsz00_1358 = BgL_arg1297z00_506; 
BgL_valsz00_489 = BgL_valsz00_1358; 
BgL_varsz00_488 = BgL_varsz00_1357; 
BgL_bindingsz00_487 = BgL_bindingsz00_1356; 
goto BgL_loopz00_490;} } } } } 
{ /* ./Eval/expdlet.scm 103 */
obj_t BgL_arg1233z00_478;
{ /* ./Eval/expdlet.scm 103 */
obj_t BgL_arg1236z00_479;obj_t BgL_arg1237z00_480;
{ /* ./Eval/expdlet.scm 103 */
obj_t BgL_arg1240z00_481;obj_t BgL_arg1241z00_482;
BgL_arg1240z00_481 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 103 */
obj_t BgL_arg1244z00_483;obj_t BgL_arg1245z00_484;
BgL_arg1244z00_483 = 
CAR(BgL_varsze2valsze2_477); 
BgL_arg1245z00_484 = 
MAKE_PAIR(BgL_bodyz00_476, BNIL); 
BgL_arg1241z00_482 = 
MAKE_PAIR(BgL_arg1244z00_483, BgL_arg1245z00_484); } 
BgL_arg1236z00_479 = 
MAKE_PAIR(BgL_arg1240z00_481, BgL_arg1241z00_482); } 
BgL_arg1237z00_480 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(
CDR(BgL_varsze2valsze2_477), BNIL); 
BgL_arg1233z00_478 = 
MAKE_PAIR(BgL_arg1236z00_479, BgL_arg1237z00_480); } 
BgL_resz00_361 = 
PROCEDURE_ENTRY(BgL_ez00_2)(BgL_ez00_2, BgL_arg1233z00_478, BgL_ez00_2, BEOA); } } }  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} }  else 
{ /* ./Eval/expdlet.scm 52 */
BgL_loopz00_364 = BgL_carzd2128zd2_380; 
BgL_bindingsz00_365 = 
CAR(BgL_cdrzd2129zd2_381); 
BgL_bodyz00_366 = BgL_cdrzd2136zd2_384; 
BgL_tagzd2102zd2_367:
{ /* ./Eval/expdlet.scm 56 */
bool_t BgL_test1126z00_423;
if(
NULLP(BgL_bindingsz00_365))
{ /* ./Eval/expdlet.scm 56 */
BgL_test1126z00_423 = ((bool_t)1); }  else 
{ /* ./Eval/expdlet.scm 56 */
BgL_test1126z00_423 = 
PAIRP(BgL_bindingsz00_365); } 
if(BgL_test1126z00_423)
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_arg1128z00_424;
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_arg1131z00_425;obj_t BgL_arg1132z00_426;
BgL_arg1131z00_425 = BGl_symbol2410z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_arg1135z00_427;obj_t BgL_arg1136z00_428;
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_arg1140z00_429;
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_arg1144z00_431;
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_arg1147z00_432;
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_arg1151z00_434;obj_t BgL_arg1152z00_435;
BgL_arg1151z00_434 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 59 */
obj_t BgL_arg1155z00_436;obj_t BgL_arg1156z00_437;
if(
NULLP(BgL_bindingsz00_365))
{ /* ./Eval/expdlet.scm 59 */
BgL_arg1155z00_436 = BNIL; }  else 
{ /* ./Eval/expdlet.scm 59 */
obj_t BgL_head1005z00_440;
BgL_head1005z00_440 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1003z00_441;obj_t BgL_tail1006z00_442;
BgL_l1003z00_441 = BgL_bindingsz00_365; 
BgL_tail1006z00_442 = BgL_head1005z00_440; 
BgL_map1004z00_443:
if(
NULLP(BgL_l1003z00_441))
{ /* ./Eval/expdlet.scm 59 */
BgL_arg1155z00_436 = 
CDR(BgL_head1005z00_440); }  else 
{ /* ./Eval/expdlet.scm 61 */
obj_t BgL_newtail1007z00_445;
{ /* ./Eval/expdlet.scm 61 */
obj_t BgL_arg1169z00_447;
{ /* ./Eval/expdlet.scm 61 */
obj_t BgL_bz00_449;
BgL_bz00_449 = 
CAR(BgL_l1003z00_441); 
if(
PAIRP(BgL_bz00_449))
{ /* ./Eval/expdlet.scm 61 */
BgL_arg1169z00_447 = 
CAR(BgL_bz00_449); }  else 
{ /* ./Eval/expdlet.scm 61 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} } 
BgL_newtail1007z00_445 = 
MAKE_PAIR(BgL_arg1169z00_447, BNIL); } 
SET_CDR(BgL_tail1006z00_442, BgL_newtail1007z00_445); 
{ 
obj_t BgL_tail1006z00_1389;obj_t BgL_l1003z00_1387;
BgL_l1003z00_1387 = 
CDR(BgL_l1003z00_441); 
BgL_tail1006z00_1389 = BgL_newtail1007z00_445; 
BgL_tail1006z00_442 = BgL_tail1006z00_1389; 
BgL_l1003z00_441 = BgL_l1003z00_1387; 
goto BgL_map1004z00_443;} } } } 
{ /* ./Eval/expdlet.scm 58 */
obj_t BgL_auxz00_1390;
BgL_auxz00_1390 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_366); 
BgL_arg1156z00_437 = 
MAKE_PAIR(BgL_auxz00_1390, BNIL); } 
BgL_arg1152z00_435 = 
MAKE_PAIR(BgL_arg1155z00_436, BgL_arg1156z00_437); } 
BgL_arg1147z00_432 = 
MAKE_PAIR(BgL_arg1151z00_434, BgL_arg1152z00_435); } 
BgL_arg1144z00_431 = 
MAKE_PAIR(BgL_arg1147z00_432, BNIL); } 
BgL_arg1140z00_429 = 
MAKE_PAIR(BgL_loopz00_364, BgL_arg1144z00_431); } 
BgL_arg1135z00_427 = 
MAKE_PAIR(BgL_arg1140z00_429, BNIL); } 
{ /* ./Eval/expdlet.scm 69 */
obj_t BgL_arg1187z00_453;
{ /* ./Eval/expdlet.scm 69 */
obj_t BgL_arg1191z00_455;
{ /* ./Eval/expdlet.scm 69 */
obj_t BgL_arg1194z00_456;
if(
NULLP(BgL_bindingsz00_365))
{ /* ./Eval/expdlet.scm 69 */
BgL_arg1194z00_456 = BNIL; }  else 
{ /* ./Eval/expdlet.scm 69 */
obj_t BgL_head1010z00_460;
BgL_head1010z00_460 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1008z00_461;obj_t BgL_tail1011z00_462;
BgL_l1008z00_461 = BgL_bindingsz00_365; 
BgL_tail1011z00_462 = BgL_head1010z00_460; 
BgL_map1009z00_463:
if(
NULLP(BgL_l1008z00_461))
{ /* ./Eval/expdlet.scm 69 */
BgL_arg1194z00_456 = 
CDR(BgL_head1010z00_460); }  else 
{ /* ./Eval/expdlet.scm 70 */
obj_t BgL_newtail1012z00_465;
{ /* ./Eval/expdlet.scm 70 */
obj_t BgL_arg1207z00_467;
{ /* ./Eval/expdlet.scm 70 */
obj_t BgL_bz00_469;
BgL_bz00_469 = 
CAR(BgL_l1008z00_461); 
{ /* ./Eval/expdlet.scm 70 */
bool_t BgL_test1210z00_470;
if(
PAIRP(BgL_bz00_469))
{ /* ./Eval/expdlet.scm 71 */
bool_t BgL_testz00_1407;
{ /* ./Eval/expdlet.scm 71 */
obj_t BgL_auxz00_1408;
BgL_auxz00_1408 = 
CDR(BgL_bz00_469); 
BgL_testz00_1407 = 
PAIRP(BgL_auxz00_1408); } 
if(BgL_testz00_1407)
{ /* ./Eval/expdlet.scm 72 */
obj_t BgL_auxz00_1411;
{ /* ./Eval/expdlet.scm 72 */
obj_t BgL_auxz00_1412;
BgL_auxz00_1412 = 
CDR(BgL_bz00_469); 
BgL_auxz00_1411 = 
CDR(BgL_auxz00_1412); } 
BgL_test1210z00_470 = 
NULLP(BgL_auxz00_1411); }  else 
{ /* ./Eval/expdlet.scm 71 */
BgL_test1210z00_470 = ((bool_t)0); } }  else 
{ /* ./Eval/expdlet.scm 70 */
BgL_test1210z00_470 = ((bool_t)0); } 
if(BgL_test1210z00_470)
{ /* ./Eval/expdlet.scm 73 */
obj_t BgL_auxz00_1417;
BgL_auxz00_1417 = 
CDR(BgL_bz00_469); 
BgL_arg1207z00_467 = 
CAR(BgL_auxz00_1417); }  else 
{ /* ./Eval/expdlet.scm 70 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} } } 
BgL_newtail1012z00_465 = 
MAKE_PAIR(BgL_arg1207z00_467, BNIL); } 
SET_CDR(BgL_tail1011z00_462, BgL_newtail1012z00_465); 
{ 
obj_t BgL_tail1011z00_1425;obj_t BgL_l1008z00_1423;
BgL_l1008z00_1423 = 
CDR(BgL_l1008z00_461); 
BgL_tail1011z00_1425 = BgL_newtail1012z00_465; 
BgL_tail1011z00_462 = BgL_tail1011z00_1425; 
BgL_l1008z00_461 = BgL_l1008z00_1423; 
goto BgL_map1009z00_463;} } } } 
BgL_arg1191z00_455 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1194z00_456, BNIL); } 
BgL_arg1187z00_453 = 
MAKE_PAIR(BgL_loopz00_364, BgL_arg1191z00_455); } 
BgL_arg1136z00_428 = 
MAKE_PAIR(BgL_arg1187z00_453, BNIL); } 
BgL_arg1132z00_426 = 
MAKE_PAIR(BgL_arg1135z00_427, BgL_arg1136z00_428); } 
BgL_arg1128z00_424 = 
MAKE_PAIR(BgL_arg1131z00_425, BgL_arg1132z00_426); } 
BgL_resz00_361 = 
PROCEDURE_ENTRY(BgL_ez00_2)(BgL_ez00_2, BgL_arg1128z00_424, BgL_ez00_2, BEOA); }  else 
{ /* ./Eval/expdlet.scm 56 */
FAILURE(BGl_string2413z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} } } }  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} }  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} }  else 
{ /* ./Eval/expdlet.scm 52 */
BgL_bodyz00_362 = BgL_cdrzd2114zd2_376; 
{ /* ./Eval/expdlet.scm 54 */
obj_t BgL_arg1107z00_414;
{ /* ./Eval/expdlet.scm 54 */
obj_t BgL_arg1110z00_415;
{ /* ./Eval/expdlet.scm 54 */
obj_t BgL_arg1114z00_417;obj_t BgL_arg1115z00_418;
BgL_arg1114z00_417 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 54 */
obj_t BgL_arg1119z00_420;
{ /* ./Eval/expdlet.scm 54 */
obj_t BgL_auxz00_1437;
BgL_auxz00_1437 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_362); 
BgL_arg1119z00_420 = 
MAKE_PAIR(BgL_auxz00_1437, BNIL); } 
BgL_arg1115z00_418 = 
MAKE_PAIR(BNIL, BgL_arg1119z00_420); } 
BgL_arg1110z00_415 = 
MAKE_PAIR(BgL_arg1114z00_417, BgL_arg1115z00_418); } 
BgL_arg1107z00_414 = 
MAKE_PAIR(BgL_arg1110z00_415, BNIL); } 
BgL_resz00_361 = 
PROCEDURE_ENTRY(BgL_ez00_2)(BgL_ez00_2, BgL_arg1107z00_414, BgL_ez00_2, BEOA); } } }  else 
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_carzd2174zd2_392;obj_t BgL_cdrzd2175zd2_393;
BgL_carzd2174zd2_392 = 
CAR(BgL_cdrzd2111zd2_374); 
BgL_cdrzd2175zd2_393 = 
CDR(BgL_cdrzd2111zd2_374); 
if(
SYMBOLP(BgL_carzd2174zd2_392))
{ /* ./Eval/expdlet.scm 52 */
if(
PAIRP(BgL_cdrzd2175zd2_393))
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_cdrzd2182zd2_396;
BgL_cdrzd2182zd2_396 = 
CDR(BgL_cdrzd2175zd2_393); 
if(
NULLP(BgL_cdrzd2182zd2_396))
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_carzd2196zd2_399;
BgL_carzd2196zd2_399 = 
CAR(BgL_cdrzd2111zd2_374); 
if(
PAIRP(BgL_carzd2196zd2_399))
{ 
obj_t BgL_bodyz00_1458;obj_t BgL_bindingsz00_1457;
BgL_bindingsz00_1457 = BgL_carzd2196zd2_399; 
BgL_bodyz00_1458 = 
CDR(BgL_cdrzd2111zd2_374); 
BgL_bodyz00_369 = BgL_bodyz00_1458; 
BgL_bindingsz00_368 = BgL_bindingsz00_1457; 
goto BgL_tagzd2103zd2_370;}  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} }  else 
{ 
obj_t BgL_bodyz00_1464;obj_t BgL_bindingsz00_1462;obj_t BgL_loopz00_1461;
BgL_loopz00_1461 = BgL_carzd2174zd2_392; 
BgL_bindingsz00_1462 = 
CAR(BgL_cdrzd2175zd2_393); 
BgL_bodyz00_1464 = BgL_cdrzd2182zd2_396; 
BgL_bodyz00_366 = BgL_bodyz00_1464; 
BgL_bindingsz00_365 = BgL_bindingsz00_1462; 
BgL_loopz00_364 = BgL_loopz00_1461; 
goto BgL_tagzd2102zd2_367;} }  else 
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_carzd2215zd2_404;obj_t BgL_cdrzd2216zd2_405;
BgL_carzd2215zd2_404 = 
CAR(BgL_cdrzd2111zd2_374); 
BgL_cdrzd2216zd2_405 = 
CDR(BgL_cdrzd2111zd2_374); 
if(
PAIRP(BgL_carzd2215zd2_404))
{ /* ./Eval/expdlet.scm 52 */
if(
NULLP(BgL_cdrzd2216zd2_405))
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);}  else 
{ 
obj_t BgL_bodyz00_1473;obj_t BgL_bindingsz00_1472;
BgL_bindingsz00_1472 = BgL_carzd2215zd2_404; 
BgL_bodyz00_1473 = BgL_cdrzd2216zd2_405; 
BgL_bodyz00_369 = BgL_bodyz00_1473; 
BgL_bindingsz00_368 = BgL_bindingsz00_1472; 
goto BgL_tagzd2103zd2_370;} }  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} } }  else 
{ /* ./Eval/expdlet.scm 52 */
obj_t BgL_carzd2232zd2_409;obj_t BgL_cdrzd2233zd2_410;
BgL_carzd2232zd2_409 = 
CAR(BgL_cdrzd2111zd2_374); 
BgL_cdrzd2233zd2_410 = 
CDR(BgL_cdrzd2111zd2_374); 
if(
PAIRP(BgL_carzd2232zd2_409))
{ /* ./Eval/expdlet.scm 52 */
if(
NULLP(BgL_cdrzd2233zd2_410))
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);}  else 
{ 
obj_t BgL_bodyz00_1483;obj_t BgL_bindingsz00_1482;
BgL_bindingsz00_1482 = BgL_carzd2232zd2_409; 
BgL_bodyz00_1483 = BgL_cdrzd2233zd2_410; 
BgL_bodyz00_369 = BgL_bodyz00_1483; 
BgL_bindingsz00_368 = BgL_bindingsz00_1482; 
goto BgL_tagzd2103zd2_370;} }  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} } } } }  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} }  else 
{ /* ./Eval/expdlet.scm 52 */
FAILURE(BGl_string2411z00zz__expander_letz00,BGl_string2412z00zz__expander_letz00,BgL_xz00_1);} } 
return 
BGl_replacez12z12zz__prognz00(BgL_xz00_1, BgL_resz00_361);} } 
}



/* _expand-eval-let */
obj_t BGl__expandzd2evalzd2letz00zz__expander_letz00(obj_t BgL_envz00_1269, obj_t BgL_xz00_1270, obj_t BgL_ez00_1271)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 51 */
return 
BGl_expandzd2evalzd2letz00zz__expander_letz00(BgL_xz00_1270, BgL_ez00_1271);} 
}



/* expand-eval-let* */
BGL_EXPORTED_DEF obj_t BGl_expandzd2evalzd2letza2za2zz__expander_letz00(obj_t BgL_xz00_3, obj_t BgL_ez00_4)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 112 */
{ /* ./Eval/expdlet.scm 113 */
obj_t BgL_resz00_509;
{ 
obj_t BgL_bindingsz00_512;obj_t BgL_bodyz00_513;obj_t BgL_bodyz00_510;
if(
PAIRP(BgL_xz00_3))
{ /* ./Eval/expdlet.scm 113 */
obj_t BgL_cdrzd2267zd2_518;
BgL_cdrzd2267zd2_518 = 
CDR(BgL_xz00_3); 
if(
PAIRP(BgL_cdrzd2267zd2_518))
{ /* ./Eval/expdlet.scm 113 */
obj_t BgL_cdrzd2270zd2_520;
BgL_cdrzd2270zd2_520 = 
CDR(BgL_cdrzd2267zd2_518); 
{ /* ./Eval/expdlet.scm 113 */
bool_t BgL_testz00_1495;
{ /* ./Eval/expdlet.scm 113 */
obj_t BgL_auxz00_1496;
BgL_auxz00_1496 = 
CAR(BgL_cdrzd2267zd2_518); 
BgL_testz00_1495 = 
NULLP(BgL_auxz00_1496); } 
if(BgL_testz00_1495)
{ /* ./Eval/expdlet.scm 113 */
if(
NULLP(BgL_cdrzd2270zd2_520))
{ /* ./Eval/expdlet.scm 113 */
FAILURE(BGl_string2418z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_3);}  else 
{ /* ./Eval/expdlet.scm 113 */
BgL_bodyz00_510 = BgL_cdrzd2270zd2_520; 
{ /* ./Eval/expdlet.scm 115 */
obj_t BgL_arg1340z00_529;
{ /* ./Eval/expdlet.scm 115 */
obj_t BgL_arg1343z00_530;
{ /* ./Eval/expdlet.scm 115 */
obj_t BgL_arg1347z00_532;obj_t BgL_arg1348z00_533;
BgL_arg1347z00_532 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 115 */
obj_t BgL_arg1354z00_535;
{ /* ./Eval/expdlet.scm 115 */
obj_t BgL_auxz00_1502;
BgL_auxz00_1502 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_510); 
BgL_arg1354z00_535 = 
MAKE_PAIR(BgL_auxz00_1502, BNIL); } 
BgL_arg1348z00_533 = 
MAKE_PAIR(BNIL, BgL_arg1354z00_535); } 
BgL_arg1343z00_530 = 
MAKE_PAIR(BgL_arg1347z00_532, BgL_arg1348z00_533); } 
BgL_arg1340z00_529 = 
MAKE_PAIR(BgL_arg1343z00_530, BNIL); } 
BgL_resz00_509 = 
PROCEDURE_ENTRY(BgL_ez00_4)(BgL_ez00_4, BgL_arg1340z00_529, BgL_ez00_4, BEOA); } } }  else 
{ /* ./Eval/expdlet.scm 113 */
obj_t BgL_carzd2285zd2_524;obj_t BgL_cdrzd2286zd2_525;
BgL_carzd2285zd2_524 = 
CAR(BgL_cdrzd2267zd2_518); 
BgL_cdrzd2286zd2_525 = 
CDR(BgL_cdrzd2267zd2_518); 
if(
PAIRP(BgL_carzd2285zd2_524))
{ /* ./Eval/expdlet.scm 113 */
if(
NULLP(BgL_cdrzd2286zd2_525))
{ /* ./Eval/expdlet.scm 113 */
FAILURE(BGl_string2418z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_3);}  else 
{ /* ./Eval/expdlet.scm 113 */
BgL_bindingsz00_512 = BgL_carzd2285zd2_524; 
BgL_bodyz00_513 = BgL_cdrzd2286zd2_525; 
{ /* ./Eval/expdlet.scm 117 */
obj_t BgL_arg1362z00_538;
{ /* ./Eval/expdlet.scm 117 */
obj_t BgL_arg1365z00_539;obj_t BgL_arg1366z00_540;
BgL_arg1365z00_539 = BGl_symbol2416z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 117 */
obj_t BgL_arg1370z00_541;obj_t BgL_arg1371z00_542;
{ /* ./Eval/expdlet.scm 117 */
obj_t BgL_auxz00_1517;
BgL_auxz00_1517 = 
CAR(BgL_bindingsz00_512); 
BgL_arg1370z00_541 = 
MAKE_PAIR(BgL_auxz00_1517, BNIL); } 
{ /* ./Eval/expdlet.scm 118 */
obj_t BgL_arg1380z00_545;
{ /* ./Eval/expdlet.scm 118 */
obj_t BgL_arg1384z00_547;obj_t BgL_arg1385z00_548;
BgL_arg1384z00_547 = BGl_symbol2417z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 118 */
obj_t BgL_arg1388z00_549;obj_t BgL_arg1390z00_550;
BgL_arg1388z00_549 = 
CDR(BgL_bindingsz00_512); 
{ /* ./Eval/expdlet.scm 118 */
obj_t BgL_auxz00_1521;
BgL_auxz00_1521 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_513); 
BgL_arg1390z00_550 = 
MAKE_PAIR(BgL_auxz00_1521, BNIL); } 
BgL_arg1385z00_548 = 
MAKE_PAIR(BgL_arg1388z00_549, BgL_arg1390z00_550); } 
BgL_arg1380z00_545 = 
MAKE_PAIR(BgL_arg1384z00_547, BgL_arg1385z00_548); } 
BgL_arg1371z00_542 = 
MAKE_PAIR(BgL_arg1380z00_545, BNIL); } 
BgL_arg1366z00_540 = 
MAKE_PAIR(BgL_arg1370z00_541, BgL_arg1371z00_542); } 
BgL_arg1362z00_538 = 
MAKE_PAIR(BgL_arg1365z00_539, BgL_arg1366z00_540); } 
BgL_resz00_509 = 
PROCEDURE_ENTRY(BgL_ez00_4)(BgL_ez00_4, BgL_arg1362z00_538, BgL_ez00_4, BEOA); } } }  else 
{ /* ./Eval/expdlet.scm 113 */
FAILURE(BGl_string2418z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_3);} } } }  else 
{ /* ./Eval/expdlet.scm 113 */
FAILURE(BGl_string2418z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_3);} }  else 
{ /* ./Eval/expdlet.scm 113 */
FAILURE(BGl_string2418z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_3);} } 
return 
BGl_replacez12z12zz__prognz00(BgL_xz00_3, BgL_resz00_509);} } 
}



/* _expand-eval-let* */
obj_t BGl__expandzd2evalzd2letza2za2zz__expander_letz00(obj_t BgL_envz00_1272, obj_t BgL_xz00_1273, obj_t BgL_ez00_1274)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 112 */
return 
BGl_expandzd2evalzd2letza2za2zz__expander_letz00(BgL_xz00_1273, BgL_ez00_1274);} 
}



/* expand-eval-letrec */
BGL_EXPORTED_DEF obj_t BGl_expandzd2evalzd2letrecz00zz__expander_letz00(obj_t BgL_xz00_5, obj_t BgL_ez00_6)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 127 */
{ /* ./Eval/expdlet.scm 128 */
obj_t BgL_resz00_553;
{ 
obj_t BgL_bindingsz00_556;obj_t BgL_bodyz00_557;obj_t BgL_bodyz00_554;
if(
PAIRP(BgL_xz00_5))
{ /* ./Eval/expdlet.scm 128 */
obj_t BgL_cdrzd2308zd2_562;
BgL_cdrzd2308zd2_562 = 
CDR(BgL_xz00_5); 
if(
PAIRP(BgL_cdrzd2308zd2_562))
{ /* ./Eval/expdlet.scm 128 */
obj_t BgL_cdrzd2311zd2_564;
BgL_cdrzd2311zd2_564 = 
CDR(BgL_cdrzd2308zd2_562); 
{ /* ./Eval/expdlet.scm 128 */
bool_t BgL_testz00_1542;
{ /* ./Eval/expdlet.scm 128 */
obj_t BgL_auxz00_1543;
BgL_auxz00_1543 = 
CAR(BgL_cdrzd2308zd2_562); 
BgL_testz00_1542 = 
NULLP(BgL_auxz00_1543); } 
if(BgL_testz00_1542)
{ /* ./Eval/expdlet.scm 128 */
if(
NULLP(BgL_cdrzd2311zd2_564))
{ /* ./Eval/expdlet.scm 128 */
FAILURE(BGl_string2420z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_5);}  else 
{ /* ./Eval/expdlet.scm 128 */
BgL_bodyz00_554 = BgL_cdrzd2311zd2_564; 
{ /* ./Eval/expdlet.scm 130 */
obj_t BgL_arg1428z00_573;
{ /* ./Eval/expdlet.scm 130 */
obj_t BgL_arg1431z00_574;
{ /* ./Eval/expdlet.scm 130 */
obj_t BgL_arg1435z00_576;obj_t BgL_arg1436z00_577;
BgL_arg1435z00_576 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 130 */
obj_t BgL_arg1440z00_579;
{ /* ./Eval/expdlet.scm 130 */
obj_t BgL_auxz00_1549;
BgL_auxz00_1549 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_554); 
BgL_arg1440z00_579 = 
MAKE_PAIR(BgL_auxz00_1549, BNIL); } 
BgL_arg1436z00_577 = 
MAKE_PAIR(BNIL, BgL_arg1440z00_579); } 
BgL_arg1431z00_574 = 
MAKE_PAIR(BgL_arg1435z00_576, BgL_arg1436z00_577); } 
BgL_arg1428z00_573 = 
MAKE_PAIR(BgL_arg1431z00_574, BNIL); } 
BgL_resz00_553 = 
PROCEDURE_ENTRY(BgL_ez00_6)(BgL_ez00_6, BgL_arg1428z00_573, BgL_ez00_6, BEOA); } } }  else 
{ /* ./Eval/expdlet.scm 128 */
obj_t BgL_carzd2326zd2_568;obj_t BgL_cdrzd2327zd2_569;
BgL_carzd2326zd2_568 = 
CAR(BgL_cdrzd2308zd2_562); 
BgL_cdrzd2327zd2_569 = 
CDR(BgL_cdrzd2308zd2_562); 
if(
PAIRP(BgL_carzd2326zd2_568))
{ /* ./Eval/expdlet.scm 128 */
if(
NULLP(BgL_cdrzd2327zd2_569))
{ /* ./Eval/expdlet.scm 128 */
FAILURE(BGl_string2420z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_5);}  else 
{ /* ./Eval/expdlet.scm 128 */
BgL_bindingsz00_556 = BgL_carzd2326zd2_568; 
BgL_bodyz00_557 = BgL_cdrzd2327zd2_569; 
{ /* ./Eval/expdlet.scm 132 */
obj_t BgL_bodyz00_582;obj_t BgL_varsze2valsze2_583;
BgL_bodyz00_582 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_557); 
{ 
obj_t BgL_bindingsz00_627;obj_t BgL_varsz00_628;obj_t BgL_valsz00_629;
BgL_bindingsz00_627 = BgL_bindingsz00_556; 
BgL_varsz00_628 = BNIL; 
BgL_valsz00_629 = BNIL; 
BgL_loopz00_630:
if(
NULLP(BgL_bindingsz00_627))
{ /* ./Eval/expdlet.scm 137 */
BgL_varsze2valsze2_583 = 
MAKE_PAIR(BgL_varsz00_628, BgL_valsz00_629); }  else 
{ /* ./Eval/expdlet.scm 139 */
bool_t BgL_testz00_1568;
{ /* ./Eval/expdlet.scm 139 */
obj_t BgL_auxz00_1569;
BgL_auxz00_1569 = 
CAR(BgL_bindingsz00_627); 
BgL_testz00_1568 = 
PAIRP(BgL_auxz00_1569); } 
if(BgL_testz00_1568)
{ /* ./Eval/expdlet.scm 139 */
{ /* ./Eval/expdlet.scm 142 */
obj_t BgL_arg1537z00_633;obj_t BgL_arg1538z00_634;obj_t BgL_arg1539z00_635;
BgL_arg1537z00_633 = 
CDR(BgL_bindingsz00_627); 
{ /* ./Eval/expdlet.scm 143 */
obj_t BgL_auxz00_1573;
{ /* ./Eval/expdlet.scm 143 */
obj_t BgL_auxz00_1574;
BgL_auxz00_1574 = 
CAR(BgL_bindingsz00_627); 
BgL_auxz00_1573 = 
CAR(BgL_auxz00_1574); } 
BgL_arg1538z00_634 = 
MAKE_PAIR(BgL_auxz00_1573, BgL_varsz00_628); } 
{ /* ./Eval/expdlet.scm 145 */
obj_t BgL_auxz00_1578;
{ /* ./Eval/expdlet.scm 145 */
obj_t BgL_auxz00_1579;
{ /* ./Eval/expdlet.scm 146 */
obj_t BgL_auxz00_1580;
BgL_auxz00_1580 = 
CAR(BgL_bindingsz00_627); 
BgL_auxz00_1579 = 
CDR(BgL_auxz00_1580); } 
BgL_auxz00_1578 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_auxz00_1579); } 
BgL_arg1539z00_635 = 
MAKE_PAIR(BgL_auxz00_1578, BgL_valsz00_629); } 
{ 
obj_t BgL_valsz00_1587;obj_t BgL_varsz00_1586;obj_t BgL_bindingsz00_1585;
BgL_bindingsz00_1585 = BgL_arg1537z00_633; 
BgL_varsz00_1586 = BgL_arg1538z00_634; 
BgL_valsz00_1587 = BgL_arg1539z00_635; 
BgL_valsz00_629 = BgL_valsz00_1587; 
BgL_varsz00_628 = BgL_varsz00_1586; 
BgL_bindingsz00_627 = BgL_bindingsz00_1585; 
goto BgL_loopz00_630;} } }  else 
{ /* ./Eval/expdlet.scm 139 */
FAILURE(BGl_string2420z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_5);} } } 
{ /* ./Eval/expdlet.scm 148 */
obj_t BgL_arg1449z00_584;
{ /* ./Eval/expdlet.scm 148 */
obj_t BgL_arg1452z00_585;obj_t BgL_arg1453z00_586;
{ /* ./Eval/expdlet.scm 148 */
obj_t BgL_arg1456z00_587;obj_t BgL_arg1457z00_588;
BgL_arg1456z00_587 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 148 */
obj_t BgL_arg1461z00_589;obj_t BgL_arg1462z00_590;
BgL_arg1461z00_589 = 
CAR(BgL_varsze2valsze2_583); 
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_arg1466z00_591;
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_arg1471z00_593;
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_arg1474z00_598;obj_t BgL_arg1475z00_599;obj_t BgL_arg1476z00_600;
BgL_arg1474z00_598 = 
CAR(BgL_varsze2valsze2_583); 
BgL_arg1475z00_599 = 
CDR(BgL_varsze2valsze2_583); 
{ /* ./Eval/expdlet.scm 152 */
obj_t BgL_list1481z00_601;
BgL_list1481z00_601 = 
MAKE_PAIR(BgL_bodyz00_582, BNIL); 
BgL_arg1476z00_600 = BgL_list1481z00_601; } 
{ 
obj_t BgL_varsz00_1062;obj_t BgL_valsz00_1063;obj_t BgL_resz00_1064;
BgL_varsz00_1062 = BgL_arg1474z00_598; 
BgL_valsz00_1063 = BgL_arg1475z00_599; 
BgL_resz00_1064 = BgL_arg1476z00_600; 
BgL_loopz00_1061:
if(
NULLP(BgL_varsz00_1062))
{ /* ./Eval/expdlet.scm 150 */
BgL_arg1471z00_593 = BgL_resz00_1064; }  else 
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_arg1485z00_1077;obj_t BgL_arg1486z00_1078;obj_t BgL_arg1487z00_1079;
BgL_arg1485z00_1077 = 
CDR(BgL_varsz00_1062); 
BgL_arg1486z00_1078 = 
CDR(BgL_valsz00_1063); 
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_arg1492z00_1080;
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_arg1495z00_1081;obj_t BgL_arg1496z00_1082;
BgL_arg1495z00_1081 = BGl_symbol2421z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_arg1499z00_1083;obj_t BgL_arg1500z00_1084;
BgL_arg1499z00_1083 = 
CAR(BgL_varsz00_1062); 
{ /* ./Eval/expdlet.scm 150 */
obj_t BgL_auxz00_1598;
BgL_auxz00_1598 = 
CAR(BgL_valsz00_1063); 
BgL_arg1500z00_1084 = 
MAKE_PAIR(BgL_auxz00_1598, BNIL); } 
BgL_arg1496z00_1082 = 
MAKE_PAIR(BgL_arg1499z00_1083, BgL_arg1500z00_1084); } 
BgL_arg1492z00_1080 = 
MAKE_PAIR(BgL_arg1495z00_1081, BgL_arg1496z00_1082); } 
BgL_arg1487z00_1079 = 
MAKE_PAIR(BgL_arg1492z00_1080, BgL_resz00_1064); } 
{ 
obj_t BgL_resz00_1606;obj_t BgL_valsz00_1605;obj_t BgL_varsz00_1604;
BgL_varsz00_1604 = BgL_arg1485z00_1077; 
BgL_valsz00_1605 = BgL_arg1486z00_1078; 
BgL_resz00_1606 = BgL_arg1487z00_1079; 
BgL_resz00_1064 = BgL_resz00_1606; 
BgL_valsz00_1063 = BgL_valsz00_1605; 
BgL_varsz00_1062 = BgL_varsz00_1604; 
goto BgL_loopz00_1061;} } } } 
BgL_arg1466z00_591 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_arg1471z00_593); } 
BgL_arg1462z00_590 = 
MAKE_PAIR(BgL_arg1466z00_591, BNIL); } 
BgL_arg1457z00_588 = 
MAKE_PAIR(BgL_arg1461z00_589, BgL_arg1462z00_590); } 
BgL_arg1452z00_585 = 
MAKE_PAIR(BgL_arg1456z00_587, BgL_arg1457z00_588); } 
{ /* ./Eval/expdlet.scm 160 */
obj_t BgL_arg1511z00_613;
if(
NULLP(BgL_bindingsz00_556))
{ /* ./Eval/expdlet.scm 160 */
BgL_arg1511z00_613 = BNIL; }  else 
{ /* ./Eval/expdlet.scm 160 */
obj_t BgL_head1015z00_617;
BgL_head1015z00_617 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1013z00_1131;obj_t BgL_tail1016z00_1132;
BgL_l1013z00_1131 = BgL_bindingsz00_556; 
BgL_tail1016z00_1132 = BgL_head1015z00_617; 
BgL_map1014z00_1130:
if(
NULLP(BgL_l1013z00_1131))
{ /* ./Eval/expdlet.scm 160 */
BgL_arg1511z00_613 = 
CDR(BgL_head1015z00_617); }  else 
{ /* ./Eval/expdlet.scm 160 */
obj_t BgL_newtail1017z00_1140;
BgL_newtail1017z00_1140 = 
MAKE_PAIR(BGl_list2414z00zz__expander_letz00, BNIL); 
SET_CDR(BgL_tail1016z00_1132, BgL_newtail1017z00_1140); 
{ 
obj_t BgL_tail1016z00_1621;obj_t BgL_l1013z00_1619;
BgL_l1013z00_1619 = 
CDR(BgL_l1013z00_1131); 
BgL_tail1016z00_1621 = BgL_newtail1017z00_1140; 
BgL_tail1016z00_1132 = BgL_tail1016z00_1621; 
BgL_l1013z00_1131 = BgL_l1013z00_1619; 
goto BgL_map1014z00_1130;} } } } 
BgL_arg1453z00_586 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1511z00_613, BNIL); } 
BgL_arg1449z00_584 = 
MAKE_PAIR(BgL_arg1452z00_585, BgL_arg1453z00_586); } 
BgL_resz00_553 = 
PROCEDURE_ENTRY(BgL_ez00_6)(BgL_ez00_6, BgL_arg1449z00_584, BgL_ez00_6, BEOA); } } } }  else 
{ /* ./Eval/expdlet.scm 128 */
FAILURE(BGl_string2420z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_5);} } } }  else 
{ /* ./Eval/expdlet.scm 128 */
FAILURE(BGl_string2420z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_5);} }  else 
{ /* ./Eval/expdlet.scm 128 */
FAILURE(BGl_string2420z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_5);} } 
return 
BGl_replacez12z12zz__prognz00(BgL_xz00_5, BgL_resz00_553);} } 
}



/* _expand-eval-letrec */
obj_t BGl__expandzd2evalzd2letrecz00zz__expander_letz00(obj_t BgL_envz00_1275, obj_t BgL_xz00_1276, obj_t BgL_ez00_1277)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 127 */
return 
BGl_expandzd2evalzd2letrecz00zz__expander_letz00(BgL_xz00_1276, BgL_ez00_1277);} 
}



/* expand-eval-labels */
BGL_EXPORTED_DEF obj_t BGl_expandzd2evalzd2labelsz00zz__expander_letz00(obj_t BgL_xz00_7, obj_t BgL_ez00_8)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 168 */
{ /* ./Eval/expdlet.scm 169 */
obj_t BgL_resz00_642;
{ 
obj_t BgL_bodyz00_643;obj_t BgL_bindingsz00_645;obj_t BgL_bodyz00_646;
if(
PAIRP(BgL_xz00_7))
{ /* ./Eval/expdlet.scm 169 */
obj_t BgL_cdrzd2349zd2_651;
BgL_cdrzd2349zd2_651 = 
CDR(BgL_xz00_7); 
if(
PAIRP(BgL_cdrzd2349zd2_651))
{ /* ./Eval/expdlet.scm 169 */
obj_t BgL_cdrzd2352zd2_653;
BgL_cdrzd2352zd2_653 = 
CDR(BgL_cdrzd2349zd2_651); 
{ /* ./Eval/expdlet.scm 169 */
bool_t BgL_testz00_1637;
{ /* ./Eval/expdlet.scm 169 */
obj_t BgL_auxz00_1638;
BgL_auxz00_1638 = 
CAR(BgL_cdrzd2349zd2_651); 
BgL_testz00_1637 = 
NULLP(BgL_auxz00_1638); } 
if(BgL_testz00_1637)
{ /* ./Eval/expdlet.scm 169 */
if(
NULLP(BgL_cdrzd2352zd2_653))
{ /* ./Eval/expdlet.scm 169 */
FAILURE(BGl_string2422z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_7);}  else 
{ /* ./Eval/expdlet.scm 169 */
BgL_bodyz00_643 = BgL_cdrzd2352zd2_653; 
{ /* ./Eval/expdlet.scm 171 */
obj_t BgL_arg1595z00_661;
{ /* ./Eval/expdlet.scm 171 */
obj_t BgL_arg1598z00_662;
{ /* ./Eval/expdlet.scm 171 */
obj_t BgL_arg1602z00_664;obj_t BgL_arg1603z00_665;
BgL_arg1602z00_664 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 171 */
obj_t BgL_arg1607z00_667;
{ /* ./Eval/expdlet.scm 171 */
obj_t BgL_auxz00_1644;
BgL_auxz00_1644 = 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_643); 
BgL_arg1607z00_667 = 
MAKE_PAIR(BgL_auxz00_1644, BNIL); } 
BgL_arg1603z00_665 = 
MAKE_PAIR(BNIL, BgL_arg1607z00_667); } 
BgL_arg1598z00_662 = 
MAKE_PAIR(BgL_arg1602z00_664, BgL_arg1603z00_665); } 
BgL_arg1595z00_661 = 
MAKE_PAIR(BgL_arg1598z00_662, BNIL); } 
BgL_resz00_642 = 
PROCEDURE_ENTRY(BgL_ez00_8)(BgL_ez00_8, BgL_arg1595z00_661, BgL_ez00_8, BEOA); } } }  else 
{ /* ./Eval/expdlet.scm 169 */
obj_t BgL_cdrzd2368zd2_657;
BgL_cdrzd2368zd2_657 = 
CDR(BgL_cdrzd2349zd2_651); 
if(
NULLP(BgL_cdrzd2368zd2_657))
{ /* ./Eval/expdlet.scm 169 */
FAILURE(BGl_string2422z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_7);}  else 
{ /* ./Eval/expdlet.scm 169 */
BgL_bindingsz00_645 = 
CAR(BgL_cdrzd2349zd2_651); 
BgL_bodyz00_646 = BgL_cdrzd2368zd2_657; 
{ /* ./Eval/expdlet.scm 173 */
obj_t BgL_newz00_670;
BgL_newz00_670 = 
BGl_loopz00zz__expander_letz00(BgL_xz00_7, BgL_bindingsz00_645); 
{ /* ./Eval/expdlet.scm 188 */
obj_t BgL_arg1615z00_671;
{ /* ./Eval/expdlet.scm 188 */
obj_t BgL_arg1618z00_672;obj_t BgL_arg1619z00_673;
BgL_arg1618z00_672 = BGl_symbol2410z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 188 */
obj_t BgL_auxz00_1657;
BgL_auxz00_1657 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_bodyz00_646, BNIL); 
BgL_arg1619z00_673 = 
MAKE_PAIR(BgL_newz00_670, BgL_auxz00_1657); } 
BgL_arg1615z00_671 = 
MAKE_PAIR(BgL_arg1618z00_672, BgL_arg1619z00_673); } 
BgL_resz00_642 = 
PROCEDURE_ENTRY(BgL_ez00_8)(BgL_ez00_8, BgL_arg1615z00_671, BgL_ez00_8, BEOA); } } } } } }  else 
{ /* ./Eval/expdlet.scm 169 */
FAILURE(BGl_string2422z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_7);} }  else 
{ /* ./Eval/expdlet.scm 169 */
FAILURE(BGl_string2422z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_7);} } 
return 
BGl_replacez12z12zz__prognz00(BgL_xz00_7, BgL_resz00_642);} } 
}



/* loop */
obj_t BGl_loopz00zz__expander_letz00(obj_t BgL_xz00_1281, obj_t BgL_bindingsz00_675)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 173 */
if(
NULLP(BgL_bindingsz00_675))
{ /* ./Eval/expdlet.scm 175 */
return BNIL;}  else 
{ /* ./Eval/expdlet.scm 175 */
if(
PAIRP(BgL_bindingsz00_675))
{ /* ./Eval/expdlet.scm 177 */
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_ezd2382zd2_684;
BgL_ezd2382zd2_684 = 
CAR(BgL_bindingsz00_675); 
if(
PAIRP(BgL_ezd2382zd2_684))
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_cdrzd2390zd2_686;
BgL_cdrzd2390zd2_686 = 
CDR(BgL_ezd2382zd2_684); 
if(
PAIRP(BgL_cdrzd2390zd2_686))
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_arg1631z00_688;obj_t BgL_arg1632z00_689;obj_t BgL_arg1633z00_690;
BgL_arg1631z00_688 = 
CAR(BgL_ezd2382zd2_684); 
BgL_arg1632z00_689 = 
CAR(BgL_cdrzd2390zd2_686); 
BgL_arg1633z00_690 = 
CDR(BgL_cdrzd2390zd2_686); 
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_arg1645z00_1221;obj_t BgL_arg1648z00_1222;
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_arg1651z00_1223;
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_arg1654z00_1224;
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_arg1658z00_1226;obj_t BgL_arg1659z00_1227;
BgL_arg1658z00_1226 = BGl_symbol2409z00zz__expander_letz00; 
{ /* ./Eval/expdlet.scm 180 */
obj_t BgL_auxz00_1680;
BgL_auxz00_1680 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1633z00_690, BNIL); 
BgL_arg1659z00_1227 = 
MAKE_PAIR(BgL_arg1632z00_689, BgL_auxz00_1680); } 
BgL_arg1654z00_1224 = 
MAKE_PAIR(BgL_arg1658z00_1226, BgL_arg1659z00_1227); } 
BgL_arg1651z00_1223 = 
MAKE_PAIR(BgL_arg1654z00_1224, BNIL); } 
BgL_arg1645z00_1221 = 
MAKE_PAIR(BgL_arg1631z00_688, BgL_arg1651z00_1223); } 
BgL_arg1648z00_1222 = 
BGl_loopz00zz__expander_letz00(BgL_xz00_1281, 
CDR(BgL_bindingsz00_675)); 
return 
MAKE_PAIR(BgL_arg1645z00_1221, BgL_arg1648z00_1222);} }  else 
{ /* ./Eval/expdlet.scm 180 */
FAILURE(BGl_string2422z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_1281);} }  else 
{ /* ./Eval/expdlet.scm 180 */
FAILURE(BGl_string2422z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_1281);} } }  else 
{ /* ./Eval/expdlet.scm 177 */
FAILURE(BGl_string2422z00zz__expander_letz00,BGl_string2419z00zz__expander_letz00,BgL_xz00_1281);} } } 
}



/* _expand-eval-labels */
obj_t BGl__expandzd2evalzd2labelsz00zz__expander_letz00(obj_t BgL_envz00_1278, obj_t BgL_xz00_1279, obj_t BgL_ez00_1280)
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 168 */
return 
BGl_expandzd2evalzd2labelsz00zz__expander_letz00(BgL_xz00_1279, BgL_ez00_1280);} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__expander_letz00()
{ AN_OBJECT;
{ /* ./Eval/expdlet.scm 14 */
BGl_modulezd2initializa7ationz75zz__errorz00(((long)11084), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__biglooz00(((long)48291), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__tvectorz00(((long)57114), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__structurez00(((long)53290), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__bexitz00(((long)13855), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)21694), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(((long)6615), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(((long)49269), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(((long)29164), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)51785), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(((long)35070), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)247), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)21875), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)104413), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_input_6_10_2z00(((long)50132), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)63121), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(((long)13988), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(((long)45566), "__expander_let"); 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)18972), "__expander_let"); 
return 
BGl_modulezd2initializa7ationz75zz__prognz00(((long)9608), "__expander_let");} 
}

