/*===========================================================================*/
/*   (Eval/expdrecord.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/expdrecord.scm -indent -o objs/obj_u/Eval/expdrecord.c)*/
/* GC selection */
#define THE_GC BOEHM_GC

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

BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__expander_recordz00(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__match_normaliza7eza7(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 *);
static obj_t BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00 = BUNSPEC;
extern obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl_cnstzd2initzd2zz__expander_recordz00();
extern obj_t string_to_symbol(char *);
extern obj_t bgl_append2(obj_t, obj_t);
static obj_t BGl_list2066z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_importedzd2moduleszd2initz00zz__expander_recordz00();
BGL_EXPORTED_DECL obj_t BGl_expandzd2definezd2recordzd2typezd2zz__expander_recordz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__expander_recordz00 = BUNSPEC;
extern obj_t BGl_appendz00zz__r4_pairs_and_lists_6_3z00(obj_t);
static obj_t BGl_symbol2067z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_symbol2065z00zz__expander_recordz00 = BUNSPEC;
extern obj_t BGl_gensymz00zz__r4_symbols_6_4z00;
static obj_t BGl_symbol2064z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl__expandzd2definezd2recordzd2typezd2zz__expander_recordz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2063z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_symbol2062z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_symbol2061z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_symbol2060z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_symbol2059z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_symbol2058z00zz__expander_recordz00 = BUNSPEC;
static obj_t BGl_toplevelzd2initzd2zz__expander_recordz00();
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_expandzd2definezd2recordzd2typezd2envz00zz__expander_recordz00, BgL_bgl__expandza7d2defineza7d2recordza7d2typeza7d2za7za7__expander_recordza7002074za7, BGl__expandzd2definezd2recordzd2typezd2zz__expander_recordz00, 0L, 2 );
DEFINE_STRING( BGl_string2057z00zz__expander_recordz00, BgL_bgl_string2057za700za7za7__expander_recordza7002075z00, "Illegal `define-record-type' form", 33 );
DEFINE_STRING( BGl_string2056z00zz__expander_recordz00, BgL_bgl_string2056za700za7za7__expander_recordza7002076z00, "define-record-type", 18 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__expander_recordz00(long BgL_checksumz00_845, char * BgL_fromz00_846)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__expander_recordz00))
{ 
BGl_requirezd2initializa7ationz75zz__expander_recordz00 = 
BBOOL(((bool_t)0)); 
BGl_cnstzd2initzd2zz__expander_recordz00(); 
BGl_importedzd2moduleszd2initz00zz__expander_recordz00(); 
BGl_toplevelzd2initzd2zz__expander_recordz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__expander_recordz00()
{ AN_OBJECT;
{ /* ./Eval/expdrecord.scm 18 */
BGl_symbol2058z00zz__expander_recordz00 = 
string_to_symbol("record"); 
BGl_symbol2059z00zz__expander_recordz00 = 
string_to_symbol("begin"); 
BGl_symbol2060z00zz__expander_recordz00 = 
string_to_symbol("define-struct"); 
BGl_symbol2061z00zz__expander_recordz00 = 
string_to_symbol("define"); 
BGl_symbol2062z00zz__expander_recordz00 = 
string_to_symbol("let"); 
BGl_symbol2063z00zz__expander_recordz00 = 
string_to_symbol("make-"); 
BGl_symbol2064z00zz__expander_recordz00 = 
string_to_symbol("-"); 
BGl_symbol2065z00zz__expander_recordz00 = 
string_to_symbol("-set!"); 
BGl_list2066z00zz__expander_recordz00 = 
MAKE_PAIR(BGl_symbol2058z00zz__expander_recordz00, BNIL); 
return ( 
BGl_symbol2067z00zz__expander_recordz00 = 
string_to_symbol("?"), BUNSPEC) ;} 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zz__expander_recordz00()
{ AN_OBJECT;
{ /* ./Eval/expdrecord.scm 18 */
return BUNSPEC;} 
}



/* expand-define-record-type */
BGL_EXPORTED_DEF obj_t BGl_expandzd2definezd2recordzd2typezd2zz__expander_recordz00(obj_t BgL_xz00_1, obj_t BgL_ez00_2)
{ AN_OBJECT;
{ /* ./Eval/expdrecord.scm 54 */
{ 

if(
SYMBOLP(BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00))
{ /* ./Eval/expdrecord.scm 55 */BFALSE; }  else 
{ /* ./Eval/expdrecord.scm 55 */
BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BGl_symbol2058z00zz__expander_recordz00, BEOA); } 
{ 
obj_t BgL_typez00_357;obj_t BgL_constructorz00_358;obj_t BgL_predicatez00_359;obj_t BgL_fieldzd2specszd2_360;
if(
PAIRP(BgL_xz00_1))
{ /* ./Eval/expdrecord.scm 59 */
obj_t BgL_cdrzd2113zd2_365;
BgL_cdrzd2113zd2_365 = 
CDR(BgL_xz00_1); 
if(
PAIRP(BgL_cdrzd2113zd2_365))
{ /* ./Eval/expdrecord.scm 59 */
obj_t BgL_carzd2118zd2_367;obj_t BgL_cdrzd2119zd2_368;
BgL_carzd2118zd2_367 = 
CAR(BgL_cdrzd2113zd2_365); 
BgL_cdrzd2119zd2_368 = 
CDR(BgL_cdrzd2113zd2_365); 
if(
SYMBOLP(BgL_carzd2118zd2_367))
{ /* ./Eval/expdrecord.scm 59 */
if(
PAIRP(BgL_cdrzd2119zd2_368))
{ /* ./Eval/expdrecord.scm 59 */
obj_t BgL_carzd2126zd2_371;obj_t BgL_cdrzd2127zd2_372;
BgL_carzd2126zd2_371 = 
CAR(BgL_cdrzd2119zd2_368); 
BgL_cdrzd2127zd2_372 = 
CDR(BgL_cdrzd2119zd2_368); 
if(
PAIRP(BgL_carzd2126zd2_371))
{ /* ./Eval/expdrecord.scm 59 */
if(
PAIRP(BgL_cdrzd2127zd2_372))
{ /* ./Eval/expdrecord.scm 59 */
obj_t BgL_carzd2133zd2_375;
BgL_carzd2133zd2_375 = 
CAR(BgL_cdrzd2127zd2_372); 
if(
SYMBOLP(BgL_carzd2133zd2_375))
{ /* ./Eval/expdrecord.scm 59 */
BgL_typez00_357 = BgL_carzd2118zd2_367; 
BgL_constructorz00_358 = BgL_carzd2126zd2_371; 
BgL_predicatez00_359 = BgL_carzd2133zd2_375; 
BgL_fieldzd2specszd2_360 = 
CDR(BgL_cdrzd2127zd2_372); 
{ /* ./Eval/expdrecord.scm 65 */
obj_t BgL_arg1059z00_378;
{ /* ./Eval/expdrecord.scm 65 */
obj_t BgL_arg1064z00_379;obj_t BgL_arg1065z00_380;
BgL_arg1064z00_379 = BGl_symbol2059z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 67 */
obj_t BgL_arg1068z00_381;obj_t BgL_arg1069z00_382;
{ /* ./Eval/expdrecord.scm 67 */
obj_t BgL_arg1073z00_383;obj_t BgL_arg1075z00_384;
{ /* ./Eval/expdrecord.scm 67 */
obj_t BgL_arg1079z00_385;obj_t BgL_arg1080z00_386;
BgL_arg1079z00_385 = BGl_symbol2060z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 67 */
obj_t BgL_arg1083z00_387;
{ /* ./Eval/expdrecord.scm 67 */
obj_t BgL_list1087z00_389;
{ /* ./Eval/expdrecord.scm 67 */
obj_t BgL_arg1089z00_390;
BgL_arg1089z00_390 = 
MAKE_PAIR(BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00, BNIL); 
BgL_list1087z00_389 = 
MAKE_PAIR(BgL_typez00_357, BgL_arg1089z00_390); } 
BgL_arg1083z00_387 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1087z00_389); } 
BgL_arg1080z00_386 = 
MAKE_PAIR(BgL_arg1083z00_387, BNIL); } 
BgL_arg1073z00_383 = 
MAKE_PAIR(BgL_arg1079z00_385, BgL_arg1080z00_386); } 
if(
NULLP(BgL_fieldzd2specszd2_360))
{ /* ./Eval/expdrecord.scm 68 */
BgL_arg1075z00_384 = BNIL; }  else 
{ /* ./Eval/expdrecord.scm 68 */
obj_t BgL_head1005z00_393;
{ /* ./Eval/expdrecord.scm 68 */
obj_t BgL_auxz00_894;
{ /* ./Eval/expdrecord.scm 68 */
obj_t BgL_auxz00_895;
BgL_auxz00_895 = 
CAR(BgL_fieldzd2specszd2_360); 
BgL_auxz00_894 = 
CAR(BgL_auxz00_895); } 
BgL_head1005z00_393 = 
MAKE_PAIR(BgL_auxz00_894, BNIL); } 
{ /* ./Eval/expdrecord.scm 68 */
obj_t BgL_arg1094z00_397;
BgL_arg1094z00_397 = 
CDR(BgL_fieldzd2specszd2_360); 
{ 
obj_t BgL_l1003z00_699;obj_t BgL_tail1006z00_700;
BgL_l1003z00_699 = BgL_arg1094z00_397; 
BgL_tail1006z00_700 = BgL_head1005z00_393; 
BgL_map1004z00_698:
if(
NULLP(BgL_l1003z00_699))
{ /* ./Eval/expdrecord.scm 68 */
BgL_arg1075z00_384 = BgL_head1005z00_393; }  else 
{ /* ./Eval/expdrecord.scm 68 */
obj_t BgL_newtail1007z00_708;
{ /* ./Eval/expdrecord.scm 68 */
obj_t BgL_auxz00_902;
{ /* ./Eval/expdrecord.scm 68 */
obj_t BgL_auxz00_903;
BgL_auxz00_903 = 
CAR(BgL_l1003z00_699); 
BgL_auxz00_902 = 
CAR(BgL_auxz00_903); } 
BgL_newtail1007z00_708 = 
MAKE_PAIR(BgL_auxz00_902, BNIL); } 
SET_CDR(BgL_tail1006z00_700, BgL_newtail1007z00_708); 
{ 
obj_t BgL_tail1006z00_910;obj_t BgL_l1003z00_908;
BgL_l1003z00_908 = 
CDR(BgL_l1003z00_699); 
BgL_tail1006z00_910 = BgL_newtail1007z00_708; 
BgL_tail1006z00_700 = BgL_tail1006z00_910; 
BgL_l1003z00_699 = BgL_l1003z00_908; 
goto BgL_map1004z00_698;} } } } } 
BgL_arg1068z00_381 = 
bgl_append2(BgL_arg1073z00_383, BgL_arg1075z00_384); } 
{ /* ./Eval/expdrecord.scm 71 */
obj_t BgL_arg1122z00_407;obj_t BgL_arg1123z00_408;
{ /* ./Eval/expdrecord.scm 71 */
obj_t BgL_arg1126z00_409;obj_t BgL_arg1127z00_410;
BgL_arg1126z00_409 = BGl_symbol2061z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 73 */
obj_t BgL_arg1130z00_411;
{ /* ./Eval/expdrecord.scm 73 */
obj_t BgL_arg1133z00_412;
{ /* ./Eval/expdrecord.scm 73 */
obj_t BgL_arg1137z00_414;obj_t BgL_arg1138z00_415;
BgL_arg1137z00_414 = BGl_symbol2062z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1141z00_416;obj_t BgL_arg1142z00_417;obj_t BgL_arg1144z00_418;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1155z00_422;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1160z00_424;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1164z00_426;obj_t BgL_arg1165z00_427;
BgL_arg1164z00_426 = BGl_symbol2058z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1169z00_428;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1174z00_430;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_list1178z00_432;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1180z00_433;obj_t BgL_arg1181z00_434;
BgL_arg1180z00_433 = BGl_symbol2063z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1184z00_435;
BgL_arg1184z00_435 = 
MAKE_PAIR(BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00, BNIL); 
BgL_arg1181z00_434 = 
MAKE_PAIR(BgL_typez00_357, BgL_arg1184z00_435); } 
BgL_list1178z00_432 = 
MAKE_PAIR(BgL_arg1180z00_433, BgL_arg1181z00_434); } 
BgL_arg1174z00_430 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1178z00_432); } 
BgL_arg1169z00_428 = 
MAKE_PAIR(BgL_arg1174z00_430, BNIL); } 
BgL_arg1165z00_427 = 
MAKE_PAIR(BgL_arg1169z00_428, BNIL); } 
BgL_arg1160z00_424 = 
MAKE_PAIR(BgL_arg1164z00_426, BgL_arg1165z00_427); } 
BgL_arg1155z00_422 = 
MAKE_PAIR(BgL_arg1160z00_424, BNIL); } 
BgL_arg1141z00_416 = 
MAKE_PAIR(BgL_arg1155z00_422, BNIL); } 
{ /* ./Eval/expdrecord.scm 76 */
obj_t BgL_l1008z00_436;
BgL_l1008z00_436 = 
CDR(BgL_constructorz00_358); 
if(
NULLP(BgL_l1008z00_436))
{ /* ./Eval/expdrecord.scm 76 */
BgL_arg1142z00_417 = BNIL; }  else 
{ /* ./Eval/expdrecord.scm 76 */
obj_t BgL_head1010z00_438;
BgL_head1010z00_438 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1008z00_439;obj_t BgL_tail1011z00_440;
BgL_l1008z00_439 = BgL_l1008z00_436; 
BgL_tail1011z00_440 = BgL_head1010z00_438; 
BgL_map1009z00_441:
if(
NULLP(BgL_l1008z00_439))
{ /* ./Eval/expdrecord.scm 76 */
BgL_arg1142z00_417 = 
CDR(BgL_head1010z00_438); }  else 
{ /* ./Eval/expdrecord.scm 78 */
obj_t BgL_newtail1012z00_443;
{ /* ./Eval/expdrecord.scm 78 */
obj_t BgL_arg1197z00_445;
{ /* ./Eval/expdrecord.scm 78 */
obj_t BgL_fieldz00_447;
BgL_fieldz00_447 = 
CAR(BgL_l1008z00_439); 
if(
SYMBOLP(BgL_fieldz00_447))
{ /* ./Eval/expdrecord.scm 81 */
obj_t BgL_arg1202z00_449;obj_t BgL_arg1203z00_450;
{ /* ./Eval/expdrecord.scm 81 */
obj_t BgL_list1206z00_451;
{ /* ./Eval/expdrecord.scm 81 */
obj_t BgL_arg1208z00_452;
{ /* ./Eval/expdrecord.scm 81 */
obj_t BgL_arg1211z00_453;
{ /* ./Eval/expdrecord.scm 81 */
obj_t BgL_arg1214z00_454;obj_t BgL_arg1215z00_455;
BgL_arg1214z00_454 = BGl_symbol2064z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 80 */
obj_t BgL_arg1218z00_456;
BgL_arg1218z00_456 = 
MAKE_PAIR(BGl_symbol2065z00zz__expander_recordz00, BNIL); 
BgL_arg1215z00_455 = 
MAKE_PAIR(BgL_fieldz00_447, BgL_arg1218z00_456); } 
BgL_arg1211z00_453 = 
MAKE_PAIR(BgL_arg1214z00_454, BgL_arg1215z00_455); } 
BgL_arg1208z00_452 = 
MAKE_PAIR(BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00, BgL_arg1211z00_453); } 
BgL_list1206z00_451 = 
MAKE_PAIR(BgL_typez00_357, BgL_arg1208z00_452); } 
BgL_arg1202z00_449 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1206z00_451); } 
{ /* ./Eval/expdrecord.scm 80 */
obj_t BgL_arg1222z00_457;obj_t BgL_arg1223z00_458;
BgL_arg1222z00_457 = BGl_symbol2058z00zz__expander_recordz00; 
BgL_arg1223z00_458 = 
MAKE_PAIR(BgL_fieldz00_447, BNIL); 
BgL_arg1203z00_450 = 
MAKE_PAIR(BgL_arg1222z00_457, BgL_arg1223z00_458); } 
BgL_arg1197z00_445 = 
MAKE_PAIR(BgL_arg1202z00_449, BgL_arg1203z00_450); }  else 
{ /* ./Eval/expdrecord.scm 78 */
FAILURE(BGl_string2056z00zz__expander_recordz00,BGl_string2057z00zz__expander_recordz00,BgL_xz00_1);} } 
BgL_newtail1012z00_443 = 
MAKE_PAIR(BgL_arg1197z00_445, BNIL); } 
SET_CDR(BgL_tail1011z00_440, BgL_newtail1012z00_443); 
{ 
obj_t BgL_tail1011z00_945;obj_t BgL_l1008z00_943;
BgL_l1008z00_943 = 
CDR(BgL_l1008z00_439); 
BgL_tail1011z00_945 = BgL_newtail1012z00_443; 
BgL_tail1011z00_440 = BgL_tail1011z00_945; 
BgL_l1008z00_439 = BgL_l1008z00_943; 
goto BgL_map1009z00_441;} } } } } 
BgL_arg1144z00_418 = BGl_list2066z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_list1146z00_419;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1148z00_420;
{ /* ./Eval/expdrecord.scm 74 */
obj_t BgL_arg1151z00_421;
BgL_arg1151z00_421 = 
MAKE_PAIR(BgL_arg1144z00_418, BNIL); 
BgL_arg1148z00_420 = 
MAKE_PAIR(BgL_arg1142z00_417, BgL_arg1151z00_421); } 
BgL_list1146z00_419 = 
MAKE_PAIR(BgL_arg1141z00_416, BgL_arg1148z00_420); } 
BgL_arg1138z00_415 = 
BGl_appendz00zz__r4_pairs_and_lists_6_3z00(BgL_list1146z00_419); } } 
BgL_arg1133z00_412 = 
MAKE_PAIR(BgL_arg1137z00_414, BgL_arg1138z00_415); } 
BgL_arg1130z00_411 = 
MAKE_PAIR(BgL_arg1133z00_412, BNIL); } 
BgL_arg1127z00_410 = 
MAKE_PAIR(BgL_constructorz00_358, BgL_arg1130z00_411); } 
BgL_arg1122z00_407 = 
MAKE_PAIR(BgL_arg1126z00_409, BgL_arg1127z00_410); } 
{ /* ./Eval/expdrecord.scm 87 */
obj_t BgL_arg1234z00_459;obj_t BgL_arg1235z00_460;
{ /* ./Eval/expdrecord.scm 87 */
obj_t BgL_standardzd2predicatezd2_461;
{ /* ./Eval/expdrecord.scm 87 */
obj_t BgL_list1247z00_465;
{ /* ./Eval/expdrecord.scm 87 */
obj_t BgL_arg1249z00_466;
{ /* ./Eval/expdrecord.scm 87 */
obj_t BgL_arg1252z00_467;
BgL_arg1252z00_467 = 
MAKE_PAIR(BGl_symbol2067z00zz__expander_recordz00, BNIL); 
BgL_arg1249z00_466 = 
MAKE_PAIR(BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00, BgL_arg1252z00_467); } 
BgL_list1247z00_465 = 
MAKE_PAIR(BgL_typez00_357, BgL_arg1249z00_466); } 
BgL_standardzd2predicatezd2_461 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1247z00_465); } 
{ /* ./Eval/expdrecord.scm 90 */
obj_t BgL_arg1238z00_462;obj_t BgL_arg1240z00_463;
BgL_arg1238z00_462 = BGl_symbol2061z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 90 */
obj_t BgL_arg1243z00_464;
BgL_arg1243z00_464 = 
MAKE_PAIR(BgL_standardzd2predicatezd2_461, BNIL); 
BgL_arg1240z00_463 = 
MAKE_PAIR(BgL_predicatez00_359, BgL_arg1243z00_464); } 
BgL_arg1234z00_459 = 
MAKE_PAIR(BgL_arg1238z00_462, BgL_arg1240z00_463); } } 
{ /* ./Eval/expdrecord.scm 93 */
obj_t BgL_arg1256z00_468;obj_t BgL_arg1258z00_469;
if(
NULLP(BgL_fieldzd2specszd2_360))
{ /* ./Eval/expdrecord.scm 93 */
BgL_arg1256z00_468 = BNIL; }  else 
{ /* ./Eval/expdrecord.scm 93 */
obj_t BgL_head1015z00_472;
BgL_head1015z00_472 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1013z00_473;obj_t BgL_tail1016z00_474;
BgL_l1013z00_473 = BgL_fieldzd2specszd2_360; 
BgL_tail1016z00_474 = BgL_head1015z00_472; 
BgL_map1014z00_475:
if(
NULLP(BgL_l1013z00_473))
{ /* ./Eval/expdrecord.scm 93 */
BgL_arg1256z00_468 = 
CDR(BgL_head1015z00_472); }  else 
{ /* ./Eval/expdrecord.scm 94 */
obj_t BgL_newtail1017z00_477;
{ /* ./Eval/expdrecord.scm 94 */
obj_t BgL_arg1270z00_479;
{ /* ./Eval/expdrecord.scm 94 */
obj_t BgL_fieldzd2speczd2_481;
BgL_fieldzd2speczd2_481 = 
CAR(BgL_l1013z00_473); 
{ /* ./Eval/expdrecord.scm 94 */
bool_t BgL_test1275z00_482;
if(
PAIRP(BgL_fieldzd2speczd2_481))
{ /* ./Eval/expdrecord.scm 95 */
bool_t BgL_testz00_970;
{ /* ./Eval/expdrecord.scm 95 */
obj_t BgL_auxz00_971;
BgL_auxz00_971 = 
CAR(BgL_fieldzd2speczd2_481); 
BgL_testz00_970 = 
SYMBOLP(BgL_auxz00_971); } 
if(BgL_testz00_970)
{ /* ./Eval/expdrecord.scm 95 */
BgL_test1275z00_482 = ((bool_t)0); }  else 
{ /* ./Eval/expdrecord.scm 95 */
BgL_test1275z00_482 = ((bool_t)1); } }  else 
{ /* ./Eval/expdrecord.scm 94 */
BgL_test1275z00_482 = ((bool_t)1); } 
if(BgL_test1275z00_482)
{ /* ./Eval/expdrecord.scm 94 */
FAILURE(BGl_string2056z00zz__expander_recordz00,BGl_string2057z00zz__expander_recordz00,BgL_xz00_1);}  else 
{ /* ./Eval/expdrecord.scm 97 */
obj_t BgL_standardzd2accessorzd2_483;
{ /* ./Eval/expdrecord.scm 99 */
obj_t BgL_arg1288z00_488;obj_t BgL_arg1289z00_489;
BgL_arg1288z00_488 = BGl_symbol2064z00zz__expander_recordz00; 
BgL_arg1289z00_489 = 
CAR(BgL_fieldzd2speczd2_481); 
{ /* ./Eval/expdrecord.scm 97 */
obj_t BgL_list1291z00_490;
{ /* ./Eval/expdrecord.scm 97 */
obj_t BgL_arg1293z00_491;
{ /* ./Eval/expdrecord.scm 97 */
obj_t BgL_arg1296z00_492;
{ /* ./Eval/expdrecord.scm 97 */
obj_t BgL_arg1299z00_493;
BgL_arg1299z00_493 = 
MAKE_PAIR(BgL_arg1289z00_489, BNIL); 
BgL_arg1296z00_492 = 
MAKE_PAIR(BgL_arg1288z00_488, BgL_arg1299z00_493); } 
BgL_arg1293z00_491 = 
MAKE_PAIR(BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00, BgL_arg1296z00_492); } 
BgL_list1291z00_490 = 
MAKE_PAIR(BgL_typez00_357, BgL_arg1293z00_491); } 
BgL_standardzd2accessorzd2_483 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1291z00_490); } } 
{ /* ./Eval/expdrecord.scm 100 */
obj_t BgL_arg1278z00_484;obj_t BgL_arg1279z00_485;
BgL_arg1278z00_484 = BGl_symbol2061z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 100 */
obj_t BgL_arg1282z00_486;obj_t BgL_arg1283z00_487;
{ /* ./Eval/expdrecord.scm 100 */
obj_t BgL_auxz00_982;
BgL_auxz00_982 = 
CDR(BgL_fieldzd2speczd2_481); 
BgL_arg1282z00_486 = 
CAR(BgL_auxz00_982); } 
BgL_arg1283z00_487 = 
MAKE_PAIR(BgL_standardzd2accessorzd2_483, BNIL); 
BgL_arg1279z00_485 = 
MAKE_PAIR(BgL_arg1282z00_486, BgL_arg1283z00_487); } 
BgL_arg1270z00_479 = 
MAKE_PAIR(BgL_arg1278z00_484, BgL_arg1279z00_485); } } } } 
BgL_newtail1017z00_477 = 
MAKE_PAIR(BgL_arg1270z00_479, BNIL); } 
SET_CDR(BgL_tail1016z00_474, BgL_newtail1017z00_477); 
{ 
obj_t BgL_tail1016z00_992;obj_t BgL_l1013z00_990;
BgL_l1013z00_990 = 
CDR(BgL_l1013z00_473); 
BgL_tail1016z00_992 = BgL_newtail1017z00_477; 
BgL_tail1016z00_474 = BgL_tail1016z00_992; 
BgL_l1013z00_473 = BgL_l1013z00_990; 
goto BgL_map1014z00_475;} } } } 
if(
NULLP(BgL_fieldzd2specszd2_360))
{ /* ./Eval/expdrecord.scm 103 */
BgL_arg1258z00_469 = BNIL; }  else 
{ /* ./Eval/expdrecord.scm 103 */
obj_t BgL_head1020z00_499;
BgL_head1020z00_499 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l1018z00_500;obj_t BgL_tail1021z00_501;
BgL_l1018z00_500 = BgL_fieldzd2specszd2_360; 
BgL_tail1021z00_501 = BgL_head1020z00_499; 
BgL_map1019z00_502:
if(
NULLP(BgL_l1018z00_500))
{ /* ./Eval/expdrecord.scm 103 */
BgL_arg1258z00_469 = 
CDR(BgL_head1020z00_499); }  else 
{ /* ./Eval/expdrecord.scm 104 */
obj_t BgL_newtail1022z00_504;
{ /* ./Eval/expdrecord.scm 104 */
obj_t BgL_arg1324z00_506;
{ /* ./Eval/expdrecord.scm 104 */
obj_t BgL_fieldzd2speczd2_508;
BgL_fieldzd2speczd2_508 = 
CAR(BgL_l1018z00_500); 
{ /* ./Eval/expdrecord.scm 104 */
bool_t BgL_test1328z00_509;
if(
PAIRP(BgL_fieldzd2speczd2_508))
{ /* ./Eval/expdrecord.scm 105 */
bool_t BgL_testz00_1002;
{ /* ./Eval/expdrecord.scm 105 */
obj_t BgL_auxz00_1003;
BgL_auxz00_1003 = 
CAR(BgL_fieldzd2speczd2_508); 
BgL_testz00_1002 = 
SYMBOLP(BgL_auxz00_1003); } 
if(BgL_testz00_1002)
{ /* ./Eval/expdrecord.scm 105 */
BgL_test1328z00_509 = ((bool_t)0); }  else 
{ /* ./Eval/expdrecord.scm 105 */
BgL_test1328z00_509 = ((bool_t)1); } }  else 
{ /* ./Eval/expdrecord.scm 104 */
BgL_test1328z00_509 = ((bool_t)1); } 
if(BgL_test1328z00_509)
{ /* ./Eval/expdrecord.scm 104 */
FAILURE(BGl_string2056z00zz__expander_recordz00,BGl_string2057z00zz__expander_recordz00,BgL_xz00_1);}  else 
{ /* ./Eval/expdrecord.scm 107 */
bool_t BgL_testz00_1008;
{ /* ./Eval/expdrecord.scm 107 */
obj_t BgL_auxz00_1009;
{ /* ./Eval/expdrecord.scm 107 */
obj_t BgL_auxz00_1010;
BgL_auxz00_1010 = 
CDR(BgL_fieldzd2speczd2_508); 
BgL_auxz00_1009 = 
CDR(BgL_auxz00_1010); } 
BgL_testz00_1008 = 
PAIRP(BgL_auxz00_1009); } 
if(BgL_testz00_1008)
{ /* ./Eval/expdrecord.scm 108 */
obj_t BgL_standardzd2mutatorzd2_511;
{ /* ./Eval/expdrecord.scm 111 */
obj_t BgL_arg1342z00_516;obj_t BgL_arg1343z00_517;obj_t BgL_arg1344z00_518;
BgL_arg1342z00_516 = BGl_symbol2064z00zz__expander_recordz00; 
BgL_arg1343z00_517 = 
CAR(BgL_fieldzd2speczd2_508); 
BgL_arg1344z00_518 = BGl_symbol2065z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 108 */
obj_t BgL_list1346z00_519;
{ /* ./Eval/expdrecord.scm 108 */
obj_t BgL_arg1348z00_520;
{ /* ./Eval/expdrecord.scm 108 */
obj_t BgL_arg1352z00_521;
{ /* ./Eval/expdrecord.scm 108 */
obj_t BgL_arg1355z00_522;
{ /* ./Eval/expdrecord.scm 108 */
obj_t BgL_arg1358z00_523;
BgL_arg1358z00_523 = 
MAKE_PAIR(BgL_arg1344z00_518, BNIL); 
BgL_arg1355z00_522 = 
MAKE_PAIR(BgL_arg1343z00_517, BgL_arg1358z00_523); } 
BgL_arg1352z00_521 = 
MAKE_PAIR(BgL_arg1342z00_516, BgL_arg1355z00_522); } 
BgL_arg1348z00_520 = 
MAKE_PAIR(BGl_za2recordzd2bigloozd2stampza2z00zz__expander_recordz00, BgL_arg1352z00_521); } 
BgL_list1346z00_519 = 
MAKE_PAIR(BgL_typez00_357, BgL_arg1348z00_520); } 
BgL_standardzd2mutatorzd2_511 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1346z00_519); } } 
{ /* ./Eval/expdrecord.scm 113 */
obj_t BgL_arg1332z00_512;obj_t BgL_arg1333z00_513;
BgL_arg1332z00_512 = BGl_symbol2061z00zz__expander_recordz00; 
{ /* ./Eval/expdrecord.scm 113 */
obj_t BgL_arg1336z00_514;obj_t BgL_arg1337z00_515;
{ /* ./Eval/expdrecord.scm 113 */
obj_t BgL_auxz00_1021;
{ /* ./Eval/expdrecord.scm 113 */
obj_t BgL_auxz00_1022;
BgL_auxz00_1022 = 
CDR(BgL_fieldzd2speczd2_508); 
BgL_auxz00_1021 = 
CDR(BgL_auxz00_1022); } 
BgL_arg1336z00_514 = 
CAR(BgL_auxz00_1021); } 
BgL_arg1337z00_515 = 
MAKE_PAIR(BgL_standardzd2mutatorzd2_511, BNIL); 
BgL_arg1333z00_513 = 
MAKE_PAIR(BgL_arg1336z00_514, BgL_arg1337z00_515); } 
BgL_arg1324z00_506 = 
MAKE_PAIR(BgL_arg1332z00_512, BgL_arg1333z00_513); } }  else 
{ /* ./Eval/expdrecord.scm 107 */
BgL_arg1324z00_506 = BTRUE; } } } } 
BgL_newtail1022z00_504 = 
MAKE_PAIR(BgL_arg1324z00_506, BNIL); } 
SET_CDR(BgL_tail1021z00_501, BgL_newtail1022z00_504); 
{ 
obj_t BgL_tail1021z00_1033;obj_t BgL_l1018z00_1031;
BgL_l1018z00_1031 = 
CDR(BgL_l1018z00_500); 
BgL_tail1021z00_1033 = BgL_newtail1022z00_504; 
BgL_tail1021z00_501 = BgL_tail1021z00_1033; 
BgL_l1018z00_500 = BgL_l1018z00_1031; 
goto BgL_map1019z00_502;} } } } 
BgL_arg1235z00_460 = 
bgl_append2(BgL_arg1256z00_468, BgL_arg1258z00_469); } 
BgL_arg1123z00_408 = 
MAKE_PAIR(BgL_arg1234z00_459, BgL_arg1235z00_460); } 
BgL_arg1069z00_382 = 
MAKE_PAIR(BgL_arg1122z00_407, BgL_arg1123z00_408); } 
BgL_arg1065z00_380 = 
MAKE_PAIR(BgL_arg1068z00_381, BgL_arg1069z00_382); } 
BgL_arg1059z00_378 = 
MAKE_PAIR(BgL_arg1064z00_379, BgL_arg1065z00_380); } 
return 
PROCEDURE_ENTRY(BgL_ez00_2)(BgL_ez00_2, BgL_arg1059z00_378, BgL_ez00_2, BEOA);} }  else 
{ /* ./Eval/expdrecord.scm 59 */
BgL_zc3anonymousza31379ze3z83_528:
FAILURE(BGl_string2056z00zz__expander_recordz00,BGl_string2057z00zz__expander_recordz00,BgL_xz00_1);} }  else 
{ /* ./Eval/expdrecord.scm 59 */
goto BgL_zc3anonymousza31379ze3z83_528;} }  else 
{ /* ./Eval/expdrecord.scm 59 */
goto BgL_zc3anonymousza31379ze3z83_528;} }  else 
{ /* ./Eval/expdrecord.scm 59 */
goto BgL_zc3anonymousza31379ze3z83_528;} }  else 
{ /* ./Eval/expdrecord.scm 59 */
goto BgL_zc3anonymousza31379ze3z83_528;} }  else 
{ /* ./Eval/expdrecord.scm 59 */
goto BgL_zc3anonymousza31379ze3z83_528;} }  else 
{ /* ./Eval/expdrecord.scm 59 */
goto BgL_zc3anonymousza31379ze3z83_528;} } } } 
}



/* _expand-define-record-type */
obj_t BGl__expandzd2definezd2recordzd2typezd2zz__expander_recordz00(obj_t BgL_envz00_842, obj_t BgL_xz00_843, obj_t BgL_ez00_844)
{ AN_OBJECT;
{ /* ./Eval/expdrecord.scm 54 */
return 
BGl_expandzd2definezd2recordzd2typezd2zz__expander_recordz00(BgL_xz00_843, BgL_ez00_844);} 
}



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

