/*===========================================================================*/
/*   (Jas/lib.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 Jas/lib.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>

BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzjas_libz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t make_string(int, unsigned char);
BGL_IMPORT obj_t bgl_double_to_ieee_string(double);
BGL_EXPORTED_DECL obj_t BGl_u2z00zzjas_libz00(int);
BGL_EXPORTED_DECL obj_t BGl_u4z00zzjas_libz00(int);
static obj_t BGl__u2z00zzjas_libz00(obj_t, obj_t);
static obj_t BGl__u4z00zzjas_libz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_w2z00zzjas_libz00(int);
BGL_EXPORTED_DECL obj_t BGl_w4z00zzjas_libz00(long);
static obj_t BGl__w2z00zzjas_libz00(obj_t, obj_t);
static obj_t BGl__w4z00zzjas_libz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_stringzd2ze3utf8z31zzjas_libz00(obj_t);
static obj_t BGl_stringzd2ze3shortlistz31zzjas_libz00(obj_t);
static obj_t BGl_collectz00zzjas_libz00(obj_t, int, long);
static obj_t BGl__stringzd2ze3utf8z31zzjas_libz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzjas_libz00 = BUNSPEC;
static long BGl_producezd2utf8zd21z00zzjas_libz00(obj_t, long, long);
static obj_t BGl_producezd2utf8zd2zzjas_libz00(obj_t, obj_t);
static long BGl_utf8zd2lengthzd2zzjas_libz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_f2z00zzjas_libz00(float);
BGL_EXPORTED_DECL obj_t BGl_f4z00zzjas_libz00(double);
static obj_t BGl_libraryzd2moduleszd2initz00zzjas_libz00();
static obj_t BGl__f2z00zzjas_libz00(obj_t, obj_t);
static obj_t BGl__f4z00zzjas_libz00(obj_t, obj_t);
static long BGl_utf8zd2length1zd2zzjas_libz00(long);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_u4zd2envzd2zzjas_libz00, BgL_bgl__u4za700za7za7jas_libza7001380z00, BGl__u4z00zzjas_libz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_w2zd2envzd2zzjas_libz00, BgL_bgl__w2za700za7za7jas_libza7001381z00, BGl__w2z00zzjas_libz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_f4zd2envzd2zzjas_libz00, BgL_bgl__f4za700za7za7jas_libza7001382z00, BGl__f4z00zzjas_libz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_u2zd2envzd2zzjas_libz00, BgL_bgl__u2za700za7za7jas_libza7001383z00, BGl__u2z00zzjas_libz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_f2zd2envzd2zzjas_libz00, BgL_bgl__f2za700za7za7jas_libza7001384z00, BGl__f2z00zzjas_libz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_stringzd2ze3utf8zd2envze3zzjas_libz00, BgL_bgl__stringza7d2za7e3utf8za731za7za7jas_libza7001385z00, BGl__stringzd2ze3utf8z31zzjas_libz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_w4zd2envzd2zzjas_libz00, BgL_bgl__w4za700za7za7jas_libza7001386z00, BGl__w4z00zzjas_libz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzjas_libz00(long BgL_checksumz00_429, char * BgL_fromz00_430)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzjas_libz00))
{ 
BGl_requirezd2initializa7ationz75zzjas_libz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzjas_libz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzjas_libz00()
{ AN_OBJECT;
{ /* ./Jas/lib.scm 1 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "jas_lib"); 
return BUNSPEC;} 
}



/* u2 */
BGL_EXPORTED_DEF obj_t BGl_u2z00zzjas_libz00(int BgL_nz00_1)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 11 */
{ /* ./Jas/lib.scm 12 */
long BgL_arg1004z00_21;long BgL_arg1005z00_22;
{ /* ./Jas/lib.scm 12 */
long BgL_auxz00_436;
{ /* ./Jas/lib.scm 12 */
int BgL_auxz00_439;long BgL_auxz00_437;
BgL_auxz00_439 = 
(int)(((long)8)); 
BgL_auxz00_437 = 
(long)(BgL_nz00_1); 
BgL_auxz00_436 = 
(BgL_auxz00_437 >> BgL_auxz00_439); } 
BgL_arg1004z00_21 = 
(BgL_auxz00_436 & ((long)255)); } 
{ /* ./Jas/lib.scm 13 */
long BgL_auxz00_443;
BgL_auxz00_443 = 
(long)(BgL_nz00_1); 
BgL_arg1005z00_22 = 
(BgL_auxz00_443 & ((long)255)); } 
{ /* ./Jas/lib.scm 12 */
obj_t BgL_list1007z00_23;
{ /* ./Jas/lib.scm 12 */
obj_t BgL_arg1009z00_24;
{ /* ./Jas/lib.scm 12 */
obj_t BgL_auxz00_446;
BgL_auxz00_446 = 
BINT(BgL_arg1005z00_22); 
BgL_arg1009z00_24 = 
MAKE_PAIR(BgL_auxz00_446, BNIL); } 
{ /* ./Jas/lib.scm 12 */
obj_t BgL_auxz00_449;
BgL_auxz00_449 = 
BINT(BgL_arg1004z00_21); 
BgL_list1007z00_23 = 
MAKE_PAIR(BgL_auxz00_449, BgL_arg1009z00_24); } } 
return BgL_list1007z00_23;} } } 
}



/* _u2 */
obj_t BGl__u2z00zzjas_libz00(obj_t BgL_envz00_401, obj_t BgL_nz00_402)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 11 */
return 
BGl_u2z00zzjas_libz00(
CINT(BgL_nz00_402));} 
}



/* u4 */
BGL_EXPORTED_DEF obj_t BGl_u4z00zzjas_libz00(int BgL_nz00_2)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 15 */
{ /* ./Jas/lib.scm 16 */
long BgL_arg1019z00_27;long BgL_arg1020z00_28;long BgL_arg1021z00_29;long BgL_arg1022z00_30;
{ /* ./Jas/lib.scm 16 */
long BgL_auxz00_454;
{ /* ./Jas/lib.scm 16 */
int BgL_auxz00_457;long BgL_auxz00_455;
BgL_auxz00_457 = 
(int)(((long)24)); 
BgL_auxz00_455 = 
(long)(BgL_nz00_2); 
BgL_auxz00_454 = 
(BgL_auxz00_455 >> BgL_auxz00_457); } 
BgL_arg1019z00_27 = 
(BgL_auxz00_454 & ((long)255)); } 
{ /* ./Jas/lib.scm 17 */
long BgL_auxz00_461;
{ /* ./Jas/lib.scm 17 */
int BgL_auxz00_464;long BgL_auxz00_462;
BgL_auxz00_464 = 
(int)(((long)16)); 
BgL_auxz00_462 = 
(long)(BgL_nz00_2); 
BgL_auxz00_461 = 
(BgL_auxz00_462 >> BgL_auxz00_464); } 
BgL_arg1020z00_28 = 
(BgL_auxz00_461 & ((long)255)); } 
{ /* ./Jas/lib.scm 18 */
long BgL_auxz00_468;
{ /* ./Jas/lib.scm 18 */
int BgL_auxz00_471;long BgL_auxz00_469;
BgL_auxz00_471 = 
(int)(((long)8)); 
BgL_auxz00_469 = 
(long)(BgL_nz00_2); 
BgL_auxz00_468 = 
(BgL_auxz00_469 >> BgL_auxz00_471); } 
BgL_arg1021z00_29 = 
(BgL_auxz00_468 & ((long)255)); } 
{ /* ./Jas/lib.scm 19 */
long BgL_auxz00_475;
BgL_auxz00_475 = 
(long)(BgL_nz00_2); 
BgL_arg1022z00_30 = 
(BgL_auxz00_475 & ((long)255)); } 
{ /* ./Jas/lib.scm 16 */
obj_t BgL_list1024z00_31;
{ /* ./Jas/lib.scm 16 */
obj_t BgL_arg1026z00_32;
{ /* ./Jas/lib.scm 16 */
obj_t BgL_arg1029z00_33;
{ /* ./Jas/lib.scm 16 */
obj_t BgL_arg1032z00_34;
{ /* ./Jas/lib.scm 16 */
obj_t BgL_auxz00_478;
BgL_auxz00_478 = 
BINT(BgL_arg1022z00_30); 
BgL_arg1032z00_34 = 
MAKE_PAIR(BgL_auxz00_478, BNIL); } 
{ /* ./Jas/lib.scm 16 */
obj_t BgL_auxz00_481;
BgL_auxz00_481 = 
BINT(BgL_arg1021z00_29); 
BgL_arg1029z00_33 = 
MAKE_PAIR(BgL_auxz00_481, BgL_arg1032z00_34); } } 
{ /* ./Jas/lib.scm 16 */
obj_t BgL_auxz00_484;
BgL_auxz00_484 = 
BINT(BgL_arg1020z00_28); 
BgL_arg1026z00_32 = 
MAKE_PAIR(BgL_auxz00_484, BgL_arg1029z00_33); } } 
{ /* ./Jas/lib.scm 16 */
obj_t BgL_auxz00_487;
BgL_auxz00_487 = 
BINT(BgL_arg1019z00_27); 
BgL_list1024z00_31 = 
MAKE_PAIR(BgL_auxz00_487, BgL_arg1026z00_32); } } 
return BgL_list1024z00_31;} } } 
}



/* _u4 */
obj_t BGl__u4z00zzjas_libz00(obj_t BgL_envz00_403, obj_t BgL_nz00_404)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 15 */
return 
BGl_u4z00zzjas_libz00(
CINT(BgL_nz00_404));} 
}



/* w2 */
BGL_EXPORTED_DEF obj_t BGl_w2z00zzjas_libz00(int BgL_nz00_3)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 21 */
{ /* ./Jas/lib.scm 22 */
long BgL_arg1052z00_41;long BgL_arg1053z00_42;
{ /* ./Jas/lib.scm 22 */
long BgL_auxz00_492;
{ /* ./Jas/lib.scm 22 */
int BgL_auxz00_495;long BgL_auxz00_493;
BgL_auxz00_495 = 
(int)(((long)16)); 
BgL_auxz00_493 = 
(long)(BgL_nz00_3); 
BgL_auxz00_492 = 
(BgL_auxz00_493 >> BgL_auxz00_495); } 
BgL_arg1052z00_41 = 
(BgL_auxz00_492 & ((long)65535)); } 
{ /* ./Jas/lib.scm 23 */
long BgL_auxz00_499;
BgL_auxz00_499 = 
(long)(BgL_nz00_3); 
BgL_arg1053z00_42 = 
(BgL_auxz00_499 & ((long)65535)); } 
{ /* ./Jas/lib.scm 22 */
obj_t BgL_list1055z00_43;
{ /* ./Jas/lib.scm 22 */
obj_t BgL_arg1058z00_44;
{ /* ./Jas/lib.scm 22 */
obj_t BgL_auxz00_502;
BgL_auxz00_502 = 
BINT(BgL_arg1053z00_42); 
BgL_arg1058z00_44 = 
MAKE_PAIR(BgL_auxz00_502, BNIL); } 
{ /* ./Jas/lib.scm 22 */
obj_t BgL_auxz00_505;
BgL_auxz00_505 = 
BINT(BgL_arg1052z00_41); 
BgL_list1055z00_43 = 
MAKE_PAIR(BgL_auxz00_505, BgL_arg1058z00_44); } } 
return BgL_list1055z00_43;} } } 
}



/* _w2 */
obj_t BGl__w2z00zzjas_libz00(obj_t BgL_envz00_405, obj_t BgL_nz00_406)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 21 */
return 
BGl_w2z00zzjas_libz00(
CINT(BgL_nz00_406));} 
}



/* w4 */
BGL_EXPORTED_DEF obj_t BGl_w4z00zzjas_libz00(long BgL_nz00_4)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 25 */
{ /* ./Jas/lib.scm 27 */
long BgL_arg1075z00_47;long BgL_arg1076z00_48;long BgL_arg1079z00_49;long BgL_arg1080z00_50;
{ /* ./Jas/lib.scm 27 */
long BgL_auxz00_510;
{ /* ./Jas/lib.scm 27 */
int BgL_auxz00_519;long BgL_auxz00_511;
BgL_auxz00_519 = 
(int)(((long)16)); 
{ /* ./Jas/lib.scm 27 */
int BgL_auxz00_516;long BgL_auxz00_512;
BgL_auxz00_516 = 
(int)(((long)16)); 
{ /* ./Jas/lib.scm 27 */
int BgL_auxz00_513;
BgL_auxz00_513 = 
(int)(((long)16)); 
BgL_auxz00_512 = 
(BgL_nz00_4 >> BgL_auxz00_513); } 
BgL_auxz00_511 = 
(BgL_auxz00_512 >> BgL_auxz00_516); } 
BgL_auxz00_510 = 
(BgL_auxz00_511 >> BgL_auxz00_519); } 
BgL_arg1075z00_47 = 
(BgL_auxz00_510 & ((long)65535)); } 
{ /* ./Jas/lib.scm 28 */
long BgL_auxz00_523;
{ /* ./Jas/lib.scm 28 */
int BgL_auxz00_528;long BgL_auxz00_524;
BgL_auxz00_528 = 
(int)(((long)16)); 
{ /* ./Jas/lib.scm 28 */
int BgL_auxz00_525;
BgL_auxz00_525 = 
(int)(((long)16)); 
BgL_auxz00_524 = 
(BgL_nz00_4 >> BgL_auxz00_525); } 
BgL_auxz00_523 = 
(BgL_auxz00_524 >> BgL_auxz00_528); } 
BgL_arg1076z00_48 = 
(BgL_auxz00_523 & ((long)65535)); } 
{ /* ./Jas/lib.scm 29 */
long BgL_auxz00_532;
{ /* ./Jas/lib.scm 29 */
int BgL_auxz00_533;
BgL_auxz00_533 = 
(int)(((long)16)); 
BgL_auxz00_532 = 
(BgL_nz00_4 >> BgL_auxz00_533); } 
BgL_arg1079z00_49 = 
(BgL_auxz00_532 & ((long)65535)); } 
BgL_arg1080z00_50 = 
(BgL_nz00_4 & ((long)65535)); 
{ /* ./Jas/lib.scm 27 */
obj_t BgL_list1082z00_51;
{ /* ./Jas/lib.scm 27 */
obj_t BgL_arg1084z00_52;
{ /* ./Jas/lib.scm 27 */
obj_t BgL_arg1087z00_53;
{ /* ./Jas/lib.scm 27 */
obj_t BgL_arg1090z00_54;
{ /* ./Jas/lib.scm 27 */
obj_t BgL_auxz00_538;
BgL_auxz00_538 = 
BINT(BgL_arg1080z00_50); 
BgL_arg1090z00_54 = 
MAKE_PAIR(BgL_auxz00_538, BNIL); } 
{ /* ./Jas/lib.scm 27 */
obj_t BgL_auxz00_541;
BgL_auxz00_541 = 
BINT(BgL_arg1079z00_49); 
BgL_arg1087z00_53 = 
MAKE_PAIR(BgL_auxz00_541, BgL_arg1090z00_54); } } 
{ /* ./Jas/lib.scm 27 */
obj_t BgL_auxz00_544;
BgL_auxz00_544 = 
BINT(BgL_arg1076z00_48); 
BgL_arg1084z00_52 = 
MAKE_PAIR(BgL_auxz00_544, BgL_arg1087z00_53); } } 
{ /* ./Jas/lib.scm 27 */
obj_t BgL_auxz00_547;
BgL_auxz00_547 = 
BINT(BgL_arg1075z00_47); 
BgL_list1082z00_51 = 
MAKE_PAIR(BgL_auxz00_547, BgL_arg1084z00_52); } } 
return BgL_list1082z00_51;} } } 
}



/* _w4 */
obj_t BGl__w4z00zzjas_libz00(obj_t BgL_envz00_407, obj_t BgL_nz00_408)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 25 */
return 
BGl_w4z00zzjas_libz00(
(long)CINT(BgL_nz00_408));} 
}



/* f2 */
BGL_EXPORTED_DEF obj_t BGl_f2z00zzjas_libz00(float BgL_nz00_5)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 32 */
{ /* ./Jas/lib.scm 33 */
obj_t BgL_arg1124z00_201;
{ /* ./Jas/lib.scm 33 */
double BgL_auxz00_552;
BgL_auxz00_552 = 
(double)(BgL_nz00_5); 
BgL_arg1124z00_201 = 
bgl_double_to_ieee_string(BgL_auxz00_552); } 
return 
BGl_stringzd2ze3shortlistz31zzjas_libz00(BgL_arg1124z00_201);} } 
}



/* _f2 */
obj_t BGl__f2z00zzjas_libz00(obj_t BgL_envz00_409, obj_t BgL_nz00_410)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 32 */
return 
BGl_f2z00zzjas_libz00(
REAL_TO_FLOAT(BgL_nz00_410));} 
}



/* f4 */
BGL_EXPORTED_DEF obj_t BGl_f4z00zzjas_libz00(double BgL_nz00_6)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 35 */
{ /* ./Jas/lib.scm 36 */
obj_t BgL_arg1128z00_203;
BgL_arg1128z00_203 = 
bgl_double_to_ieee_string(BgL_nz00_6); 
return 
BGl_stringzd2ze3shortlistz31zzjas_libz00(BgL_arg1128z00_203);} } 
}



/* _f4 */
obj_t BGl__f4z00zzjas_libz00(obj_t BgL_envz00_411, obj_t BgL_nz00_412)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 35 */
return 
BGl_f4z00zzjas_libz00(
REAL_TO_DOUBLE(BgL_nz00_412));} 
}



/* string->shortlist */
obj_t BGl_stringzd2ze3shortlistz31zzjas_libz00(obj_t BgL_sz00_7)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 38 */
{ /* ./Jas/lib.scm 39 */
int BgL_nz00_69;
BgL_nz00_69 = 
STRING_LENGTH(BgL_sz00_7); 
return 
BGl_collectz00zzjas_libz00(BgL_sz00_7, BgL_nz00_69, ((long)0));} } 
}



/* collect */
obj_t BGl_collectz00zzjas_libz00(obj_t BgL_sz00_416, int BgL_nz00_415, long BgL_iz00_71)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 45 */
{ /* ./Jas/lib.scm 41 */
bool_t BgL_test1133z00_73;
{ /* ./Jas/lib.scm 41 */
long BgL_auxz00_564;
BgL_auxz00_564 = 
(long)(BgL_nz00_415); 
BgL_test1133z00_73 = 
(BgL_iz00_71==BgL_auxz00_564); } 
if(BgL_test1133z00_73)
{ /* ./Jas/lib.scm 41 */
return BNIL;}  else 
{ /* ./Jas/lib.scm 43 */
long BgL_arg1135z00_74;obj_t BgL_arg1136z00_75;
{ /* ./Jas/lib.scm 43 */
long BgL_auxz00_578;long BgL_auxz00_568;
{ /* ./Jas/lib.scm 44 */
unsigned char BgL_auxz00_579;
{ /* ./Jas/lib.scm 44 */
int BgL_auxz00_580;
{ /* ./Jas/lib.scm 44 */
long BgL_auxz00_581;
BgL_auxz00_581 = 
(BgL_iz00_71+((long)1)); 
BgL_auxz00_580 = 
(int)(BgL_auxz00_581); } 
BgL_auxz00_579 = 
STRING_REF(BgL_sz00_416, BgL_auxz00_580); } 
BgL_auxz00_578 = 
(BgL_auxz00_579); } 
{ /* ./Jas/lib.scm 43 */
int BgL_auxz00_575;long BgL_auxz00_569;
BgL_auxz00_575 = 
(int)(((long)8)); 
{ /* ./Jas/lib.scm 43 */
unsigned char BgL_auxz00_570;
{ /* ./Jas/lib.scm 43 */
int BgL_auxz00_571;
BgL_auxz00_571 = 
(int)(BgL_iz00_71); 
BgL_auxz00_570 = 
STRING_REF(BgL_sz00_416, BgL_auxz00_571); } 
BgL_auxz00_569 = 
(BgL_auxz00_570); } 
BgL_auxz00_568 = 
(BgL_auxz00_569 << BgL_auxz00_575); } 
BgL_arg1135z00_74 = 
(BgL_auxz00_568 | BgL_auxz00_578); } 
{ /* ./Jas/lib.scm 45 */
long BgL_arg1162z00_83;
BgL_arg1162z00_83 = 
(BgL_iz00_71+((long)2)); 
BgL_arg1136z00_75 = 
BGl_collectz00zzjas_libz00(BgL_sz00_416, BgL_nz00_415, BgL_arg1162z00_83); } 
{ /* ./Jas/lib.scm 43 */
obj_t BgL_auxz00_589;
BgL_auxz00_589 = 
BINT(BgL_arg1135z00_74); 
return 
MAKE_PAIR(BgL_auxz00_589, BgL_arg1136z00_75);} } } } 
}



/* string->utf8 */
BGL_EXPORTED_DEF obj_t BGl_stringzd2ze3utf8z31zzjas_libz00(obj_t BgL_sz00_8)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 48 */
{ /* ./Jas/lib.scm 49 */
obj_t BgL_arg1169z00_85;
{ /* ./Jas/lib.scm 49 */
long BgL_arg1172z00_86;
BgL_arg1172z00_86 = 
BGl_utf8zd2lengthzd2zzjas_libz00(BgL_sz00_8); 
{ /* ./Jas/lib.scm 49 */
obj_t BgL_res1307z00_228;
{ /* ./Jas/lib.scm 49 */
int BgL_kz00_222;
BgL_kz00_222 = 
(int)(BgL_arg1172z00_86); 
BgL_res1307z00_228 = 
make_string(BgL_kz00_222, ((unsigned char)' ')); } 
BgL_arg1169z00_85 = BgL_res1307z00_228; } } 
return 
BGl_producezd2utf8zd2zzjas_libz00(BgL_sz00_8, BgL_arg1169z00_85);} } 
}



/* _string->utf8 */
obj_t BGl__stringzd2ze3utf8z31zzjas_libz00(obj_t BgL_envz00_413, obj_t BgL_sz00_414)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 48 */
return 
BGl_stringzd2ze3utf8z31zzjas_libz00(BgL_sz00_414);} 
}



/* utf8-length */
long BGl_utf8zd2lengthzd2zzjas_libz00(obj_t BgL_sz00_14)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 57 */
{ /* ./Jas/lib.scm 58 */
int BgL_nz00_90;
BgL_nz00_90 = 
STRING_LENGTH(BgL_sz00_14); 
{ 
obj_t BgL_sz00_92;long BgL_iz00_93;long BgL_rz00_94;
BgL_sz00_92 = BgL_sz00_14; 
BgL_iz00_93 = ((long)0); 
BgL_rz00_94 = ((long)0); 
BgL_zc3anonymousza31186ze3z83_95:
{ /* ./Jas/lib.scm 60 */
bool_t BgL_testz00_598;
{ /* ./Jas/lib.scm 60 */
long BgL_auxz00_599;
BgL_auxz00_599 = 
(long)(BgL_nz00_90); 
BgL_testz00_598 = 
(BgL_iz00_93==BgL_auxz00_599); } 
if(BgL_testz00_598)
{ /* ./Jas/lib.scm 60 */
return BgL_rz00_94;}  else 
{ 
long BgL_rz00_604;long BgL_iz00_602;
BgL_iz00_602 = 
(BgL_iz00_93+((long)1)); 
{ /* ./Jas/lib.scm 62 */
long BgL_auxz00_605;
{ /* ./Jas/lib.scm 62 */
long BgL_auxz00_606;
{ /* ./Jas/lib.scm 62 */
unsigned char BgL_auxz00_607;
{ /* ./Jas/lib.scm 62 */
int BgL_auxz00_608;
BgL_auxz00_608 = 
(int)(BgL_iz00_93); 
BgL_auxz00_607 = 
STRING_REF(BgL_sz00_92, BgL_auxz00_608); } 
BgL_auxz00_606 = 
(BgL_auxz00_607); } 
BgL_auxz00_605 = 
BGl_utf8zd2length1zd2zzjas_libz00(BgL_auxz00_606); } 
BgL_rz00_604 = 
(BgL_rz00_94+BgL_auxz00_605); } 
BgL_rz00_94 = BgL_rz00_604; 
BgL_iz00_93 = BgL_iz00_602; 
goto BgL_zc3anonymousza31186ze3z83_95;} } } } } 
}



/* utf8-length1 */
long BGl_utf8zd2length1zd2zzjas_libz00(long BgL_cnz00_15)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 65 */
if(
(BgL_cnz00_15==((long)0)))
{ /* ./Jas/lib.scm 67 */
return ((long)2);}  else 
{ /* ./Jas/lib.scm 67 */
if(
(BgL_cnz00_15<((long)128)))
{ /* ./Jas/lib.scm 68 */
return ((long)1);}  else 
{ /* ./Jas/lib.scm 68 */
if(
(BgL_cnz00_15<((long)2048)))
{ /* ./Jas/lib.scm 69 */
return ((long)2);}  else 
{ /* ./Jas/lib.scm 69 */
return ((long)3);} } } } 
}



/* produce-utf8 */
obj_t BGl_producezd2utf8zd2zzjas_libz00(obj_t BgL_sz00_16, obj_t BgL_s8z00_17)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 72 */
{ /* ./Jas/lib.scm 73 */
int BgL_nz00_105;
BgL_nz00_105 = 
STRING_LENGTH(BgL_sz00_16); 
{ 
long BgL_iz00_107;long BgL_jz00_108;
BgL_iz00_107 = ((long)0); 
BgL_jz00_108 = ((long)0); 
BgL_zc3anonymousza31210ze3z83_109:
{ /* ./Jas/lib.scm 75 */
bool_t BgL_test1211z00_110;
{ /* ./Jas/lib.scm 75 */
long BgL_auxz00_621;
BgL_auxz00_621 = 
(long)(BgL_nz00_105); 
BgL_test1211z00_110 = 
(BgL_iz00_107==BgL_auxz00_621); } 
if(BgL_test1211z00_110)
{ /* ./Jas/lib.scm 75 */
return BgL_s8z00_17;}  else 
{ /* ./Jas/lib.scm 77 */
long BgL_arg1213z00_111;long BgL_arg1214z00_112;
BgL_arg1213z00_111 = 
(BgL_iz00_107+((long)1)); 
{ /* ./Jas/lib.scm 77 */
long BgL_arg1218z00_113;
{ /* ./Jas/lib.scm 77 */
long BgL_arg1222z00_114;
{ /* ./Jas/lib.scm 77 */
unsigned char BgL_auxz00_626;
{ /* ./Jas/lib.scm 77 */
int BgL_auxz00_627;
BgL_auxz00_627 = 
(int)(BgL_iz00_107); 
BgL_auxz00_626 = 
STRING_REF(BgL_sz00_16, BgL_auxz00_627); } 
BgL_arg1222z00_114 = 
(BgL_auxz00_626); } 
BgL_arg1218z00_113 = 
BGl_producezd2utf8zd21z00zzjas_libz00(BgL_s8z00_17, BgL_jz00_108, BgL_arg1222z00_114); } 
BgL_arg1214z00_112 = 
(BgL_jz00_108+BgL_arg1218z00_113); } 
{ 
long BgL_jz00_634;long BgL_iz00_633;
BgL_iz00_633 = BgL_arg1213z00_111; 
BgL_jz00_634 = BgL_arg1214z00_112; 
BgL_jz00_108 = BgL_jz00_634; 
BgL_iz00_107 = BgL_iz00_633; 
goto BgL_zc3anonymousza31210ze3z83_109;} } } } } } 
}



/* produce-utf8-1 */
long BGl_producezd2utf8zd21z00zzjas_libz00(obj_t BgL_s8z00_18, long BgL_jz00_19, long BgL_cnz00_20)
{ AN_OBJECT;
{ /* ./Jas/lib.scm 80 */
{ /* ./Jas/lib.scm 84 */
bool_t BgL_test1227z00_117;
BgL_test1227z00_117 = 
(BgL_cnz00_20==((long)0)); 
if(BgL_test1227z00_117)
{ /* ./Jas/lib.scm 84 */
{ /* ./Jas/lib.scm 85 */
long BgL_arg1300z00_266;
BgL_arg1300z00_266 = 
(BgL_jz00_19+((long)0)); 
{ /* ./Jas/lib.scm 85 */
unsigned char BgL_arg1182z00_272;
BgL_arg1182z00_272 = 
(((long)192)); 
{ /* ./Jas/lib.scm 85 */
int BgL_kz00_275;
BgL_kz00_275 = 
(int)(BgL_arg1300z00_266); 
STRING_SET(BgL_s8z00_18, BgL_kz00_275, BgL_arg1182z00_272); } } } 
{ /* ./Jas/lib.scm 86 */
long BgL_arg1300z00_279;
BgL_arg1300z00_279 = 
(BgL_jz00_19+((long)1)); 
{ /* ./Jas/lib.scm 86 */
unsigned char BgL_arg1182z00_285;
BgL_arg1182z00_285 = 
(((long)128)); 
{ /* ./Jas/lib.scm 86 */
int BgL_kz00_288;
BgL_kz00_288 = 
(int)(BgL_arg1300z00_279); 
STRING_SET(BgL_s8z00_18, BgL_kz00_288, BgL_arg1182z00_285); } } } 
return ((long)2);}  else 
{ /* ./Jas/lib.scm 88 */
bool_t BgL_test1230z00_118;
BgL_test1230z00_118 = 
(BgL_cnz00_20<((long)128)); 
if(BgL_test1230z00_118)
{ /* ./Jas/lib.scm 88 */
{ /* ./Jas/lib.scm 89 */
long BgL_arg1300z00_292;
BgL_arg1300z00_292 = 
(BgL_jz00_19+((long)0)); 
{ /* ./Jas/lib.scm 89 */
unsigned char BgL_arg1182z00_298;
BgL_arg1182z00_298 = 
(BgL_cnz00_20); 
{ /* ./Jas/lib.scm 89 */
int BgL_kz00_301;
BgL_kz00_301 = 
(int)(BgL_arg1300z00_292); 
STRING_SET(BgL_s8z00_18, BgL_kz00_301, BgL_arg1182z00_298); } } } 
return ((long)1);}  else 
{ /* ./Jas/lib.scm 91 */
bool_t BgL_test1232z00_119;
BgL_test1232z00_119 = 
(BgL_cnz00_20<((long)2048)); 
if(BgL_test1232z00_119)
{ /* ./Jas/lib.scm 91 */
{ /* ./Jas/lib.scm 92 */
long BgL_arg1235z00_121;
{ /* ./Jas/lib.scm 92 */
long BgL_auxz00_653;
{ /* ./Jas/lib.scm 92 */
int BgL_auxz00_654;
BgL_auxz00_654 = 
(int)(((long)6)); 
BgL_auxz00_653 = 
(BgL_cnz00_20 >> BgL_auxz00_654); } 
BgL_arg1235z00_121 = 
(((long)192) | BgL_auxz00_653); } 
{ /* ./Jas/lib.scm 92 */
long BgL_arg1300z00_309;
BgL_arg1300z00_309 = 
(BgL_jz00_19+((long)0)); 
{ /* ./Jas/lib.scm 92 */
unsigned char BgL_arg1182z00_315;
BgL_arg1182z00_315 = 
(BgL_arg1235z00_121); 
{ /* ./Jas/lib.scm 92 */
int BgL_kz00_318;
BgL_kz00_318 = 
(int)(BgL_arg1300z00_309); 
STRING_SET(BgL_s8z00_18, BgL_kz00_318, BgL_arg1182z00_315); } } } } 
{ /* ./Jas/lib.scm 93 */
long BgL_arg1245z00_125;
{ /* ./Jas/lib.scm 93 */
long BgL_auxz00_662;
BgL_auxz00_662 = 
(BgL_cnz00_20 & ((long)63)); 
BgL_arg1245z00_125 = 
(((long)128) | BgL_auxz00_662); } 
{ /* ./Jas/lib.scm 93 */
long BgL_arg1300z00_326;
BgL_arg1300z00_326 = 
(BgL_jz00_19+((long)1)); 
{ /* ./Jas/lib.scm 93 */
unsigned char BgL_arg1182z00_332;
BgL_arg1182z00_332 = 
(BgL_arg1245z00_125); 
{ /* ./Jas/lib.scm 93 */
int BgL_kz00_335;
BgL_kz00_335 = 
(int)(BgL_arg1300z00_326); 
STRING_SET(BgL_s8z00_18, BgL_kz00_335, BgL_arg1182z00_332); } } } } 
return ((long)2);}  else 
{ /* ./Jas/lib.scm 91 */
{ /* ./Jas/lib.scm 96 */
long BgL_arg1258z00_129;
{ /* ./Jas/lib.scm 96 */
long BgL_auxz00_669;
{ /* ./Jas/lib.scm 96 */
int BgL_auxz00_670;
BgL_auxz00_670 = 
(int)(((long)12)); 
BgL_auxz00_669 = 
(BgL_cnz00_20 >> BgL_auxz00_670); } 
BgL_arg1258z00_129 = 
(((long)224) | BgL_auxz00_669); } 
{ /* ./Jas/lib.scm 96 */
long BgL_arg1300z00_343;
BgL_arg1300z00_343 = 
(BgL_jz00_19+((long)0)); 
{ /* ./Jas/lib.scm 96 */
unsigned char BgL_arg1182z00_349;
BgL_arg1182z00_349 = 
(BgL_arg1258z00_129); 
{ /* ./Jas/lib.scm 96 */
int BgL_kz00_352;
BgL_kz00_352 = 
(int)(BgL_arg1300z00_343); 
STRING_SET(BgL_s8z00_18, BgL_kz00_352, BgL_arg1182z00_349); } } } } 
{ /* ./Jas/lib.scm 97 */
long BgL_arg1273z00_133;
{ /* ./Jas/lib.scm 97 */
long BgL_auxz00_678;
{ /* ./Jas/lib.scm 97 */
long BgL_auxz00_679;
{ /* ./Jas/lib.scm 97 */
int BgL_auxz00_680;
BgL_auxz00_680 = 
(int)(((long)6)); 
BgL_auxz00_679 = 
(BgL_cnz00_20 >> BgL_auxz00_680); } 
BgL_auxz00_678 = 
(BgL_auxz00_679 & ((long)63)); } 
BgL_arg1273z00_133 = 
(((long)128) | BgL_auxz00_678); } 
{ /* ./Jas/lib.scm 97 */
long BgL_arg1300z00_362;
BgL_arg1300z00_362 = 
(BgL_jz00_19+((long)1)); 
{ /* ./Jas/lib.scm 97 */
unsigned char BgL_arg1182z00_368;
BgL_arg1182z00_368 = 
(BgL_arg1273z00_133); 
{ /* ./Jas/lib.scm 97 */
int BgL_kz00_371;
BgL_kz00_371 = 
(int)(BgL_arg1300z00_362); 
STRING_SET(BgL_s8z00_18, BgL_kz00_371, BgL_arg1182z00_368); } } } } 
{ /* ./Jas/lib.scm 98 */
long BgL_arg1288z00_139;
{ /* ./Jas/lib.scm 98 */
long BgL_auxz00_689;
BgL_auxz00_689 = 
(BgL_cnz00_20 & ((long)63)); 
BgL_arg1288z00_139 = 
(((long)128) | BgL_auxz00_689); } 
{ /* ./Jas/lib.scm 98 */
long BgL_arg1300z00_379;
BgL_arg1300z00_379 = 
(BgL_jz00_19+((long)2)); 
{ /* ./Jas/lib.scm 98 */
unsigned char BgL_arg1182z00_385;
BgL_arg1182z00_385 = 
(BgL_arg1288z00_139); 
{ /* ./Jas/lib.scm 98 */
int BgL_kz00_388;
BgL_kz00_388 = 
(int)(BgL_arg1300z00_379); 
STRING_SET(BgL_s8z00_18, BgL_kz00_388, BgL_arg1182z00_385); } } } } 
return ((long)3);} } } } } 
}

