/*===========================================================================*/
/*   (Expand/farith.scm)                                                     */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Expand/farith.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzexpand_farithmetiquez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzexpand_farithmetiquez00();
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl__expandzd2fatanzd2zzexpand_farithmetiquez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl__expandzd2fmaxzd2zzexpand_farithmetiquez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_gensymz00zz__r4_symbols_6_4z00;
static obj_t BGl__expandzd2fminzd2zzexpand_farithmetiquez00(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzexpand_farithmetiquez00();
BGL_EXPORTED_DECL obj_t BGl_expandzd2fmaxzd2zzexpand_farithmetiquez00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzexpand_farithmetiquez00();
static obj_t BGl_requirezd2initializa7ationz75zzexpand_farithmetiquez00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_expandzd2fminzd2zzexpand_farithmetiquez00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzexpand_farithmetiquez00();
BGL_EXPORTED_DECL obj_t BGl_expandzd2fatanzd2zzexpand_farithmetiquez00(obj_t, obj_t);
extern obj_t BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(obj_t);
static obj_t __cnst[ 9 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_expandzd2fminzd2envz00zzexpand_farithmetiquez00, BgL_bgl__expandza7d2fminza7d2za7za7expand_farithmetiqueza7001444za7, BGl__expandzd2fminzd2zzexpand_farithmetiquez00, 0L, 2 );
DEFINE_STRING( BGl_string1418z00zzexpand_farithmetiquez00, BgL_bgl_string1418za700za7za7expand_farithmetiqueza7001445z00, "atan-2fl atan-1fl minfl min min-2fl maxfl let max max-2fl ", 58 );
DEFINE_STRING( BGl_string1417z00zzexpand_farithmetiquez00, BgL_bgl_string1417za700za7za7expand_farithmetiqueza7001446z00, "Too many arguments provided", 27 );
DEFINE_EXPORT_PROCEDURE( BGl_expandzd2fmaxzd2envz00zzexpand_farithmetiquez00, BgL_bgl__expandza7d2fmaxza7d2za7za7expand_farithmetiqueza7001447za7, BGl__expandzd2fmaxzd2zzexpand_farithmetiquez00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_expandzd2fatanzd2envz00zzexpand_farithmetiquez00, BgL_bgl__expandza7d2fatanza7d2za7za7expand_farithmetiqueza7001448za7, BGl__expandzd2fatanzd2zzexpand_farithmetiquez00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzexpand_farithmetiquez00(long BgL_checksumz00_309, char * BgL_fromz00_310)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzexpand_farithmetiquez00))
{ 
BGl_requirezd2initializa7ationz75zzexpand_farithmetiquez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzexpand_farithmetiquez00(); 
BGl_cnstzd2initzd2zzexpand_farithmetiquez00(); 
BGl_importedzd2moduleszd2initz00zzexpand_farithmetiquez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzexpand_farithmetiquez00()
{ AN_OBJECT;
{ /* ./Expand/farith.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "expand_farithmetique"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "expand_farithmetique"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "expand_farithmetique"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzexpand_farithmetiquez00()
{ AN_OBJECT;
{ /* ./Expand/farith.scm 15 */
{ /* ./Expand/farith.scm 15 */
obj_t BgL_cportz00_302;
BgL_cportz00_302 = 
open_input_string(BGl_string1418z00zzexpand_farithmetiquez00); 
{ 
long BgL_iz00_303;
BgL_iz00_303 = ((long)8); 
BgL_loopz00_304:
{ /* ./Expand/farith.scm 15 */
bool_t BgL_test1420z00_305;
BgL_test1420z00_305 = 
(BgL_iz00_303==((long)-1)); 
if(BgL_test1420z00_305)
{ /* ./Expand/farith.scm 15 */
return BUNSPEC;}  else 
{ /* ./Expand/farith.scm 15 */
{ /* ./Expand/farith.scm 15 */
obj_t BgL_arg1422z00_306;
{ /* ./Expand/farith.scm 15 */
obj_t BgL_list1425z00_307;
BgL_list1425z00_307 = 
MAKE_PAIR(BgL_cportz00_302, BNIL); 
BgL_arg1422z00_306 = 
BGl_readz00zz__readerz00(BgL_list1425z00_307); } 
{ /* ./Expand/farith.scm 15 */
int BgL_auxz00_325;
BgL_auxz00_325 = 
(int)(BgL_iz00_303); 
CNST_TABLE_SET(BgL_auxz00_325, BgL_arg1422z00_306); } } 
{ /* ./Expand/farith.scm 15 */
int BgL_auxz00_308;
{ /* ./Expand/farith.scm 15 */
long BgL_auxz00_328;
BgL_auxz00_328 = 
(BgL_iz00_303-((long)1)); 
BgL_auxz00_308 = 
(int)(BgL_auxz00_328); } 
{ 
long BgL_iz00_331;
BgL_iz00_331 = 
(long)(BgL_auxz00_308); 
BgL_iz00_303 = BgL_iz00_331; 
goto BgL_loopz00_304;} } } } } } } 
}



/* expand-fmax */
BGL_EXPORTED_DEF obj_t BGl_expandzd2fmaxzd2zzexpand_farithmetiquez00(obj_t BgL_xz00_1, obj_t BgL_ez00_2)
{ AN_OBJECT;
{ /* ./Expand/farith.scm 25 */
{ 
obj_t BgL_xz00_66;obj_t BgL_yz00_67;obj_t BgL_xz00_63;obj_t BgL_yz00_64;
{ /* ./Expand/farith.scm 26 */
bool_t BgL_test1089z00_70;
BgL_test1089z00_70 = 
PAIRP(BgL_xz00_1); 
if(BgL_test1089z00_70)
{ /* ./Expand/farith.scm 26 */
obj_t BgL_cdrzd2109zd2_71;
BgL_cdrzd2109zd2_71 = 
CDR(BgL_xz00_1); 
{ /* ./Expand/farith.scm 26 */
bool_t BgL_test1090z00_72;
BgL_test1090z00_72 = 
PAIRP(BgL_cdrzd2109zd2_71); 
if(BgL_test1090z00_72)
{ /* ./Expand/farith.scm 26 */
obj_t BgL_cdrzd2113zd2_73;
BgL_cdrzd2113zd2_73 = 
CDR(BgL_cdrzd2109zd2_71); 
{ /* ./Expand/farith.scm 26 */
bool_t BgL_test1091z00_74;
BgL_test1091z00_74 = 
PAIRP(BgL_cdrzd2113zd2_73); 
if(BgL_test1091z00_74)
{ /* ./Expand/farith.scm 26 */
bool_t BgL_test1093z00_75;
{ /* ./Expand/farith.scm 26 */
obj_t BgL_auxz00_341;
BgL_auxz00_341 = 
CDR(BgL_cdrzd2113zd2_73); 
BgL_test1093z00_75 = 
NULLP(BgL_auxz00_341); } 
if(BgL_test1093z00_75)
{ /* ./Expand/farith.scm 26 */
obj_t BgL_arg1096z00_76;obj_t BgL_arg1097z00_77;
BgL_arg1096z00_76 = 
CAR(BgL_cdrzd2109zd2_71); 
BgL_arg1097z00_77 = 
CAR(BgL_cdrzd2113zd2_73); 
BgL_xz00_63 = BgL_arg1096z00_76; 
BgL_yz00_64 = BgL_arg1097z00_77; 
{ /* ./Expand/farith.scm 29 */
bool_t BgL_test1125z00_85;
{ /* ./Expand/farith.scm 29 */
bool_t BgL_testz00_347;
if(
INTEGERP(BgL_xz00_63))
{ /* ./Expand/farith.scm 29 */
BgL_testz00_347 = ((bool_t)1)
; }  else 
{ /* ./Expand/farith.scm 29 */
BgL_testz00_347 = 
REALP(BgL_xz00_63)
; } 
if(BgL_testz00_347)
{ /* ./Expand/farith.scm 29 */
if(
INTEGERP(BgL_yz00_64))
{ /* ./Expand/farith.scm 29 */
BgL_test1125z00_85 = ((bool_t)1); }  else 
{ /* ./Expand/farith.scm 29 */
BgL_test1125z00_85 = 
REALP(BgL_yz00_64); } }  else 
{ /* ./Expand/farith.scm 29 */
BgL_test1125z00_85 = ((bool_t)0); } } 
if(BgL_test1125z00_85)
{ /* ./Expand/farith.scm 29 */
{ /* ./Expand/farith.scm 30 */
double BgL_auxz00_355;
{ /* ./Expand/farith.scm 30 */
double BgL_r1z00_230;double BgL_r2z00_231;
BgL_r1z00_230 = 
REAL_TO_DOUBLE(BgL_xz00_63); 
BgL_r2z00_231 = 
REAL_TO_DOUBLE(BgL_yz00_64); 
if(
(BgL_r1z00_230>BgL_r2z00_231))
{ /* ./Expand/farith.scm 30 */
BgL_auxz00_355 = BgL_r1z00_230
; }  else 
{ /* ./Expand/farith.scm 30 */
BgL_auxz00_355 = BgL_r2z00_231
; } } 
return 
DOUBLE_TO_REAL(BgL_auxz00_355);} }  else 
{ /* ./Expand/farith.scm 29 */
{ /* ./Expand/farith.scm 32 */
obj_t BgL_arg1128z00_86;
{ /* ./Expand/farith.scm 32 */
obj_t BgL_arg1131z00_87;obj_t BgL_arg1132z00_88;
BgL_arg1131z00_87 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Expand/farith.scm 32 */
obj_t BgL_arg1135z00_89;
BgL_arg1135z00_89 = 
MAKE_PAIR(BgL_yz00_64, BNIL); 
BgL_arg1132z00_88 = 
MAKE_PAIR(BgL_xz00_63, BgL_arg1135z00_89); } 
BgL_arg1128z00_86 = 
MAKE_PAIR(BgL_arg1131z00_87, BgL_arg1132z00_88); } 
return 
PROCEDURE_ENTRY(BgL_ez00_2)(BgL_ez00_2, BgL_arg1128z00_86, BgL_ez00_2, BEOA);} } } }  else 
{ /* ./Expand/farith.scm 26 */
obj_t BgL_arg1102z00_79;obj_t BgL_arg1103z00_80;
BgL_arg1102z00_79 = 
CAR(BgL_cdrzd2109zd2_71); 
BgL_arg1103z00_80 = 
CDR(BgL_cdrzd2109zd2_71); 
BgL_xz00_66 = BgL_arg1102z00_79; 
BgL_yz00_67 = BgL_arg1103z00_80; 
BgL_tagzd2102zd2_68:
{ /* ./Expand/farith.scm 34 */
obj_t BgL_maxz00_91;
{ /* ./Expand/farith.scm 34 */
obj_t BgL_arg1199z00_112;
BgL_arg1199z00_112 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, 
CNST_TABLE_REF(((long)1)), BEOA); 
BgL_maxz00_91 = 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_arg1199z00_112); } 
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1142z00_92;
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1147z00_93;obj_t BgL_arg1148z00_94;
BgL_arg1147z00_93 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1151z00_95;obj_t BgL_arg1152z00_96;
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1155z00_97;
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1160z00_99;
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1163z00_100;
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1169z00_102;obj_t BgL_arg1171z00_103;
BgL_arg1169z00_102 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1177z00_104;
{ /* ./Expand/farith.scm 35 */
obj_t BgL_arg1180z00_105;
BgL_arg1180z00_105 = 
CAR(BgL_yz00_67); 
BgL_arg1177z00_104 = 
MAKE_PAIR(BgL_arg1180z00_105, BNIL); } 
BgL_arg1171z00_103 = 
MAKE_PAIR(BgL_xz00_66, BgL_arg1177z00_104); } 
BgL_arg1163z00_100 = 
MAKE_PAIR(BgL_arg1169z00_102, BgL_arg1171z00_103); } 
BgL_arg1160z00_99 = 
MAKE_PAIR(BgL_arg1163z00_100, BNIL); } 
BgL_arg1155z00_97 = 
MAKE_PAIR(BgL_maxz00_91, BgL_arg1160z00_99); } 
BgL_arg1151z00_95 = 
MAKE_PAIR(BgL_arg1155z00_97, BNIL); } 
{ /* ./Expand/farith.scm 36 */
obj_t BgL_arg1187z00_107;
{ /* ./Expand/farith.scm 36 */
obj_t BgL_arg1191z00_109;obj_t BgL_arg1192z00_110;
BgL_arg1191z00_109 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Expand/farith.scm 36 */
obj_t BgL_arg1195z00_111;
BgL_arg1195z00_111 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_yz00_67, BNIL); 
BgL_arg1192z00_110 = 
MAKE_PAIR(BgL_maxz00_91, BgL_arg1195z00_111); } 
BgL_arg1187z00_107 = 
MAKE_PAIR(BgL_arg1191z00_109, BgL_arg1192z00_110); } 
BgL_arg1152z00_96 = 
MAKE_PAIR(BgL_arg1187z00_107, BNIL); } 
BgL_arg1148z00_94 = 
MAKE_PAIR(BgL_arg1151z00_95, BgL_arg1152z00_96); } 
BgL_arg1142z00_92 = 
MAKE_PAIR(BgL_arg1147z00_93, BgL_arg1148z00_94); } 
return 
PROCEDURE_ENTRY(BgL_ez00_2)(BgL_ez00_2, BgL_arg1142z00_92, BgL_ez00_2, BEOA);} } } }  else 
{ /* ./Expand/farith.scm 26 */
obj_t BgL_arg1113z00_83;obj_t BgL_arg1114z00_84;
BgL_arg1113z00_83 = 
CAR(BgL_cdrzd2109zd2_71); 
BgL_arg1114z00_84 = 
CDR(BgL_cdrzd2109zd2_71); 
{ 
obj_t BgL_yz00_394;obj_t BgL_xz00_393;
BgL_xz00_393 = BgL_arg1113z00_83; 
BgL_yz00_394 = BgL_arg1114z00_84; 
BgL_yz00_67 = BgL_yz00_394; 
BgL_xz00_66 = BgL_xz00_393; 
goto BgL_tagzd2102zd2_68;} } } }  else 
{ /* ./Expand/farith.scm 26 */
return BFALSE;} } }  else 
{ /* ./Expand/farith.scm 26 */
return BFALSE;} } } } 
}



/* _expand-fmax */
obj_t BGl__expandzd2fmaxzd2zzexpand_farithmetiquez00(obj_t BgL_envz00_293, obj_t BgL_xz00_294, obj_t BgL_ez00_295)
{ AN_OBJECT;
{ /* ./Expand/farith.scm 25 */
return 
BGl_expandzd2fmaxzd2zzexpand_farithmetiquez00(BgL_xz00_294, BgL_ez00_295);} 
}



/* expand-fmin */
BGL_EXPORTED_DEF obj_t BGl_expandzd2fminzd2zzexpand_farithmetiquez00(obj_t BgL_xz00_3, obj_t BgL_ez00_4)
{ AN_OBJECT;
{ /* ./Expand/farith.scm 42 */
{ 
obj_t BgL_xz00_116;obj_t BgL_yz00_117;obj_t BgL_xz00_113;obj_t BgL_yz00_114;
{ /* ./Expand/farith.scm 43 */
bool_t BgL_test1202z00_120;
BgL_test1202z00_120 = 
PAIRP(BgL_xz00_3); 
if(BgL_test1202z00_120)
{ /* ./Expand/farith.scm 43 */
obj_t BgL_cdrzd2165zd2_121;
BgL_cdrzd2165zd2_121 = 
CDR(BgL_xz00_3); 
{ /* ./Expand/farith.scm 43 */
bool_t BgL_test1203z00_122;
BgL_test1203z00_122 = 
PAIRP(BgL_cdrzd2165zd2_121); 
if(BgL_test1203z00_122)
{ /* ./Expand/farith.scm 43 */
obj_t BgL_cdrzd2169zd2_123;
BgL_cdrzd2169zd2_123 = 
CDR(BgL_cdrzd2165zd2_121); 
{ /* ./Expand/farith.scm 43 */
bool_t BgL_test1204z00_124;
BgL_test1204z00_124 = 
PAIRP(BgL_cdrzd2169zd2_123); 
if(BgL_test1204z00_124)
{ /* ./Expand/farith.scm 43 */
bool_t BgL_test1205z00_125;
{ /* ./Expand/farith.scm 43 */
obj_t BgL_auxz00_404;
BgL_auxz00_404 = 
CDR(BgL_cdrzd2169zd2_123); 
BgL_test1205z00_125 = 
NULLP(BgL_auxz00_404); } 
if(BgL_test1205z00_125)
{ /* ./Expand/farith.scm 43 */
obj_t BgL_arg1207z00_126;obj_t BgL_arg1210z00_127;
BgL_arg1207z00_126 = 
CAR(BgL_cdrzd2165zd2_121); 
BgL_arg1210z00_127 = 
CAR(BgL_cdrzd2169zd2_123); 
BgL_xz00_113 = BgL_arg1207z00_126; 
BgL_yz00_114 = BgL_arg1210z00_127; 
{ /* ./Expand/farith.scm 46 */
bool_t BgL_test1239z00_135;
{ /* ./Expand/farith.scm 46 */
bool_t BgL_testz00_410;
if(
INTEGERP(BgL_xz00_113))
{ /* ./Expand/farith.scm 46 */
BgL_testz00_410 = ((bool_t)1)
; }  else 
{ /* ./Expand/farith.scm 46 */
BgL_testz00_410 = 
REALP(BgL_xz00_113)
; } 
if(BgL_testz00_410)
{ /* ./Expand/farith.scm 46 */
if(
INTEGERP(BgL_yz00_114))
{ /* ./Expand/farith.scm 46 */
BgL_test1239z00_135 = ((bool_t)1); }  else 
{ /* ./Expand/farith.scm 46 */
BgL_test1239z00_135 = 
REALP(BgL_yz00_114); } }  else 
{ /* ./Expand/farith.scm 46 */
BgL_test1239z00_135 = ((bool_t)0); } } 
if(BgL_test1239z00_135)
{ /* ./Expand/farith.scm 46 */
{ /* ./Expand/farith.scm 47 */
double BgL_auxz00_418;
{ /* ./Expand/farith.scm 47 */
double BgL_r1z00_258;double BgL_r2z00_259;
BgL_r1z00_258 = 
REAL_TO_DOUBLE(BgL_xz00_113); 
BgL_r2z00_259 = 
REAL_TO_DOUBLE(BgL_yz00_114); 
if(
(BgL_r1z00_258>BgL_r2z00_259))
{ /* ./Expand/farith.scm 47 */
BgL_auxz00_418 = BgL_r2z00_259
; }  else 
{ /* ./Expand/farith.scm 47 */
BgL_auxz00_418 = BgL_r1z00_258
; } } 
return 
DOUBLE_TO_REAL(BgL_auxz00_418);} }  else 
{ /* ./Expand/farith.scm 46 */
{ /* ./Expand/farith.scm 49 */
obj_t BgL_arg1243z00_136;
{ /* ./Expand/farith.scm 49 */
obj_t BgL_arg1246z00_137;obj_t BgL_arg1249z00_138;
BgL_arg1246z00_137 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Expand/farith.scm 49 */
obj_t BgL_arg1252z00_139;
BgL_arg1252z00_139 = 
MAKE_PAIR(BgL_yz00_114, BNIL); 
BgL_arg1249z00_138 = 
MAKE_PAIR(BgL_xz00_113, BgL_arg1252z00_139); } 
BgL_arg1243z00_136 = 
MAKE_PAIR(BgL_arg1246z00_137, BgL_arg1249z00_138); } 
return 
PROCEDURE_ENTRY(BgL_ez00_4)(BgL_ez00_4, BgL_arg1243z00_136, BgL_ez00_4, BEOA);} } } }  else 
{ /* ./Expand/farith.scm 43 */
obj_t BgL_arg1215z00_129;obj_t BgL_arg1216z00_130;
BgL_arg1215z00_129 = 
CAR(BgL_cdrzd2165zd2_121); 
BgL_arg1216z00_130 = 
CDR(BgL_cdrzd2165zd2_121); 
BgL_xz00_116 = BgL_arg1215z00_129; 
BgL_yz00_117 = BgL_arg1216z00_130; 
BgL_tagzd2158zd2_118:
{ /* ./Expand/farith.scm 51 */
obj_t BgL_minz00_141;
{ /* ./Expand/farith.scm 51 */
obj_t BgL_arg1313z00_162;
BgL_arg1313z00_162 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, 
CNST_TABLE_REF(((long)5)), BEOA); 
BgL_minz00_141 = 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_arg1313z00_162); } 
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1259z00_142;
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1265z00_143;obj_t BgL_arg1266z00_144;
BgL_arg1265z00_143 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1270z00_145;obj_t BgL_arg1273z00_146;
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1276z00_147;
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1282z00_149;
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1285z00_150;
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1289z00_152;obj_t BgL_arg1290z00_153;
BgL_arg1289z00_152 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1293z00_154;
{ /* ./Expand/farith.scm 52 */
obj_t BgL_arg1296z00_155;
BgL_arg1296z00_155 = 
CAR(BgL_yz00_117); 
BgL_arg1293z00_154 = 
MAKE_PAIR(BgL_arg1296z00_155, BNIL); } 
BgL_arg1290z00_153 = 
MAKE_PAIR(BgL_xz00_116, BgL_arg1293z00_154); } 
BgL_arg1285z00_150 = 
MAKE_PAIR(BgL_arg1289z00_152, BgL_arg1290z00_153); } 
BgL_arg1282z00_149 = 
MAKE_PAIR(BgL_arg1285z00_150, BNIL); } 
BgL_arg1276z00_147 = 
MAKE_PAIR(BgL_minz00_141, BgL_arg1282z00_149); } 
BgL_arg1270z00_145 = 
MAKE_PAIR(BgL_arg1276z00_147, BNIL); } 
{ /* ./Expand/farith.scm 53 */
obj_t BgL_arg1301z00_157;
{ /* ./Expand/farith.scm 53 */
obj_t BgL_arg1305z00_159;obj_t BgL_arg1306z00_160;
BgL_arg1305z00_159 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Expand/farith.scm 53 */
obj_t BgL_arg1309z00_161;
BgL_arg1309z00_161 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_yz00_117, BNIL); 
BgL_arg1306z00_160 = 
MAKE_PAIR(BgL_minz00_141, BgL_arg1309z00_161); } 
BgL_arg1301z00_157 = 
MAKE_PAIR(BgL_arg1305z00_159, BgL_arg1306z00_160); } 
BgL_arg1273z00_146 = 
MAKE_PAIR(BgL_arg1301z00_157, BNIL); } 
BgL_arg1266z00_144 = 
MAKE_PAIR(BgL_arg1270z00_145, BgL_arg1273z00_146); } 
BgL_arg1259z00_142 = 
MAKE_PAIR(BgL_arg1265z00_143, BgL_arg1266z00_144); } 
return 
PROCEDURE_ENTRY(BgL_ez00_4)(BgL_ez00_4, BgL_arg1259z00_142, BgL_ez00_4, BEOA);} } } }  else 
{ /* ./Expand/farith.scm 43 */
obj_t BgL_arg1227z00_133;obj_t BgL_arg1229z00_134;
BgL_arg1227z00_133 = 
CAR(BgL_cdrzd2165zd2_121); 
BgL_arg1229z00_134 = 
CDR(BgL_cdrzd2165zd2_121); 
{ 
obj_t BgL_yz00_457;obj_t BgL_xz00_456;
BgL_xz00_456 = BgL_arg1227z00_133; 
BgL_yz00_457 = BgL_arg1229z00_134; 
BgL_yz00_117 = BgL_yz00_457; 
BgL_xz00_116 = BgL_xz00_456; 
goto BgL_tagzd2158zd2_118;} } } }  else 
{ /* ./Expand/farith.scm 43 */
return BFALSE;} } }  else 
{ /* ./Expand/farith.scm 43 */
return BFALSE;} } } } 
}



/* _expand-fmin */
obj_t BGl__expandzd2fminzd2zzexpand_farithmetiquez00(obj_t BgL_envz00_296, obj_t BgL_xz00_297, obj_t BgL_ez00_298)
{ AN_OBJECT;
{ /* ./Expand/farith.scm 42 */
return 
BGl_expandzd2fminzd2zzexpand_farithmetiquez00(BgL_xz00_297, BgL_ez00_298);} 
}



/* expand-fatan */
BGL_EXPORTED_DEF obj_t BGl_expandzd2fatanzd2zzexpand_farithmetiquez00(obj_t BgL_xz00_5, obj_t BgL_ez00_6)
{ AN_OBJECT;
{ /* ./Expand/farith.scm 59 */
{ 
obj_t BgL_xz00_165;obj_t BgL_yz00_166;obj_t BgL_xz00_163;
{ /* ./Expand/farith.scm 60 */
bool_t BgL_test1316z00_170;
BgL_test1316z00_170 = 
PAIRP(BgL_xz00_5); 
if(BgL_test1316z00_170)
{ /* ./Expand/farith.scm 60 */
obj_t BgL_cdrzd2221zd2_171;
BgL_cdrzd2221zd2_171 = 
CDR(BgL_xz00_5); 
{ /* ./Expand/farith.scm 60 */
bool_t BgL_test1317z00_172;
BgL_test1317z00_172 = 
PAIRP(BgL_cdrzd2221zd2_171); 
if(BgL_test1317z00_172)
{ /* ./Expand/farith.scm 60 */
bool_t BgL_test1318z00_173;
{ /* ./Expand/farith.scm 60 */
obj_t BgL_auxz00_464;
BgL_auxz00_464 = 
CDR(BgL_cdrzd2221zd2_171); 
BgL_test1318z00_173 = 
NULLP(BgL_auxz00_464); } 
if(BgL_test1318z00_173)
{ /* ./Expand/farith.scm 60 */
obj_t BgL_arg1320z00_174;
BgL_arg1320z00_174 = 
CAR(BgL_cdrzd2221zd2_171); 
BgL_xz00_163 = BgL_arg1320z00_174; 
{ /* ./Expand/farith.scm 62 */
bool_t BgL_test1349z00_183;
if(
INTEGERP(BgL_xz00_163))
{ /* ./Expand/farith.scm 62 */
BgL_test1349z00_183 = ((bool_t)1); }  else 
{ /* ./Expand/farith.scm 62 */
BgL_test1349z00_183 = 
REALP(BgL_xz00_163); } 
if(BgL_test1349z00_183)
{ /* ./Expand/farith.scm 63 */
double BgL_auxz00_473;
{ /* ./Expand/farith.scm 63 */
double BgL_auxz00_474;
BgL_auxz00_474 = 
REAL_TO_DOUBLE(BgL_xz00_163); 
BgL_auxz00_473 = 
atan(BgL_auxz00_474); } 
return 
DOUBLE_TO_REAL(BgL_auxz00_473);}  else 
{ /* ./Expand/farith.scm 64 */
obj_t BgL_arg1352z00_184;
{ /* ./Expand/farith.scm 64 */
obj_t BgL_arg1355z00_185;obj_t BgL_arg1356z00_186;
BgL_arg1355z00_185 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg1356z00_186 = 
MAKE_PAIR(BgL_xz00_163, BNIL); 
BgL_arg1352z00_184 = 
MAKE_PAIR(BgL_arg1355z00_185, BgL_arg1356z00_186); } 
return 
PROCEDURE_ENTRY(BgL_ez00_6)(BgL_ez00_6, BgL_arg1352z00_184, BgL_ez00_6, BEOA);} } }  else 
{ /* ./Expand/farith.scm 60 */
obj_t BgL_cdrzd2237zd2_176;
BgL_cdrzd2237zd2_176 = 
CDR(BgL_cdrzd2221zd2_171); 
{ /* ./Expand/farith.scm 60 */
bool_t BgL_test1323z00_177;
BgL_test1323z00_177 = 
PAIRP(BgL_cdrzd2237zd2_176); 
if(BgL_test1323z00_177)
{ /* ./Expand/farith.scm 60 */
bool_t BgL_test1324z00_178;
{ /* ./Expand/farith.scm 60 */
obj_t BgL_auxz00_486;
BgL_auxz00_486 = 
CDR(BgL_cdrzd2237zd2_176); 
BgL_test1324z00_178 = 
NULLP(BgL_auxz00_486); } 
if(BgL_test1324z00_178)
{ /* ./Expand/farith.scm 60 */
obj_t BgL_arg1326z00_179;obj_t BgL_arg1327z00_180;
BgL_arg1326z00_179 = 
CAR(BgL_cdrzd2221zd2_171); 
BgL_arg1327z00_180 = 
CAR(BgL_cdrzd2237zd2_176); 
BgL_xz00_165 = BgL_arg1326z00_179; 
BgL_yz00_166 = BgL_arg1327z00_180; 
{ /* ./Expand/farith.scm 66 */
bool_t BgL_test1360z00_187;
{ /* ./Expand/farith.scm 66 */
bool_t BgL_testz00_492;
if(
INTEGERP(BgL_xz00_165))
{ /* ./Expand/farith.scm 66 */
BgL_testz00_492 = ((bool_t)1)
; }  else 
{ /* ./Expand/farith.scm 66 */
BgL_testz00_492 = 
REALP(BgL_xz00_165)
; } 
if(BgL_testz00_492)
{ /* ./Expand/farith.scm 66 */
if(
INTEGERP(BgL_yz00_166))
{ /* ./Expand/farith.scm 66 */
BgL_test1360z00_187 = ((bool_t)1); }  else 
{ /* ./Expand/farith.scm 66 */
BgL_test1360z00_187 = 
REALP(BgL_yz00_166); } }  else 
{ /* ./Expand/farith.scm 66 */
BgL_test1360z00_187 = ((bool_t)0); } } 
if(BgL_test1360z00_187)
{ /* ./Expand/farith.scm 67 */
double BgL_xz00_288;double BgL_yz00_289;
BgL_xz00_288 = 
REAL_TO_DOUBLE(BgL_xz00_165); 
BgL_yz00_289 = 
REAL_TO_DOUBLE(BgL_yz00_166); 
{ /* ./Expand/farith.scm 67 */
double BgL_auxz00_502;
BgL_auxz00_502 = 
atan2(BgL_xz00_288, BgL_yz00_289); 
return 
DOUBLE_TO_REAL(BgL_auxz00_502);} }  else 
{ /* ./Expand/farith.scm 68 */
obj_t BgL_arg1363z00_188;
{ /* ./Expand/farith.scm 68 */
obj_t BgL_arg1366z00_189;obj_t BgL_arg1368z00_190;
BgL_arg1366z00_189 = 
CNST_TABLE_REF(((long)8)); 
{ /* ./Expand/farith.scm 68 */
obj_t BgL_arg1371z00_191;
BgL_arg1371z00_191 = 
MAKE_PAIR(BgL_yz00_166, BNIL); 
BgL_arg1368z00_190 = 
MAKE_PAIR(BgL_xz00_165, BgL_arg1371z00_191); } 
BgL_arg1363z00_188 = 
MAKE_PAIR(BgL_arg1366z00_189, BgL_arg1368z00_190); } 
return 
PROCEDURE_ENTRY(BgL_ez00_6)(BgL_ez00_6, BgL_arg1363z00_188, BgL_ez00_6, BEOA);} } }  else 
{ /* ./Expand/farith.scm 60 */
BgL_tagzd2215zd2_168:
FAILURE(BNIL,BGl_string1417z00zzexpand_farithmetiquez00,BgL_xz00_5);} }  else 
{ /* ./Expand/farith.scm 60 */
goto BgL_tagzd2215zd2_168;} } } }  else 
{ /* ./Expand/farith.scm 60 */
goto BgL_tagzd2215zd2_168;} } }  else 
{ /* ./Expand/farith.scm 60 */
goto BgL_tagzd2215zd2_168;} } } } 
}



/* _expand-fatan */
obj_t BGl__expandzd2fatanzd2zzexpand_farithmetiquez00(obj_t BgL_envz00_299, obj_t BgL_xz00_300, obj_t BgL_ez00_301)
{ AN_OBJECT;
{ /* ./Expand/farith.scm 59 */
return 
BGl_expandzd2fatanzd2zzexpand_farithmetiquez00(BgL_xz00_300, BgL_ez00_301);} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzexpand_farithmetiquez00()
{ AN_OBJECT;
{ /* ./Expand/farith.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzexpand_farithmetiquez00()
{ AN_OBJECT;
{ /* ./Expand/farith.scm 15 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "expand_farithmetique"); 
return 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "expand_farithmetique");} 
}

