/*===========================================================================*/
/*   (Llib/bit.scm)                                                          */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -O3 -mklib -cc gcc-2.95 -fsharing -q -rm -s -unsafev -eval (set! *indent* 4) -copt -DBGL_NO_PIC -g -c Llib/bit.scm -indent -o objs/obj_s/Llib/bit.c)*/
/* GC selection */
#define THE_GC BOEHM_GC

/* debug mode */
#define BIGLOO_DEBUG 1

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

BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__bitz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
static obj_t BGl__bitzd2or1602zd2zz__bitz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_bitzd2rshzd2zz__bitz00(long, long);
static obj_t BGl_cnstzd2initzd2zz__bitz00();
extern obj_t string_to_symbol(char *);
BGL_EXPORTED_DECL long BGl_bitzd2lshzd2zz__bitz00(long, long);
static obj_t BGl_symbol1786z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1785z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1784z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1782z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1781z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1780z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1779z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1778z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1777z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1776z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1775z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1774z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1773z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1770z00zz__bitz00 = BUNSPEC;
static obj_t BGl_symbol1769z00zz__bitz00 = BUNSPEC;
static obj_t BGl_importedzd2moduleszd2initz00zz__bitz00();
static obj_t BGl__bitzd2ursh1612zd2zz__bitz00(obj_t, obj_t, obj_t);
extern obj_t BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__bitz00 = BUNSPEC;
BGL_EXPORTED_DECL long BGl_bitzd2andzd2zz__bitz00(long, long);
static obj_t BGl__bitzd2rsh1610zd2zz__bitz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_bitzd2orzd2zz__bitz00(long, long);
BGL_EXPORTED_DECL unsigned long BGl_bitzd2urshzd2zz__bitz00(unsigned long, unsigned long);
static obj_t BGl__bitzd2not1608zd2zz__bitz00(obj_t, obj_t);
static obj_t BGl__bitzd2and1604zd2zz__bitz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_bitzd2notzd2zz__bitz00(long);
static obj_t BGl__bitzd2xor1606zd2zz__bitz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL long BGl_bitzd2xorzd2zz__bitz00(long, long);
static obj_t BGl__bitzd2lsh1614zd2zz__bitz00(obj_t, obj_t, obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_bitzd2orzd2envz00zz__bitz00, BgL_bgl__bitza7d2or1602za7d2za7za7__bitza7001799za7, BGl__bitzd2or1602zd2zz__bitz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_bitzd2rshzd2envz00zz__bitz00, BgL_bgl__bitza7d2rsh1610za7d2za7za7__bitza7001800za7, BGl__bitzd2rsh1610zd2zz__bitz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_bitzd2notzd2envz00zz__bitz00, BgL_bgl__bitza7d2not1608za7d2za7za7__bitza7001801za7, BGl__bitzd2not1608zd2zz__bitz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_bitzd2andzd2envz00zz__bitz00, BgL_bgl__bitza7d2and1604za7d2za7za7__bitza7001802za7, BGl__bitzd2and1604zd2zz__bitz00, 0L, 2 );
DEFINE_STRING( BGl_string1783z00zz__bitz00, BgL_bgl_string1783za700za7za7__bitza7001803z00, "ulong", 5 );
DEFINE_EXPORT_PROCEDURE( BGl_bitzd2xorzd2envz00zz__bitz00, BgL_bgl__bitza7d2xor1606za7d2za7za7__bitza7001804za7, BGl__bitzd2xor1606zd2zz__bitz00, 0L, 2 );
DEFINE_STRING( BGl_string1772z00zz__bitz00, BgL_bgl_string1772za700za7za7__bitza7001805z00, "/tmp/bigloo/runtime/./Llib/bit.scm", 34 );
DEFINE_STRING( BGl_string1771z00zz__bitz00, BgL_bgl_string1771za700za7za7__bitza7001806z00, "long", 4 );
DEFINE_EXPORT_PROCEDURE( BGl_bitzd2lshzd2envz00zz__bitz00, BgL_bgl__bitza7d2lsh1614za7d2za7za7__bitza7001807za7, BGl__bitzd2lsh1614zd2zz__bitz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_bitzd2urshzd2envz00zz__bitz00, BgL_bgl__bitza7d2ursh1612za7d2za7za7__bitza7001808za7, BGl__bitzd2ursh1612zd2zz__bitz00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__bitz00(long BgL_checksumz00_542, char * BgL_fromz00_543)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__bitz00))
{ 
BGl_requirezd2initializa7ationz75zz__bitz00 = 
BBOOL(((bool_t)0)); 
BGl_cnstzd2initzd2zz__bitz00(); 
BGl_importedzd2moduleszd2initz00zz__bitz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__bitz00()
{ AN_OBJECT;
{ /* ./Llib/bit.scm 14 */
BGl_symbol1769z00zz__bitz00 = 
string_to_symbol("bit-or"); 
BGl_symbol1770z00zz__bitz00 = 
string_to_symbol("_bit-or1602"); 
BGl_symbol1773z00zz__bitz00 = 
string_to_symbol("bit-and"); 
BGl_symbol1774z00zz__bitz00 = 
string_to_symbol("_bit-and1604"); 
BGl_symbol1775z00zz__bitz00 = 
string_to_symbol("bit-xor"); 
BGl_symbol1776z00zz__bitz00 = 
string_to_symbol("_bit-xor1606"); 
BGl_symbol1777z00zz__bitz00 = 
string_to_symbol("bit-not"); 
BGl_symbol1778z00zz__bitz00 = 
string_to_symbol("_bit-not1608"); 
BGl_symbol1779z00zz__bitz00 = 
string_to_symbol("bit-rsh"); 
BGl_symbol1780z00zz__bitz00 = 
string_to_symbol("_bit-rsh1610"); 
BGl_symbol1781z00zz__bitz00 = 
string_to_symbol("bit-ursh"); 
BGl_symbol1782z00zz__bitz00 = 
string_to_symbol("_bit-ursh1612"); 
BGl_symbol1784z00zz__bitz00 = 
string_to_symbol("bit-lsh"); 
BGl_symbol1785z00zz__bitz00 = 
string_to_symbol("_bit-lsh1614"); 
return ( 
BGl_symbol1786z00zz__bitz00 = 
string_to_symbol("%import@__bit"), BUNSPEC) ;} 
}



/* bit-or */
BGL_EXPORTED_DEF long BGl_bitzd2orzd2zz__bitz00(long BgL_xz00_1, long BgL_yz00_2)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 75 */
{ /* ./Llib/bit.scm 76 */
obj_t BgL_symbol1571z00_494;
BgL_symbol1571z00_494 = BGl_symbol1769z00zz__bitz00; 
{ /* ./Llib/bit.scm 76 */

PUSH_TRACE(BgL_symbol1571z00_494); BUNSPEC; 
{ /* ./Llib/bit.scm 76 */
long BgL_aux1570z00_495;
BgL_aux1570z00_495 = 
(BgL_xz00_1 | BgL_yz00_2); 
POP_TRACE(); 
return BgL_aux1570z00_495;} } } } 
}



/* _bit-or1602 */
obj_t BGl__bitzd2or1602zd2zz__bitz00(obj_t BgL_envz00_448, obj_t BgL_xz00_449, obj_t BgL_yz00_450)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 75 */
{ /* ./Llib/bit.scm 76 */
long BgL_auxz00_567;
{ /* ./Llib/bit.scm 76 */
long BgL_res1787z00_500;
{ /* ./Llib/bit.scm 76 */
long BgL_xz00_496;long BgL_yz00_497;
{ /* ./Llib/bit.scm 76 */
obj_t BgL_auxz00_568;
if(
INTEGERP(BgL_xz00_449))
{ /* ./Llib/bit.scm 76 */
BgL_auxz00_568 = BgL_xz00_449
; }  else 
{ /* ./Llib/bit.scm 76 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1770z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_xz00_449, BGl_string1772z00zz__bitz00, 
BINT(((long)3524))); 
exit( -1 );} 
BgL_xz00_496 = 
(long)CINT(BgL_auxz00_568); } 
{ /* ./Llib/bit.scm 76 */
obj_t BgL_auxz00_575;
if(
INTEGERP(BgL_yz00_450))
{ /* ./Llib/bit.scm 76 */
BgL_auxz00_575 = BgL_yz00_450
; }  else 
{ /* ./Llib/bit.scm 76 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1770z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_yz00_450, BGl_string1772z00zz__bitz00, 
BINT(((long)3524))); 
exit( -1 );} 
BgL_yz00_497 = 
(long)CINT(BgL_auxz00_575); } 
{ /* ./Llib/bit.scm 76 */
obj_t BgL_symbol1571z00_498;
BgL_symbol1571z00_498 = BGl_symbol1769z00zz__bitz00; 
{ /* ./Llib/bit.scm 76 */

PUSH_TRACE(BgL_symbol1571z00_498); BUNSPEC; 
{ /* ./Llib/bit.scm 76 */
long BgL_aux1570z00_499;
BgL_aux1570z00_499 = 
(BgL_xz00_496 | BgL_yz00_497); 
POP_TRACE(); 
BgL_res1787z00_500 = BgL_aux1570z00_499; } } } } 
BgL_auxz00_567 = BgL_res1787z00_500; } 
return 
BINT(BgL_auxz00_567);} } 
}



/* bit-and */
BGL_EXPORTED_DEF long BGl_bitzd2andzd2zz__bitz00(long BgL_xz00_3, long BgL_yz00_4)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 81 */
{ /* ./Llib/bit.scm 82 */
obj_t BgL_symbol1575z00_501;
BgL_symbol1575z00_501 = BGl_symbol1773z00zz__bitz00; 
{ /* ./Llib/bit.scm 82 */

PUSH_TRACE(BgL_symbol1575z00_501); BUNSPEC; 
{ /* ./Llib/bit.scm 82 */
long BgL_aux1574z00_502;
BgL_aux1574z00_502 = 
(BgL_xz00_3 & BgL_yz00_4); 
POP_TRACE(); 
return BgL_aux1574z00_502;} } } } 
}



/* _bit-and1604 */
obj_t BGl__bitzd2and1604zd2zz__bitz00(obj_t BgL_envz00_451, obj_t BgL_xz00_452, obj_t BgL_yz00_453)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 81 */
{ /* ./Llib/bit.scm 82 */
long BgL_auxz00_589;
{ /* ./Llib/bit.scm 82 */
long BgL_res1788z00_507;
{ /* ./Llib/bit.scm 82 */
long BgL_xz00_503;long BgL_yz00_504;
{ /* ./Llib/bit.scm 82 */
obj_t BgL_auxz00_590;
if(
INTEGERP(BgL_xz00_452))
{ /* ./Llib/bit.scm 82 */
BgL_auxz00_590 = BgL_xz00_452
; }  else 
{ /* ./Llib/bit.scm 82 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1774z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_xz00_452, BGl_string1772z00zz__bitz00, 
BINT(((long)3794))); 
exit( -1 );} 
BgL_xz00_503 = 
(long)CINT(BgL_auxz00_590); } 
{ /* ./Llib/bit.scm 82 */
obj_t BgL_auxz00_597;
if(
INTEGERP(BgL_yz00_453))
{ /* ./Llib/bit.scm 82 */
BgL_auxz00_597 = BgL_yz00_453
; }  else 
{ /* ./Llib/bit.scm 82 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1774z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_yz00_453, BGl_string1772z00zz__bitz00, 
BINT(((long)3794))); 
exit( -1 );} 
BgL_yz00_504 = 
(long)CINT(BgL_auxz00_597); } 
{ /* ./Llib/bit.scm 82 */
obj_t BgL_symbol1575z00_505;
BgL_symbol1575z00_505 = BGl_symbol1773z00zz__bitz00; 
{ /* ./Llib/bit.scm 82 */

PUSH_TRACE(BgL_symbol1575z00_505); BUNSPEC; 
{ /* ./Llib/bit.scm 82 */
long BgL_aux1574z00_506;
BgL_aux1574z00_506 = 
(BgL_xz00_503 & BgL_yz00_504); 
POP_TRACE(); 
BgL_res1788z00_507 = BgL_aux1574z00_506; } } } } 
BgL_auxz00_589 = BgL_res1788z00_507; } 
return 
BINT(BgL_auxz00_589);} } 
}



/* bit-xor */
BGL_EXPORTED_DEF long BGl_bitzd2xorzd2zz__bitz00(long BgL_xz00_5, long BgL_yz00_6)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 87 */
{ /* ./Llib/bit.scm 88 */
obj_t BgL_symbol1579z00_508;
BgL_symbol1579z00_508 = BGl_symbol1775z00zz__bitz00; 
{ /* ./Llib/bit.scm 88 */

PUSH_TRACE(BgL_symbol1579z00_508); BUNSPEC; 
{ /* ./Llib/bit.scm 88 */
long BgL_aux1578z00_509;
BgL_aux1578z00_509 = 
(BgL_xz00_5 ^ BgL_yz00_6); 
POP_TRACE(); 
return BgL_aux1578z00_509;} } } } 
}



/* _bit-xor1606 */
obj_t BGl__bitzd2xor1606zd2zz__bitz00(obj_t BgL_envz00_454, obj_t BgL_xz00_455, obj_t BgL_yz00_456)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 87 */
{ /* ./Llib/bit.scm 88 */
long BgL_auxz00_611;
{ /* ./Llib/bit.scm 88 */
long BgL_res1789z00_514;
{ /* ./Llib/bit.scm 88 */
long BgL_xz00_510;long BgL_yz00_511;
{ /* ./Llib/bit.scm 88 */
obj_t BgL_auxz00_612;
if(
INTEGERP(BgL_xz00_455))
{ /* ./Llib/bit.scm 88 */
BgL_auxz00_612 = BgL_xz00_455
; }  else 
{ /* ./Llib/bit.scm 88 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1776z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_xz00_455, BGl_string1772z00zz__bitz00, 
BINT(((long)4065))); 
exit( -1 );} 
BgL_xz00_510 = 
(long)CINT(BgL_auxz00_612); } 
{ /* ./Llib/bit.scm 88 */
obj_t BgL_auxz00_619;
if(
INTEGERP(BgL_yz00_456))
{ /* ./Llib/bit.scm 88 */
BgL_auxz00_619 = BgL_yz00_456
; }  else 
{ /* ./Llib/bit.scm 88 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1776z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_yz00_456, BGl_string1772z00zz__bitz00, 
BINT(((long)4065))); 
exit( -1 );} 
BgL_yz00_511 = 
(long)CINT(BgL_auxz00_619); } 
{ /* ./Llib/bit.scm 88 */
obj_t BgL_symbol1579z00_512;
BgL_symbol1579z00_512 = BGl_symbol1775z00zz__bitz00; 
{ /* ./Llib/bit.scm 88 */

PUSH_TRACE(BgL_symbol1579z00_512); BUNSPEC; 
{ /* ./Llib/bit.scm 88 */
long BgL_aux1578z00_513;
BgL_aux1578z00_513 = 
(BgL_xz00_510 ^ BgL_yz00_511); 
POP_TRACE(); 
BgL_res1789z00_514 = BgL_aux1578z00_513; } } } } 
BgL_auxz00_611 = BgL_res1789z00_514; } 
return 
BINT(BgL_auxz00_611);} } 
}



/* bit-not */
BGL_EXPORTED_DEF long BGl_bitzd2notzd2zz__bitz00(long BgL_xz00_7)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 93 */
{ /* ./Llib/bit.scm 94 */
obj_t BgL_symbol1583z00_515;
BgL_symbol1583z00_515 = BGl_symbol1777z00zz__bitz00; 
{ /* ./Llib/bit.scm 94 */

PUSH_TRACE(BgL_symbol1583z00_515); BUNSPEC; 
{ /* ./Llib/bit.scm 94 */
long BgL_aux1582z00_516;
BgL_aux1582z00_516 = 
~(BgL_xz00_7); 
POP_TRACE(); 
return BgL_aux1582z00_516;} } } } 
}



/* _bit-not1608 */
obj_t BGl__bitzd2not1608zd2zz__bitz00(obj_t BgL_envz00_457, obj_t BgL_xz00_458)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 93 */
{ /* ./Llib/bit.scm 94 */
long BgL_auxz00_633;
{ /* ./Llib/bit.scm 94 */
long BgL_res1790z00_520;
{ /* ./Llib/bit.scm 94 */
long BgL_xz00_517;
{ /* ./Llib/bit.scm 94 */
obj_t BgL_auxz00_634;
if(
INTEGERP(BgL_xz00_458))
{ /* ./Llib/bit.scm 94 */
BgL_auxz00_634 = BgL_xz00_458
; }  else 
{ /* ./Llib/bit.scm 94 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1778z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_xz00_458, BGl_string1772z00zz__bitz00, 
BINT(((long)4334))); 
exit( -1 );} 
BgL_xz00_517 = 
(long)CINT(BgL_auxz00_634); } 
{ /* ./Llib/bit.scm 94 */
obj_t BgL_symbol1583z00_518;
BgL_symbol1583z00_518 = BGl_symbol1777z00zz__bitz00; 
{ /* ./Llib/bit.scm 94 */

PUSH_TRACE(BgL_symbol1583z00_518); BUNSPEC; 
{ /* ./Llib/bit.scm 94 */
long BgL_aux1582z00_519;
BgL_aux1582z00_519 = 
~(BgL_xz00_517); 
POP_TRACE(); 
BgL_res1790z00_520 = BgL_aux1582z00_519; } } } } 
BgL_auxz00_633 = BgL_res1790z00_520; } 
return 
BINT(BgL_auxz00_633);} } 
}



/* bit-rsh */
BGL_EXPORTED_DEF long BGl_bitzd2rshzd2zz__bitz00(long BgL_xz00_8, long BgL_yz00_9)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 99 */
{ /* ./Llib/bit.scm 100 */
obj_t BgL_symbol1587z00_521;
BgL_symbol1587z00_521 = BGl_symbol1779z00zz__bitz00; 
{ /* ./Llib/bit.scm 100 */

PUSH_TRACE(BgL_symbol1587z00_521); BUNSPEC; 
{ /* ./Llib/bit.scm 100 */
long BgL_aux1586z00_522;
{ /* ./Llib/bit.scm 100 */
int BgL_auxz00_646;
BgL_auxz00_646 = 
(int)(BgL_yz00_9); 
BgL_aux1586z00_522 = 
(BgL_xz00_8 >> BgL_auxz00_646); } 
POP_TRACE(); 
return BgL_aux1586z00_522;} } } } 
}



/* _bit-rsh1610 */
obj_t BGl__bitzd2rsh1610zd2zz__bitz00(obj_t BgL_envz00_459, obj_t BgL_xz00_460, obj_t BgL_yz00_461)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 99 */
{ /* ./Llib/bit.scm 100 */
long BgL_auxz00_650;
{ /* ./Llib/bit.scm 100 */
long BgL_res1791z00_527;
{ /* ./Llib/bit.scm 100 */
long BgL_xz00_523;long BgL_yz00_524;
{ /* ./Llib/bit.scm 100 */
obj_t BgL_auxz00_651;
if(
INTEGERP(BgL_xz00_460))
{ /* ./Llib/bit.scm 100 */
BgL_auxz00_651 = BgL_xz00_460
; }  else 
{ /* ./Llib/bit.scm 100 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1780z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_xz00_460, BGl_string1772z00zz__bitz00, 
BINT(((long)4606))); 
exit( -1 );} 
BgL_xz00_523 = 
(long)CINT(BgL_auxz00_651); } 
{ /* ./Llib/bit.scm 100 */
obj_t BgL_auxz00_658;
if(
INTEGERP(BgL_yz00_461))
{ /* ./Llib/bit.scm 100 */
BgL_auxz00_658 = BgL_yz00_461
; }  else 
{ /* ./Llib/bit.scm 100 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1780z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_yz00_461, BGl_string1772z00zz__bitz00, 
BINT(((long)4606))); 
exit( -1 );} 
BgL_yz00_524 = 
(long)CINT(BgL_auxz00_658); } 
{ /* ./Llib/bit.scm 100 */
obj_t BgL_symbol1587z00_525;
BgL_symbol1587z00_525 = BGl_symbol1779z00zz__bitz00; 
{ /* ./Llib/bit.scm 100 */

PUSH_TRACE(BgL_symbol1587z00_525); BUNSPEC; 
{ /* ./Llib/bit.scm 100 */
long BgL_aux1586z00_526;
{ /* ./Llib/bit.scm 100 */
int BgL_auxz00_666;
BgL_auxz00_666 = 
(int)(BgL_yz00_524); 
BgL_aux1586z00_526 = 
(BgL_xz00_523 >> BgL_auxz00_666); } 
POP_TRACE(); 
BgL_res1791z00_527 = BgL_aux1586z00_526; } } } } 
BgL_auxz00_650 = BgL_res1791z00_527; } 
return 
BINT(BgL_auxz00_650);} } 
}



/* bit-ursh */
BGL_EXPORTED_DEF unsigned long BGl_bitzd2urshzd2zz__bitz00(unsigned long BgL_xz00_10, unsigned long BgL_yz00_11)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 105 */
{ /* ./Llib/bit.scm 106 */
obj_t BgL_symbol1591z00_528;
BgL_symbol1591z00_528 = BGl_symbol1781z00zz__bitz00; 
{ /* ./Llib/bit.scm 106 */

PUSH_TRACE(BgL_symbol1591z00_528); BUNSPEC; 
{ /* ./Llib/bit.scm 106 */
unsigned long BgL_aux1590z00_529;
{ /* ./Llib/bit.scm 106 */
int BgL_auxz00_672;
BgL_auxz00_672 = 
(int)(BgL_yz00_11); 
BgL_aux1590z00_529 = 
(BgL_xz00_10 >> BgL_auxz00_672); } 
POP_TRACE(); 
return BgL_aux1590z00_529;} } } } 
}



/* _bit-ursh1612 */
obj_t BGl__bitzd2ursh1612zd2zz__bitz00(obj_t BgL_envz00_462, obj_t BgL_xz00_463, obj_t BgL_yz00_464)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 105 */
{ /* ./Llib/bit.scm 106 */
unsigned long BgL_auxz00_676;
{ /* ./Llib/bit.scm 106 */
unsigned long BgL_res1792z00_534;
{ /* ./Llib/bit.scm 106 */
unsigned long BgL_xz00_530;unsigned long BgL_yz00_531;
{ /* ./Llib/bit.scm 106 */
obj_t BgL_auxz00_677;
if(
INTEGERP(BgL_xz00_463))
{ /* ./Llib/bit.scm 106 */
BgL_auxz00_677 = BgL_xz00_463
; }  else 
{ /* ./Llib/bit.scm 106 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1782z00zz__bitz00, BGl_string1783z00zz__bitz00, BgL_xz00_463, BGl_string1772z00zz__bitz00, 
BINT(((long)4885))); 
exit( -1 );} 
BgL_xz00_530 = 
(unsigned long)CINT(BgL_auxz00_677); } 
{ /* ./Llib/bit.scm 106 */
obj_t BgL_auxz00_684;
if(
INTEGERP(BgL_yz00_464))
{ /* ./Llib/bit.scm 106 */
BgL_auxz00_684 = BgL_yz00_464
; }  else 
{ /* ./Llib/bit.scm 106 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1782z00zz__bitz00, BGl_string1783z00zz__bitz00, BgL_yz00_464, BGl_string1772z00zz__bitz00, 
BINT(((long)4885))); 
exit( -1 );} 
BgL_yz00_531 = 
(unsigned long)CINT(BgL_auxz00_684); } 
{ /* ./Llib/bit.scm 106 */
obj_t BgL_symbol1591z00_532;
BgL_symbol1591z00_532 = BGl_symbol1781z00zz__bitz00; 
{ /* ./Llib/bit.scm 106 */

PUSH_TRACE(BgL_symbol1591z00_532); BUNSPEC; 
{ /* ./Llib/bit.scm 106 */
unsigned long BgL_aux1590z00_533;
{ /* ./Llib/bit.scm 106 */
int BgL_auxz00_692;
BgL_auxz00_692 = 
(int)(BgL_yz00_531); 
BgL_aux1590z00_533 = 
(BgL_xz00_530 >> BgL_auxz00_692); } 
POP_TRACE(); 
BgL_res1792z00_534 = BgL_aux1590z00_533; } } } } 
BgL_auxz00_676 = BgL_res1792z00_534; } 
return 
BINT(BgL_auxz00_676);} } 
}



/* bit-lsh */
BGL_EXPORTED_DEF long BGl_bitzd2lshzd2zz__bitz00(long BgL_xz00_12, long BgL_yz00_13)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 111 */
{ /* ./Llib/bit.scm 112 */
obj_t BgL_symbol1595z00_535;
BgL_symbol1595z00_535 = BGl_symbol1784z00zz__bitz00; 
{ /* ./Llib/bit.scm 112 */

PUSH_TRACE(BgL_symbol1595z00_535); BUNSPEC; 
{ /* ./Llib/bit.scm 112 */
long BgL_aux1594z00_536;
{ /* ./Llib/bit.scm 112 */
int BgL_auxz00_698;
BgL_auxz00_698 = 
(int)(BgL_yz00_13); 
BgL_aux1594z00_536 = 
(BgL_xz00_12 << BgL_auxz00_698); } 
POP_TRACE(); 
return BgL_aux1594z00_536;} } } } 
}



/* _bit-lsh1614 */
obj_t BGl__bitzd2lsh1614zd2zz__bitz00(obj_t BgL_envz00_465, obj_t BgL_xz00_466, obj_t BgL_yz00_467)
{ AN_OBJECT;
{ /* ./Llib/bit.scm 111 */
{ /* ./Llib/bit.scm 112 */
long BgL_auxz00_702;
{ /* ./Llib/bit.scm 112 */
long BgL_res1793z00_541;
{ /* ./Llib/bit.scm 112 */
long BgL_xz00_537;long BgL_yz00_538;
{ /* ./Llib/bit.scm 112 */
obj_t BgL_auxz00_703;
if(
INTEGERP(BgL_xz00_466))
{ /* ./Llib/bit.scm 112 */
BgL_auxz00_703 = BgL_xz00_466
; }  else 
{ /* ./Llib/bit.scm 112 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1785z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_xz00_466, BGl_string1772z00zz__bitz00, 
BINT(((long)5164))); 
exit( -1 );} 
BgL_xz00_537 = 
(long)CINT(BgL_auxz00_703); } 
{ /* ./Llib/bit.scm 112 */
obj_t BgL_auxz00_710;
if(
INTEGERP(BgL_yz00_467))
{ /* ./Llib/bit.scm 112 */
BgL_auxz00_710 = BgL_yz00_467
; }  else 
{ /* ./Llib/bit.scm 112 */
BGl_bigloozd2typezd2errorzf2locationzf2zz__errorz00(BGl_symbol1785z00zz__bitz00, BGl_string1771z00zz__bitz00, BgL_yz00_467, BGl_string1772z00zz__bitz00, 
BINT(((long)5164))); 
exit( -1 );} 
BgL_yz00_538 = 
(long)CINT(BgL_auxz00_710); } 
{ /* ./Llib/bit.scm 112 */
obj_t BgL_symbol1595z00_539;
BgL_symbol1595z00_539 = BGl_symbol1784z00zz__bitz00; 
{ /* ./Llib/bit.scm 112 */

PUSH_TRACE(BgL_symbol1595z00_539); BUNSPEC; 
{ /* ./Llib/bit.scm 112 */
long BgL_aux1594z00_540;
{ /* ./Llib/bit.scm 112 */
int BgL_auxz00_718;
BgL_auxz00_718 = 
(int)(BgL_yz00_538); 
BgL_aux1594z00_540 = 
(BgL_xz00_537 << BgL_auxz00_718); } 
POP_TRACE(); 
BgL_res1793z00_541 = BgL_aux1594z00_540; } } } } 
BgL_auxz00_702 = BgL_res1793z00_541; } 
return 
BINT(BgL_auxz00_702);} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__bitz00()
{ AN_OBJECT;
{ /* ./Llib/bit.scm 14 */
{ /* ./Llib/bit.scm 14 */
obj_t BgL_symbol1599z00_446;
BgL_symbol1599z00_446 = BGl_symbol1786z00zz__bitz00; 
{ /* ./Llib/bit.scm 14 */

PUSH_TRACE(BgL_symbol1599z00_446); BUNSPEC; 
{ /* ./Llib/bit.scm 14 */
obj_t BgL_aux1598z00_447;
BgL_aux1598z00_447 = 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)11084), "__bit"); 
POP_TRACE(); 
return BgL_aux1598z00_447;} } } } 
}

