/*===========================================================================*/
/*   (Foreign/cptr.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 Foreign/cptr.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;

typedef struct BgL_caliasz00_bgl {
   bool_t BgL_arrayzf3zf3;
} *BgL_caliasz00_bglt;

typedef struct BgL_cenumz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   obj_t BgL_literalsz00;
} *BgL_cenumz00_bglt;

typedef struct BgL_copaquez00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
} *BgL_copaquez00_bglt;

typedef struct BgL_cfunctionz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   long BgL_arityz00;
   struct BgL_typez00_bgl * BgL_typezd2reszd2;
   obj_t BgL_typezd2argszd2;
} *BgL_cfunctionz00_bglt;

typedef struct BgL_cptrz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_typez00_bgl * BgL_pointzd2tozd2;
   bool_t BgL_arrayzf3zf3;
} *BgL_cptrz00_bglt;

typedef struct BgL_cstructz00_bgl {
   bool_t BgL_structzf3zf3;
   obj_t BgL_fieldsz00;
   obj_t BgL_cstructza2za2;
} *BgL_cstructz00_bglt;

typedef struct BgL_cstructza2za2_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_cstructz00_bgl * BgL_cstructz00;
} *BgL_cstructza2za2_bglt;

typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzforeign_cpointerz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_ctypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_accessz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_libraryz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
static obj_t BGl_methodzd2initzd2zzforeign_cpointerz00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern obj_t BGl_cstructz00zzforeign_ctypez00;
extern obj_t BGl_makezd2protozd2inlinez00zzforeign_libraryz00(obj_t);
extern obj_t BGl_makezd2definezd2inlinez00zzforeign_libraryz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl_cnstzd2initzd2zzforeign_cpointerz00();
BGL_IMPORT obj_t BGl_stringzd2appendzd2zz__r4_strings_6_7z00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzforeign_cpointerz00();
extern obj_t BGl_registerzd2foreignzd2accesszd2identsz12zc0zzforeign_libraryz00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzforeign_cpointerz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzforeign_cpointerz00();
extern obj_t BGl_makezd2typedzd2identz00zzast_identz00(obj_t, obj_t);
extern obj_t BGl_stringzd2sanszd2z42z42zztype_toolsz00(obj_t);
extern obj_t BGl_cptrz00zzforeign_ctypez00;
static obj_t BGl_toplevelzd2initzd2zzforeign_cpointerz00();
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t BGl_makezd2ctypezd2accessesz12zd2cptr1589zc0zzforeign_cpointerz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_caliasz00zzforeign_ctypez00;
static obj_t __cnst[ 36 ] ;


extern obj_t BGl_makezd2ctypezd2accessesz12zd2envzc0zzforeign_accessz00;
DEFINE_STATIC_PROCEDURE( BGl_proc2398z00zzforeign_cpointerz00, BgL_bgl_makeza7d2ctypeza7d2accessesza712za7d2cptr1589za7c0za7za7foreign_cpointerza7002444z00, BGl_makezd2ctypezd2accessesz12zd2cptr1589zc0zzforeign_cpointerz00, 0L, 3 );
DEFINE_STRING( BGl_string2416z00zzforeign_cpointerz00, BgL_bgl_string2416za700za7za7foreign_cpointerza7002445z00, "predicate-of static foreign -null? v ::obj i i::long * -set! -ref len len::long pragma make- pragma:: make-null- pragma::bool -null?::bool (pragma::bool \"($1 == $2)\" o1 o2) o2 o1 ?::bool = quote foreign-id eq? o foreign? if o::obj symbol macro ::bool ? -> ", 256 );
DEFINE_STRING( BGl_string2415z00zzforeign_cpointerz00, BgL_bgl_string2415za700za7za7foreign_cpointerza7002446z00, ")($1))[ $2 ] = $3, BUNSPEC)", 27 );
DEFINE_STRING( BGl_string2414z00zzforeign_cpointerz00, BgL_bgl_string2414za700za7za7foreign_cpointerza7002447z00, ")($1))[ $2 ] = *($3), BUNSPEC)", 30 );
DEFINE_STRING( BGl_string2413z00zzforeign_cpointerz00, BgL_bgl_string2413za700za7za7foreign_cpointerza7002448z00, "(((", 3 );
DEFINE_STRING( BGl_string2412z00zzforeign_cpointerz00, BgL_bgl_string2412za700za7za7foreign_cpointerza7002449z00, ")($1))[ $2 ]", 12 );
DEFINE_STRING( BGl_string2411z00zzforeign_cpointerz00, BgL_bgl_string2411za700za7za7foreign_cpointerza7002450z00, ")($1))[ $2 ])", 13 );
DEFINE_STRING( BGl_string2410z00zzforeign_cpointerz00, BgL_bgl_string2410za700za7za7foreign_cpointerza7002451z00, "&(((", 4 );
DEFINE_STRING( BGl_string2409z00zzforeign_cpointerz00, BgL_bgl_string2409za700za7za7foreign_cpointerza7002452z00, " )", 2 );
DEFINE_STRING( BGl_string2399z00zzforeign_cpointerz00, BgL_bgl_string2399za700za7za7foreign_cpointerza7002453z00, "cobj_to_foreign", 15 );
DEFINE_STRING( BGl_string2408z00zzforeign_cpointerz00, BgL_bgl_string2408za700za7za7foreign_cpointerza7002454z00, " * $1 )", 7 );
DEFINE_STRING( BGl_string2407z00zzforeign_cpointerz00, BgL_bgl_string2407za700za7za7foreign_cpointerza7002455z00, ")GC_MALLOC( ", 12 );
DEFINE_STRING( BGl_string2406z00zzforeign_cpointerz00, BgL_bgl_string2406za700za7za7foreign_cpointerza7002456z00, "sizeof( ", 8 );
DEFINE_STRING( BGl_string2405z00zzforeign_cpointerz00, BgL_bgl_string2405za700za7za7foreign_cpointerza7002457z00, " ))", 3 );
DEFINE_STRING( BGl_string2404z00zzforeign_cpointerz00, BgL_bgl_string2404za700za7za7foreign_cpointerza7002458z00, "((", 2 );
DEFINE_STRING( BGl_string2403z00zzforeign_cpointerz00, BgL_bgl_string2403za700za7za7foreign_cpointerza7002459z00, ")0L)", 4 );
DEFINE_STRING( BGl_string2402z00zzforeign_cpointerz00, BgL_bgl_string2402za700za7za7foreign_cpointerza7002460z00, "($1 == (", 8 );
DEFINE_STRING( BGl_string2401z00zzforeign_cpointerz00, BgL_bgl_string2401za700za7za7foreign_cpointerza7002461z00, ")FOREIGN_TO_COBJ", 16 );
DEFINE_STRING( BGl_string2400z00zzforeign_cpointerz00, BgL_bgl_string2400za700za7za7foreign_cpointerza7002462z00, "(", 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzforeign_cpointerz00(long BgL_checksumz00_508, char * BgL_fromz00_509)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzforeign_cpointerz00))
{ 
BGl_requirezd2initializa7ationz75zzforeign_cpointerz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzforeign_cpointerz00(); 
BGl_cnstzd2initzd2zzforeign_cpointerz00(); 
BGl_importedzd2moduleszd2initz00zzforeign_cpointerz00(); 
BGl_methodzd2initzd2zzforeign_cpointerz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzforeign_cpointerz00()
{ AN_OBJECT;
{ /* ./Foreign/cptr.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)0), "foreign_cpointer"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzforeign_cpointerz00()
{ AN_OBJECT;
{ /* ./Foreign/cptr.scm 15 */
{ /* ./Foreign/cptr.scm 15 */
obj_t BgL_cportz00_501;
BgL_cportz00_501 = 
open_input_string(BGl_string2416z00zzforeign_cpointerz00); 
{ 
long BgL_iz00_502;
BgL_iz00_502 = ((long)35); 
BgL_loopz00_503:
{ /* ./Foreign/cptr.scm 15 */
bool_t BgL_test2418z00_504;
BgL_test2418z00_504 = 
(BgL_iz00_502==((long)-1)); 
if(BgL_test2418z00_504)
{ /* ./Foreign/cptr.scm 15 */
return BUNSPEC;}  else 
{ /* ./Foreign/cptr.scm 15 */
{ /* ./Foreign/cptr.scm 15 */
obj_t BgL_arg2420z00_505;
{ /* ./Foreign/cptr.scm 15 */
obj_t BgL_list2423z00_506;
BgL_list2423z00_506 = 
MAKE_PAIR(BgL_cportz00_501, BNIL); 
BgL_arg2420z00_505 = 
BGl_readz00zz__readerz00(BgL_list2423z00_506); } 
{ /* ./Foreign/cptr.scm 15 */
int BgL_auxz00_526;
BgL_auxz00_526 = 
(int)(BgL_iz00_502); 
CNST_TABLE_SET(BgL_auxz00_526, BgL_arg2420z00_505); } } 
{ /* ./Foreign/cptr.scm 15 */
int BgL_auxz00_507;
{ /* ./Foreign/cptr.scm 15 */
long BgL_auxz00_529;
BgL_auxz00_529 = 
(BgL_iz00_502-((long)1)); 
BgL_auxz00_507 = 
(int)(BgL_auxz00_529); } 
{ 
long BgL_iz00_532;
BgL_iz00_532 = 
(long)(BgL_auxz00_507); 
BgL_iz00_502 = BgL_iz00_532; 
goto BgL_loopz00_503;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzforeign_cpointerz00()
{ AN_OBJECT;
{ /* ./Foreign/cptr.scm 15 */
return BUNSPEC;} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzforeign_cpointerz00()
{ AN_OBJECT;
{ /* ./Foreign/cptr.scm 15 */
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_makezd2ctypezd2accessesz12zd2envzc0zzforeign_accessz00, BGl_cptrz00zzforeign_ctypez00, BGl_proc2398z00zzforeign_cpointerz00);} 
}



/* make-ctype-accesses!-cptr1589 */
obj_t BGl_makezd2ctypezd2accessesz12zd2cptr1589zc0zzforeign_cpointerz00(obj_t BgL_envz00_493, obj_t BgL_whatz00_494, obj_t BgL_whoz00_495, obj_t BgL_locz00_496)
{ AN_OBJECT;
{ /* ./Foreign/cptr.scm 31 */
{ 
BgL_cptrz00_bglt BgL_whatz00_172;BgL_typez00_bglt BgL_whoz00_173;obj_t BgL_locz00_174;
BgL_whatz00_172 = 
(BgL_cptrz00_bglt)(BgL_whatz00_494); 
BgL_whoz00_173 = 
(BgL_typez00_bglt)(BgL_whoz00_495); 
BgL_locz00_174 = BgL_locz00_496; 
{ /* ./Foreign/cptr.scm 34 */
BgL_typez00_bglt BgL_btypez00_177;
{ 
obj_t BgL_auxz00_535;
{ /* ./Foreign/cptr.scm 34 */
BgL_objectz00_bglt BgL_auxz00_536;
BgL_auxz00_536 = 
(BgL_objectz00_bglt)(BgL_whatz00_172); 
BgL_auxz00_535 = 
BGL_OBJECT_WIDENING(BgL_auxz00_536); } 
BgL_btypez00_177 = 
(((BgL_cptrz00_bglt)CREF(BgL_auxz00_535))->BgL_btypez00); } 
{ /* ./Foreign/cptr.scm 34 */
obj_t BgL_idz00_178;
BgL_idz00_178 = 
(((BgL_typez00_bglt)CREF(BgL_whoz00_173))->BgL_idz00); 
{ /* ./Foreign/cptr.scm 35 */
obj_t BgL_widz00_179;
{ /* ./Foreign/cptr.scm 36 */
BgL_typez00_bglt BgL_obj1003z00_477;
BgL_obj1003z00_477 = 
(BgL_typez00_bglt)(BgL_whatz00_172); 
BgL_widz00_179 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_477))->BgL_idz00); } 
{ /* ./Foreign/cptr.scm 36 */
obj_t BgL_bidz00_180;
BgL_bidz00_180 = 
(((BgL_typez00_bglt)CREF(BgL_btypez00_177))->BgL_idz00); 
{ /* ./Foreign/cptr.scm 37 */
obj_t BgL_idzd2ze3bidz31_181;
{ /* ./Foreign/cptr.scm 38 */
obj_t BgL_list2323z00_469;
{ /* ./Foreign/cptr.scm 38 */
obj_t BgL_arg2325z00_470;
{ /* ./Foreign/cptr.scm 38 */
obj_t BgL_arg2328z00_471;obj_t BgL_arg2329z00_472;
BgL_arg2328z00_471 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg2329z00_472 = 
MAKE_PAIR(BgL_bidz00_180, BNIL); 
BgL_arg2325z00_470 = 
MAKE_PAIR(BgL_arg2328z00_471, BgL_arg2329z00_472); } 
BgL_list2323z00_469 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg2325z00_470); } 
BgL_idzd2ze3bidz31_181 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2323z00_469); } 
{ /* ./Foreign/cptr.scm 38 */
obj_t BgL_bidzd2ze3idz31_182;
{ /* ./Foreign/cptr.scm 39 */
obj_t BgL_list2313z00_465;
{ /* ./Foreign/cptr.scm 39 */
obj_t BgL_arg2315z00_466;
{ /* ./Foreign/cptr.scm 39 */
obj_t BgL_arg2318z00_467;obj_t BgL_arg2319z00_468;
BgL_arg2318z00_467 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg2319z00_468 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_arg2315z00_466 = 
MAKE_PAIR(BgL_arg2318z00_467, BgL_arg2319z00_468); } 
BgL_list2313z00_465 = 
MAKE_PAIR(BgL_bidz00_180, BgL_arg2315z00_466); } 
BgL_bidzd2ze3idz31_182 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2313z00_465); } 
{ /* ./Foreign/cptr.scm 39 */
obj_t BgL_bidzf3zf3_183;
{ /* ./Foreign/cptr.scm 40 */
obj_t BgL_list2307z00_463;
{ /* ./Foreign/cptr.scm 40 */
obj_t BgL_arg2309z00_464;
{ /* ./Foreign/cptr.scm 40 */
obj_t BgL_auxz00_554;
BgL_auxz00_554 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg2309z00_464 = 
MAKE_PAIR(BgL_auxz00_554, BNIL); } 
BgL_list2307z00_463 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg2309z00_464); } 
BgL_bidzf3zf3_183 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2307z00_463); } 
{ /* ./Foreign/cptr.scm 40 */
obj_t BgL_bidzf3zd2boolz21_184;
{ /* ./Foreign/cptr.scm 41 */
obj_t BgL_list2300z00_461;
{ /* ./Foreign/cptr.scm 41 */
obj_t BgL_arg2303z00_462;
{ /* ./Foreign/cptr.scm 41 */
obj_t BgL_auxz00_559;
BgL_auxz00_559 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg2303z00_462 = 
MAKE_PAIR(BgL_auxz00_559, BNIL); } 
BgL_list2300z00_461 = 
MAKE_PAIR(BgL_bidzf3zf3_183, BgL_arg2303z00_462); } 
BgL_bidzf3zd2boolz21_184 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2300z00_461); } 
{ /* ./Foreign/cptr.scm 41 */
obj_t BgL_namez00_185;
BgL_namez00_185 = 
(((BgL_typez00_bglt)CREF(BgL_whoz00_173))->BgL_namez00); 
{ /* ./Foreign/cptr.scm 42 */
obj_t BgL_namezd2sanszd2z42z42_186;
BgL_namezd2sanszd2z42z42_186 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_namez00_185); 
{ /* ./Foreign/cptr.scm 43 */
BgL_typez00_bglt BgL_pointzd2tozd2_187;
{ 
obj_t BgL_auxz00_566;
{ /* ./Foreign/cptr.scm 44 */
BgL_objectz00_bglt BgL_auxz00_567;
BgL_auxz00_567 = 
(BgL_objectz00_bglt)(BgL_whatz00_172); 
BgL_auxz00_566 = 
BGL_OBJECT_WIDENING(BgL_auxz00_567); } 
BgL_pointzd2tozd2_187 = 
(((BgL_cptrz00_bglt)CREF(BgL_auxz00_566))->BgL_pointzd2tozd2); } 
{ /* ./Foreign/cptr.scm 44 */
obj_t BgL_pointzd2tozd2idz00_188;
BgL_pointzd2tozd2idz00_188 = 
(((BgL_typez00_bglt)CREF(BgL_pointzd2tozd2_187))->BgL_idz00); 
{ /* ./Foreign/cptr.scm 45 */
obj_t BgL_pointzd2tozd2namez00_189;
BgL_pointzd2tozd2namez00_189 = 
(((BgL_typez00_bglt)CREF(BgL_pointzd2tozd2_187))->BgL_namez00); 
{ /* ./Foreign/cptr.scm 46 */
obj_t BgL_pointzd2tozd2namezd2sanszd2z42z42_190;
BgL_pointzd2tozd2namezd2sanszd2z42z42_190 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_pointzd2tozd2namez00_189); 
{ /* ./Foreign/cptr.scm 47 */

{ 

{ /* ./Foreign/cptr.scm 150 */
obj_t BgL_arg1676z00_199;obj_t BgL_arg1678z00_200;obj_t BgL_arg1679z00_201;obj_t BgL_arg1680z00_202;obj_t BgL_arg1681z00_203;obj_t BgL_arg1682z00_204;
{ /* ./Foreign/cptr.scm 150 */
obj_t BgL_list1705z00_212;
{ /* ./Foreign/cptr.scm 150 */
obj_t BgL_arg1707z00_213;obj_t BgL_arg1709z00_214;
BgL_arg1707z00_213 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Foreign/cptr.scm 150 */
obj_t BgL_arg1712z00_215;
{ /* ./Foreign/cptr.scm 150 */
obj_t BgL_auxz00_575;
BgL_auxz00_575 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg1712z00_215 = 
MAKE_PAIR(BgL_auxz00_575, BNIL); } 
BgL_arg1709z00_214 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1712z00_215); } 
BgL_list1705z00_212 = 
MAKE_PAIR(BgL_arg1707z00_213, BgL_arg1709z00_214); } 
BgL_arg1676z00_199 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1705z00_212); } 
{ /* ./Foreign/cptr.scm 151 */
obj_t BgL_list1716z00_216;
{ /* ./Foreign/cptr.scm 151 */
obj_t BgL_arg1718z00_217;obj_t BgL_arg1719z00_218;
BgL_arg1718z00_217 = 
CNST_TABLE_REF(((long)19)); 
BgL_arg1719z00_218 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_list1716z00_216 = 
MAKE_PAIR(BgL_arg1718z00_217, BgL_arg1719z00_218); } 
BgL_arg1678z00_200 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1716z00_216); } 
{ /* ./Foreign/cptr.scm 152 */
obj_t BgL_list1723z00_219;
{ /* ./Foreign/cptr.scm 152 */
obj_t BgL_arg1725z00_220;
{ /* ./Foreign/cptr.scm 152 */
obj_t BgL_auxz00_585;
BgL_auxz00_585 = 
CNST_TABLE_REF(((long)32)); 
BgL_arg1725z00_220 = 
MAKE_PAIR(BgL_auxz00_585, BNIL); } 
BgL_list1723z00_219 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1725z00_220); } 
BgL_arg1679z00_201 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1723z00_219); } 
{ /* ./Foreign/cptr.scm 153 */
obj_t BgL_list1729z00_221;
{ /* ./Foreign/cptr.scm 153 */
obj_t BgL_arg1731z00_222;obj_t BgL_arg1732z00_223;
BgL_arg1731z00_222 = 
CNST_TABLE_REF(((long)21)); 
BgL_arg1732z00_223 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_list1729z00_221 = 
MAKE_PAIR(BgL_arg1731z00_222, BgL_arg1732z00_223); } 
BgL_arg1680z00_202 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1729z00_221); } 
{ /* ./Foreign/cptr.scm 154 */
obj_t BgL_list1736z00_224;
{ /* ./Foreign/cptr.scm 154 */
obj_t BgL_arg1738z00_225;
{ /* ./Foreign/cptr.scm 154 */
obj_t BgL_auxz00_594;
BgL_auxz00_594 = 
CNST_TABLE_REF(((long)25)); 
BgL_arg1738z00_225 = 
MAKE_PAIR(BgL_auxz00_594, BNIL); } 
BgL_list1736z00_224 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1738z00_225); } 
BgL_arg1681z00_203 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1736z00_224); } 
{ /* ./Foreign/cptr.scm 155 */
obj_t BgL_list1742z00_226;
{ /* ./Foreign/cptr.scm 155 */
obj_t BgL_arg1744z00_227;
{ /* ./Foreign/cptr.scm 155 */
obj_t BgL_auxz00_599;
BgL_auxz00_599 = 
CNST_TABLE_REF(((long)26)); 
BgL_arg1744z00_227 = 
MAKE_PAIR(BgL_auxz00_599, BNIL); } 
BgL_list1742z00_226 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1744z00_227); } 
BgL_arg1682z00_204 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1742z00_226); } 
{ /* ./Foreign/cptr.scm 148 */
obj_t BgL_list1684z00_205;
{ /* ./Foreign/cptr.scm 148 */
obj_t BgL_arg1686z00_206;
{ /* ./Foreign/cptr.scm 148 */
obj_t BgL_arg1689z00_207;
{ /* ./Foreign/cptr.scm 148 */
obj_t BgL_arg1692z00_208;
{ /* ./Foreign/cptr.scm 148 */
obj_t BgL_arg1695z00_209;
{ /* ./Foreign/cptr.scm 148 */
obj_t BgL_arg1698z00_210;
{ /* ./Foreign/cptr.scm 148 */
obj_t BgL_arg1701z00_211;
BgL_arg1701z00_211 = 
MAKE_PAIR(BgL_arg1682z00_204, BNIL); 
BgL_arg1698z00_210 = 
MAKE_PAIR(BgL_arg1681z00_203, BgL_arg1701z00_211); } 
BgL_arg1695z00_209 = 
MAKE_PAIR(BgL_arg1680z00_202, BgL_arg1698z00_210); } 
BgL_arg1692z00_208 = 
MAKE_PAIR(BgL_arg1679z00_201, BgL_arg1695z00_209); } 
BgL_arg1689z00_207 = 
MAKE_PAIR(BgL_arg1678z00_200, BgL_arg1692z00_208); } 
BgL_arg1686z00_206 = 
MAKE_PAIR(BgL_arg1676z00_199, BgL_arg1689z00_207); } 
BgL_list1684z00_205 = 
MAKE_PAIR(BgL_bidzf3zf3_183, BgL_arg1686z00_206); } 
BGl_registerzd2foreignzd2accesszd2identsz12zc0zzforeign_libraryz00(BgL_list1684z00_205); } } 
{ /* ./Foreign/cptr.scm 158 */
obj_t BgL_arg1748z00_228;
{ /* ./Foreign/cptr.scm 158 */
obj_t BgL_arg1752z00_229;obj_t BgL_arg1755z00_230;
BgL_arg1752z00_229 = 
CNST_TABLE_REF(((long)33)); 
{ /* ./Foreign/cptr.scm 158 */
obj_t BgL_arg1758z00_231;obj_t BgL_arg1760z00_232;
{ /* ./Foreign/cptr.scm 53 */
obj_t BgL_arg2274z00_445;obj_t BgL_arg2275z00_446;
BgL_arg2274z00_445 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Foreign/cptr.scm 53 */
obj_t BgL_arg2278z00_447;
{ /* ./Foreign/cptr.scm 53 */
obj_t BgL_arg2281z00_448;
{ /* ./Foreign/cptr.scm 53 */
obj_t BgL_arg2284z00_449;obj_t BgL_arg2285z00_450;
{ /* ./Foreign/cptr.scm 53 */
obj_t BgL_arg2288z00_451;obj_t BgL_arg2289z00_452;
BgL_arg2288z00_451 = 
CNST_TABLE_REF(((long)4)); 
BgL_arg2289z00_452 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_arg2284z00_449 = 
MAKE_PAIR(BgL_arg2288z00_451, BgL_arg2289z00_452); } 
BgL_arg2285z00_450 = 
MAKE_PAIR(BGl_string2399z00zzforeign_cpointerz00, BNIL); 
BgL_arg2281z00_448 = 
MAKE_PAIR(BgL_arg2284z00_449, BgL_arg2285z00_450); } 
BgL_arg2278z00_447 = 
MAKE_PAIR(BgL_idzd2ze3bidz31_181, BgL_arg2281z00_448); } 
BgL_arg2275z00_446 = 
MAKE_PAIR(BgL_bidz00_180, BgL_arg2278z00_447); } 
BgL_arg1758z00_231 = 
MAKE_PAIR(BgL_arg2274z00_445, BgL_arg2275z00_446); } 
{ /* ./Foreign/cptr.scm 158 */
obj_t BgL_arg1766z00_233;
{ /* ./Foreign/cptr.scm 56 */
obj_t BgL_mnamez00_437;
BgL_mnamez00_437 = 
string_append_3(BGl_string2400z00zzforeign_cpointerz00, BgL_namezd2sanszd2z42z42_186, BGl_string2401z00zzforeign_cpointerz00); 
{ /* ./Foreign/cptr.scm 57 */
obj_t BgL_arg2255z00_438;obj_t BgL_arg2256z00_439;
BgL_arg2255z00_438 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Foreign/cptr.scm 57 */
obj_t BgL_arg2260z00_440;
{ /* ./Foreign/cptr.scm 57 */
obj_t BgL_arg2263z00_441;
{ /* ./Foreign/cptr.scm 57 */
obj_t BgL_arg2266z00_442;obj_t BgL_arg2267z00_443;
BgL_arg2266z00_442 = 
MAKE_PAIR(BgL_bidz00_180, BNIL); 
BgL_arg2267z00_443 = 
MAKE_PAIR(BgL_mnamez00_437, BNIL); 
BgL_arg2263z00_441 = 
MAKE_PAIR(BgL_arg2266z00_442, BgL_arg2267z00_443); } 
BgL_arg2260z00_440 = 
MAKE_PAIR(BgL_bidzd2ze3idz31_182, BgL_arg2263z00_441); } 
BgL_arg2256z00_439 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg2260z00_440); } 
BgL_arg1766z00_233 = 
MAKE_PAIR(BgL_arg2255z00_438, BgL_arg2256z00_439); } } 
BgL_arg1760z00_232 = 
MAKE_PAIR(BgL_arg1766z00_233, BNIL); } 
BgL_arg1755z00_230 = 
MAKE_PAIR(BgL_arg1758z00_231, BgL_arg1760z00_232); } 
BgL_arg1748z00_228 = 
MAKE_PAIR(BgL_arg1752z00_229, BgL_arg1755z00_230); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1748z00_228); } 
{ /* ./Foreign/cptr.scm 160 */
obj_t BgL_arg1771z00_235;
{ /* ./Foreign/cptr.scm 160 */
obj_t BgL_arg1775z00_236;obj_t BgL_arg1776z00_237;
BgL_arg1775z00_236 = 
CNST_TABLE_REF(((long)34)); 
{ /* ./Foreign/cptr.scm 161 */
obj_t BgL_arg1779z00_238;
{ /* ./Foreign/cptr.scm 161 */
obj_t BgL_arg1783z00_240;
{ /* ./Foreign/cptr.scm 161 */
obj_t BgL_arg1786z00_241;
{ /* ./Foreign/cptr.scm 161 */
obj_t BgL_auxz00_635;
BgL_auxz00_635 = 
CNST_TABLE_REF(((long)30)); 
BgL_arg1786z00_241 = 
MAKE_PAIR(BgL_auxz00_635, BNIL); } 
BgL_arg1783z00_240 = 
MAKE_PAIR(BgL_bidzf3zd2boolz21_184, BgL_arg1786z00_241); } 
BgL_arg1779z00_238 = 
BGl_makezd2protozd2inlinez00zzforeign_libraryz00(BgL_arg1783z00_240); } 
BgL_arg1776z00_237 = 
MAKE_PAIR(BgL_arg1779z00_238, BNIL); } 
BgL_arg1771z00_235 = 
MAKE_PAIR(BgL_arg1775z00_236, BgL_arg1776z00_237); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1771z00_235); } 
{ /* ./Foreign/cptr.scm 162 */
obj_t BgL_arg1790z00_242;
{ /* ./Foreign/cptr.scm 162 */
obj_t BgL_arg1793z00_243;obj_t BgL_arg1794z00_244;
BgL_arg1793z00_243 = 
CNST_TABLE_REF(((long)22)); 
{ /* ./Foreign/cptr.scm 162 */
obj_t BgL_arg1798z00_245;
{ /* ./Foreign/cptr.scm 162 */
obj_t BgL_arg1802z00_247;
{ /* ./Foreign/cptr.scm 162 */
obj_t BgL_arg1805z00_248;
{ /* ./Foreign/cptr.scm 162 */
obj_t BgL_arg1809z00_250;obj_t BgL_arg1810z00_251;
BgL_arg1809z00_250 = 
CNST_TABLE_REF(((long)35)); 
BgL_arg1810z00_251 = 
MAKE_PAIR(BgL_widz00_179, BNIL); 
BgL_arg1805z00_248 = 
MAKE_PAIR(BgL_arg1809z00_250, BgL_arg1810z00_251); } 
BgL_arg1802z00_247 = 
MAKE_PAIR(BgL_arg1805z00_248, BNIL); } 
BgL_arg1798z00_245 = 
MAKE_PAIR(BgL_bidzf3zf3_183, BgL_arg1802z00_247); } 
BgL_arg1794z00_244 = 
MAKE_PAIR(BgL_arg1798z00_245, BNIL); } 
BgL_arg1790z00_242 = 
MAKE_PAIR(BgL_arg1793z00_243, BgL_arg1794z00_244); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1790z00_242); } 
{ /* ./Foreign/cptr.scm 164 */
obj_t BgL_arg1815z00_252;obj_t BgL_arg1816z00_253;
{ 

{ /* ./Foreign/cptr.scm 103 */
bool_t BgL_test1982z00_318;
{ /* ./Foreign/cptr.scm 103 */
bool_t BgL_test1985z00_319;
{ /* ./Foreign/cptr.scm 103 */
bool_t BgL_testz00_652;
{ 
obj_t BgL_auxz00_653;
{ /* ./Foreign/cptr.scm 103 */
BgL_objectz00_bglt BgL_auxz00_654;
BgL_auxz00_654 = 
(BgL_objectz00_bglt)(BgL_whatz00_172); 
BgL_auxz00_653 = 
BGL_OBJECT_WIDENING(BgL_auxz00_654); } 
BgL_testz00_652 = 
(((BgL_cptrz00_bglt)CREF(BgL_auxz00_653))->BgL_arrayzf3zf3); } 
if(BgL_testz00_652)
{ /* ./Foreign/cptr.scm 103 */
obj_t BgL_auxz00_660;obj_t BgL_auxz00_658;
BgL_auxz00_660 = 
(obj_t)(BgL_whatz00_172); 
BgL_auxz00_658 = 
(obj_t)(BgL_whoz00_173); 
BgL_test1985z00_319 = 
(BgL_auxz00_658==BgL_auxz00_660); }  else 
{ /* ./Foreign/cptr.scm 103 */
BgL_test1985z00_319 = ((bool_t)0); } } 
if(BgL_test1985z00_319)
{ /* ./Foreign/cptr.scm 103 */
BgL_test1982z00_318 = ((bool_t)1); }  else 
{ /* ./Foreign/cptr.scm 104 */
bool_t BgL__andtest_1587z00_320;
{ /* ./Foreign/cptr.scm 104 */
obj_t BgL_obj1109z00_489;
BgL_obj1109z00_489 = 
(obj_t)(BgL_whoz00_173); 
BgL__andtest_1587z00_320 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1109z00_489, BGl_caliasz00zzforeign_ctypez00); } 
if(BgL__andtest_1587z00_320)
{ /* ./Foreign/cptr.scm 104 */
BgL_caliasz00_bglt BgL_obj1110z00_490;
BgL_obj1110z00_490 = 
(BgL_caliasz00_bglt)(BgL_whoz00_173); 
{ 
obj_t BgL_auxz00_668;
{ /* ./Foreign/cptr.scm 104 */
BgL_objectz00_bglt BgL_auxz00_669;
BgL_auxz00_669 = 
(BgL_objectz00_bglt)(BgL_obj1110z00_490); 
BgL_auxz00_668 = 
BGL_OBJECT_WIDENING(BgL_auxz00_669); } 
BgL_test1982z00_318 = 
(((BgL_caliasz00_bglt)CREF(BgL_auxz00_668))->BgL_arrayzf3zf3); } }  else 
{ /* ./Foreign/cptr.scm 104 */
BgL_test1982z00_318 = ((bool_t)0); } } } 
if(BgL_test1982z00_318)
{ /* ./Foreign/cptr.scm 103 */
{ /* ./Foreign/cptr.scm 99 */
obj_t BgL_arg1993z00_323;obj_t BgL_arg1994z00_324;
{ /* ./Foreign/cptr.scm 99 */
obj_t BgL_arg2000z00_325;
{ /* ./Foreign/cptr.scm 99 */
obj_t BgL_arg2005z00_327;
{ /* ./Foreign/cptr.scm 99 */
obj_t BgL_list2008z00_328;
{ /* ./Foreign/cptr.scm 99 */
obj_t BgL_arg2010z00_329;obj_t BgL_arg2011z00_330;
BgL_arg2010z00_329 = 
CNST_TABLE_REF(((long)21)); 
BgL_arg2011z00_330 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_list2008z00_328 = 
MAKE_PAIR(BgL_arg2010z00_329, BgL_arg2011z00_330); } 
BgL_arg2005z00_327 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2008z00_328); } 
BgL_arg2000z00_325 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_arg2005z00_327, BgL_idz00_178); } 
BgL_arg1993z00_323 = 
MAKE_PAIR(BgL_arg2000z00_325, BNIL); } 
{ /* ./Foreign/cptr.scm 100 */
obj_t BgL_arg2015z00_331;obj_t BgL_arg2016z00_332;
BgL_arg2015z00_331 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)22)), BgL_idz00_178); 
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_arg2021z00_333;
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_arg2029z00_338;
BgL_arg2029z00_338 = 
(((BgL_typez00_bglt)CREF(BgL_whoz00_173))->BgL_siza7eza7); 
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_list2032z00_340;
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_arg2035z00_341;
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_arg2038z00_342;
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_arg2041z00_343;
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_arg2044z00_344;
{ /* ./Foreign/cptr.scm 101 */
obj_t BgL_arg2047z00_345;
BgL_arg2047z00_345 = 
MAKE_PAIR(BGl_string2405z00zzforeign_cpointerz00, BNIL); 
BgL_arg2044z00_344 = 
MAKE_PAIR(BgL_arg2029z00_338, BgL_arg2047z00_345); } 
BgL_arg2041z00_343 = 
MAKE_PAIR(BGl_string2406z00zzforeign_cpointerz00, BgL_arg2044z00_344); } 
BgL_arg2038z00_342 = 
MAKE_PAIR(BGl_string2407z00zzforeign_cpointerz00, BgL_arg2041z00_343); } 
BgL_arg2035z00_341 = 
MAKE_PAIR(BgL_namezd2sanszd2z42z42_186, BgL_arg2038z00_342); } 
BgL_list2032z00_340 = 
MAKE_PAIR(BGl_string2400z00zzforeign_cpointerz00, BgL_arg2035z00_341); } 
BgL_arg2021z00_333 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list2032z00_340); } } 
BgL_arg2016z00_332 = 
MAKE_PAIR(BgL_arg2021z00_333, BNIL); } 
BgL_arg1994z00_324 = 
MAKE_PAIR(BgL_arg2015z00_331, BgL_arg2016z00_332); } 
BgL_arg1815z00_252 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg1993z00_323, BgL_arg1994z00_324); } }  else 
{ /* ./Foreign/cptr.scm 103 */
{ /* ./Foreign/cptr.scm 91 */
obj_t BgL_arg2053z00_347;obj_t BgL_arg2054z00_348;
{ /* ./Foreign/cptr.scm 91 */
obj_t BgL_arg2057z00_349;obj_t BgL_arg2058z00_350;
{ /* ./Foreign/cptr.scm 91 */
obj_t BgL_arg2061z00_351;
{ /* ./Foreign/cptr.scm 91 */
obj_t BgL_list2064z00_352;
{ /* ./Foreign/cptr.scm 91 */
obj_t BgL_arg2066z00_353;obj_t BgL_arg2067z00_354;
BgL_arg2066z00_353 = 
CNST_TABLE_REF(((long)21)); 
BgL_arg2067z00_354 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_list2064z00_352 = 
MAKE_PAIR(BgL_arg2066z00_353, BgL_arg2067z00_354); } 
BgL_arg2061z00_351 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2064z00_352); } 
BgL_arg2057z00_349 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_arg2061z00_351, BgL_idz00_178); } 
{ /* ./Foreign/cptr.scm 91 */
obj_t BgL_auxz00_698;
BgL_auxz00_698 = 
CNST_TABLE_REF(((long)23)); 
BgL_arg2058z00_350 = 
MAKE_PAIR(BgL_auxz00_698, BNIL); } 
BgL_arg2053z00_347 = 
MAKE_PAIR(BgL_arg2057z00_349, BgL_arg2058z00_350); } 
{ /* ./Foreign/cptr.scm 92 */
obj_t BgL_arg2072z00_355;obj_t BgL_arg2073z00_356;
BgL_arg2072z00_355 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)22)), BgL_idz00_178); 
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_arg2077z00_357;obj_t BgL_arg2078z00_358;
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_list2081z00_359;
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_arg2084z00_361;
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_arg2087z00_362;
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_arg2091z00_364;
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_arg2095z00_366;
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_arg2098z00_367;
{ /* ./Foreign/cptr.scm 93 */
obj_t BgL_arg2102z00_369;
BgL_arg2102z00_369 = 
MAKE_PAIR(BGl_string2408z00zzforeign_cpointerz00, BNIL); 
BgL_arg2098z00_367 = 
MAKE_PAIR(BGl_string2409z00zzforeign_cpointerz00, BgL_arg2102z00_369); } 
BgL_arg2095z00_366 = 
MAKE_PAIR(BgL_pointzd2tozd2namezd2sanszd2z42z42_190, BgL_arg2098z00_367); } 
BgL_arg2091z00_364 = 
MAKE_PAIR(BGl_string2406z00zzforeign_cpointerz00, BgL_arg2095z00_366); } 
BgL_arg2087z00_362 = 
MAKE_PAIR(BGl_string2407z00zzforeign_cpointerz00, BgL_arg2091z00_364); } 
BgL_arg2084z00_361 = 
MAKE_PAIR(BgL_namezd2sanszd2z42z42_186, BgL_arg2087z00_362); } 
BgL_list2081z00_359 = 
MAKE_PAIR(BGl_string2400z00zzforeign_cpointerz00, BgL_arg2084z00_361); } 
BgL_arg2077z00_357 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list2081z00_359); } 
{ /* ./Foreign/cptr.scm 92 */
obj_t BgL_auxz00_712;
BgL_auxz00_712 = 
CNST_TABLE_REF(((long)24)); 
BgL_arg2078z00_358 = 
MAKE_PAIR(BgL_auxz00_712, BNIL); } 
BgL_arg2073z00_356 = 
MAKE_PAIR(BgL_arg2077z00_357, BgL_arg2078z00_358); } 
BgL_arg2054z00_348 = 
MAKE_PAIR(BgL_arg2072z00_355, BgL_arg2073z00_356); } 
BgL_arg1815z00_252 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg2053z00_347, BgL_arg2054z00_348); } } } } 
{ /* ./Foreign/cptr.scm 165 */
obj_t BgL_arg1821z00_254;obj_t BgL_arg1822z00_255;
{ /* ./Foreign/cptr.scm 68 */
obj_t BgL_arg2176z00_402;obj_t BgL_arg2177z00_403;
{ /* ./Foreign/cptr.scm 68 */
obj_t BgL_arg2180z00_404;obj_t BgL_arg2181z00_405;
{ /* ./Foreign/cptr.scm 68 */
obj_t BgL_list2184z00_406;
{ /* ./Foreign/cptr.scm 68 */
obj_t BgL_arg2187z00_407;obj_t BgL_arg2188z00_408;
BgL_arg2187z00_407 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Foreign/cptr.scm 68 */
obj_t BgL_arg2191z00_409;
{ /* ./Foreign/cptr.scm 68 */
obj_t BgL_auxz00_719;
BgL_auxz00_719 = 
CNST_TABLE_REF(((long)13)); 
BgL_arg2191z00_409 = 
MAKE_PAIR(BgL_auxz00_719, BNIL); } 
BgL_arg2188z00_408 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg2191z00_409); } 
BgL_list2184z00_406 = 
MAKE_PAIR(BgL_arg2187z00_407, BgL_arg2188z00_408); } 
BgL_arg2180z00_404 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2184z00_406); } 
{ /* ./Foreign/cptr.scm 69 */
obj_t BgL_arg2195z00_410;obj_t BgL_arg2196z00_411;
BgL_arg2195z00_410 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)14)), BgL_idz00_178); 
{ /* ./Foreign/cptr.scm 70 */
obj_t BgL_arg2200z00_412;
BgL_arg2200z00_412 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)15)), BgL_idz00_178); 
BgL_arg2196z00_411 = 
MAKE_PAIR(BgL_arg2200z00_412, BNIL); } 
BgL_arg2181z00_405 = 
MAKE_PAIR(BgL_arg2195z00_410, BgL_arg2196z00_411); } 
BgL_arg2176z00_402 = 
MAKE_PAIR(BgL_arg2180z00_404, BgL_arg2181z00_405); } 
BgL_arg2177z00_403 = 
CNST_TABLE_REF(((long)16)); 
BgL_arg1821z00_254 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg2176z00_402, BgL_arg2177z00_403); } 
{ /* ./Foreign/cptr.scm 166 */
obj_t BgL_arg1826z00_256;obj_t BgL_arg1829z00_257;
{ /* ./Foreign/cptr.scm 75 */
obj_t BgL_arg2146z00_389;obj_t BgL_arg2147z00_390;
{ /* ./Foreign/cptr.scm 75 */
obj_t BgL_arg2150z00_391;obj_t BgL_arg2151z00_392;
{ /* ./Foreign/cptr.scm 75 */
obj_t BgL_list2154z00_393;
{ /* ./Foreign/cptr.scm 75 */
obj_t BgL_arg2156z00_394;
{ /* ./Foreign/cptr.scm 75 */
obj_t BgL_auxz00_734;
BgL_auxz00_734 = 
CNST_TABLE_REF(((long)17)); 
BgL_arg2156z00_394 = 
MAKE_PAIR(BgL_auxz00_734, BNIL); } 
BgL_list2154z00_393 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg2156z00_394); } 
BgL_arg2150z00_391 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2154z00_393); } 
{ /* ./Foreign/cptr.scm 76 */
obj_t BgL_arg2160z00_395;
BgL_arg2160z00_395 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)8)), BgL_idz00_178); 
BgL_arg2151z00_392 = 
MAKE_PAIR(BgL_arg2160z00_395, BNIL); } 
BgL_arg2146z00_389 = 
MAKE_PAIR(BgL_arg2150z00_391, BgL_arg2151z00_392); } 
{ /* ./Foreign/cptr.scm 77 */
obj_t BgL_arg2165z00_397;obj_t BgL_arg2166z00_398;
BgL_arg2165z00_397 = 
CNST_TABLE_REF(((long)18)); 
{ /* ./Foreign/cptr.scm 78 */
obj_t BgL_arg2169z00_399;obj_t BgL_arg2170z00_400;
BgL_arg2169z00_399 = 
string_append_3(BGl_string2402z00zzforeign_cpointerz00, BgL_namezd2sanszd2z42z42_186, BGl_string2403z00zzforeign_cpointerz00); 
{ /* ./Foreign/cptr.scm 77 */
obj_t BgL_auxz00_745;
BgL_auxz00_745 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg2170z00_400 = 
MAKE_PAIR(BgL_auxz00_745, BNIL); } 
BgL_arg2166z00_398 = 
MAKE_PAIR(BgL_arg2169z00_399, BgL_arg2170z00_400); } 
BgL_arg2147z00_390 = 
MAKE_PAIR(BgL_arg2165z00_397, BgL_arg2166z00_398); } 
BgL_arg1826z00_256 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg2146z00_389, BgL_arg2147z00_390); } 
{ /* ./Foreign/cptr.scm 167 */
obj_t BgL_arg1833z00_258;obj_t BgL_arg1836z00_259;
{ /* ./Foreign/cptr.scm 83 */
obj_t BgL_arg2108z00_373;obj_t BgL_arg2109z00_374;
{ /* ./Foreign/cptr.scm 83 */
obj_t BgL_arg2112z00_375;
{ /* ./Foreign/cptr.scm 83 */
obj_t BgL_arg2116z00_377;
{ /* ./Foreign/cptr.scm 83 */
obj_t BgL_list2119z00_378;
{ /* ./Foreign/cptr.scm 83 */
obj_t BgL_arg2122z00_379;obj_t BgL_arg2123z00_380;
BgL_arg2122z00_379 = 
CNST_TABLE_REF(((long)19)); 
BgL_arg2123z00_380 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_list2119z00_378 = 
MAKE_PAIR(BgL_arg2122z00_379, BgL_arg2123z00_380); } 
BgL_arg2116z00_377 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2119z00_378); } 
BgL_arg2112z00_375 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_arg2116z00_377, BgL_idz00_178); } 
BgL_arg2108z00_373 = 
MAKE_PAIR(BgL_arg2112z00_375, BNIL); } 
{ /* ./Foreign/cptr.scm 84 */
obj_t BgL_arg2127z00_381;obj_t BgL_arg2128z00_382;
{ /* ./Foreign/cptr.scm 84 */
obj_t BgL_list2131z00_383;
{ /* ./Foreign/cptr.scm 84 */
obj_t BgL_arg2133z00_384;obj_t BgL_arg2135z00_385;
BgL_arg2133z00_384 = 
CNST_TABLE_REF(((long)20)); 
BgL_arg2135z00_385 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_list2131z00_383 = 
MAKE_PAIR(BgL_arg2133z00_384, BgL_arg2135z00_385); } 
BgL_arg2127z00_381 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2131z00_383); } 
{ /* ./Foreign/cptr.scm 85 */
obj_t BgL_arg2139z00_386;
BgL_arg2139z00_386 = 
string_append_3(BGl_string2404z00zzforeign_cpointerz00, BgL_namezd2sanszd2z42z42_186, BGl_string2403z00zzforeign_cpointerz00); 
BgL_arg2128z00_382 = 
MAKE_PAIR(BgL_arg2139z00_386, BNIL); } 
BgL_arg2109z00_374 = 
MAKE_PAIR(BgL_arg2127z00_381, BgL_arg2128z00_382); } 
BgL_arg1833z00_258 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg2108z00_373, BgL_arg2109z00_374); } 
{ /* ./Foreign/cptr.scm 168 */
obj_t BgL_arg1840z00_260;obj_t BgL_arg1842z00_261;
{ /* ./Foreign/cptr.scm 61 */
obj_t BgL_arg2206z00_415;obj_t BgL_arg2207z00_416;
{ /* ./Foreign/cptr.scm 61 */
obj_t BgL_arg2210z00_417;
{ /* ./Foreign/cptr.scm 61 */
obj_t BgL_auxz00_765;
BgL_auxz00_765 = 
CNST_TABLE_REF(((long)5)); 
BgL_arg2210z00_417 = 
MAKE_PAIR(BgL_auxz00_765, BNIL); } 
BgL_arg2206z00_415 = 
MAKE_PAIR(BgL_bidzf3zd2boolz21_184, BgL_arg2210z00_417); } 
{ /* ./Foreign/cptr.scm 62 */
obj_t BgL_arg2214z00_418;obj_t BgL_arg2215z00_419;
BgL_arg2214z00_418 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Foreign/cptr.scm 62 */
obj_t BgL_arg2218z00_420;obj_t BgL_arg2219z00_421;
{ /* ./Foreign/cptr.scm 62 */
obj_t BgL_arg2222z00_422;obj_t BgL_arg2223z00_423;
BgL_arg2222z00_422 = 
CNST_TABLE_REF(((long)7)); 
{ /* ./Foreign/cptr.scm 62 */
obj_t BgL_auxz00_771;
BgL_auxz00_771 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg2223z00_423 = 
MAKE_PAIR(BgL_auxz00_771, BNIL); } 
BgL_arg2218z00_420 = 
MAKE_PAIR(BgL_arg2222z00_422, BgL_arg2223z00_423); } 
{ /* ./Foreign/cptr.scm 63 */
obj_t BgL_arg2227z00_424;obj_t BgL_arg2228z00_425;
{ /* ./Foreign/cptr.scm 63 */
obj_t BgL_arg2231z00_426;obj_t BgL_arg2232z00_427;
BgL_arg2231z00_426 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Foreign/cptr.scm 63 */
obj_t BgL_arg2235z00_428;obj_t BgL_arg2236z00_429;
{ /* ./Foreign/cptr.scm 63 */
obj_t BgL_arg2239z00_430;obj_t BgL_arg2240z00_431;
BgL_arg2239z00_430 = 
CNST_TABLE_REF(((long)10)); 
{ /* ./Foreign/cptr.scm 63 */
obj_t BgL_auxz00_777;
BgL_auxz00_777 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg2240z00_431 = 
MAKE_PAIR(BgL_auxz00_777, BNIL); } 
BgL_arg2235z00_428 = 
MAKE_PAIR(BgL_arg2239z00_430, BgL_arg2240z00_431); } 
{ /* ./Foreign/cptr.scm 63 */
obj_t BgL_arg2244z00_432;
{ /* ./Foreign/cptr.scm 63 */
obj_t BgL_arg2248z00_434;obj_t BgL_arg2249z00_435;
BgL_arg2248z00_434 = 
CNST_TABLE_REF(((long)11)); 
BgL_arg2249z00_435 = 
MAKE_PAIR(BgL_bidz00_180, BNIL); 
BgL_arg2244z00_432 = 
MAKE_PAIR(BgL_arg2248z00_434, BgL_arg2249z00_435); } 
BgL_arg2236z00_429 = 
MAKE_PAIR(BgL_arg2244z00_432, BNIL); } 
BgL_arg2232z00_427 = 
MAKE_PAIR(BgL_arg2235z00_428, BgL_arg2236z00_429); } 
BgL_arg2227z00_424 = 
MAKE_PAIR(BgL_arg2231z00_426, BgL_arg2232z00_427); } 
BgL_arg2228z00_425 = 
MAKE_PAIR(BFALSE, BNIL); 
BgL_arg2219z00_421 = 
MAKE_PAIR(BgL_arg2227z00_424, BgL_arg2228z00_425); } 
BgL_arg2215z00_419 = 
MAKE_PAIR(BgL_arg2218z00_420, BgL_arg2219z00_421); } 
BgL_arg2207z00_416 = 
MAKE_PAIR(BgL_arg2214z00_418, BgL_arg2215z00_419); } 
BgL_arg1840z00_260 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg2206z00_415, BgL_arg2207z00_416); } 
{ /* ./Foreign/cptr.scm 110 */
obj_t BgL_refzd2idzd2_263;obj_t BgL_setzd2idzd2_264;obj_t BgL_refzd2typezd2idz00_265;obj_t BgL_refzd2fmtzd2_266;obj_t BgL_setzd2fmtzd2_267;
{ /* ./Foreign/cptr.scm 110 */
obj_t BgL_list1953z00_306;
{ /* ./Foreign/cptr.scm 110 */
obj_t BgL_arg1955z00_307;
{ /* ./Foreign/cptr.scm 110 */
obj_t BgL_auxz00_792;
BgL_auxz00_792 = 
CNST_TABLE_REF(((long)25)); 
BgL_arg1955z00_307 = 
MAKE_PAIR(BgL_auxz00_792, BNIL); } 
BgL_list1953z00_306 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1955z00_307); } 
BgL_refzd2idzd2_263 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1953z00_306); } 
{ /* ./Foreign/cptr.scm 111 */
obj_t BgL_list1959z00_308;
{ /* ./Foreign/cptr.scm 111 */
obj_t BgL_arg1962z00_309;
{ /* ./Foreign/cptr.scm 111 */
obj_t BgL_auxz00_797;
BgL_auxz00_797 = 
CNST_TABLE_REF(((long)26)); 
BgL_arg1962z00_309 = 
MAKE_PAIR(BgL_auxz00_797, BNIL); } 
BgL_list1959z00_308 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1962z00_309); } 
BgL_setzd2idzd2_264 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1959z00_308); } 
{ /* ./Foreign/cptr.scm 112 */
bool_t BgL_test1965z00_310;
{ /* ./Foreign/cptr.scm 112 */
obj_t BgL_obj1453z00_483;
BgL_obj1453z00_483 = 
(obj_t)(BgL_pointzd2tozd2_187); 
BgL_test1965z00_310 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1453z00_483, BGl_cstructz00zzforeign_ctypez00); } 
if(BgL_test1965z00_310)
{ /* ./Foreign/cptr.scm 113 */
obj_t BgL_list1967z00_311;
{ /* ./Foreign/cptr.scm 113 */
obj_t BgL_arg1969z00_312;
{ /* ./Foreign/cptr.scm 113 */
obj_t BgL_auxz00_805;
BgL_auxz00_805 = 
CNST_TABLE_REF(((long)27)); 
BgL_arg1969z00_312 = 
MAKE_PAIR(BgL_auxz00_805, BNIL); } 
BgL_list1967z00_311 = 
MAKE_PAIR(BgL_pointzd2tozd2idz00_188, BgL_arg1969z00_312); } 
BgL_refzd2typezd2idz00_265 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1967z00_311); }  else 
{ /* ./Foreign/cptr.scm 112 */
BgL_refzd2typezd2idz00_265 = BgL_pointzd2tozd2idz00_188; } } 
{ /* ./Foreign/cptr.scm 115 */
bool_t BgL_test1973z00_313;
{ /* ./Foreign/cptr.scm 115 */
obj_t BgL_obj1453z00_484;
BgL_obj1453z00_484 = 
(obj_t)(BgL_pointzd2tozd2_187); 
BgL_test1973z00_313 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1453z00_484, BGl_cstructz00zzforeign_ctypez00); } 
if(BgL_test1973z00_313)
{ /* ./Foreign/cptr.scm 115 */
BgL_refzd2fmtzd2_266 = 
string_append_3(BGl_string2410z00zzforeign_cpointerz00, BgL_namezd2sanszd2z42z42_186, BGl_string2411z00zzforeign_cpointerz00); }  else 
{ /* ./Foreign/cptr.scm 115 */
BgL_refzd2fmtzd2_266 = 
string_append_3(BGl_string2404z00zzforeign_cpointerz00, BgL_namezd2sanszd2z42z42_186, BGl_string2412z00zzforeign_cpointerz00); } } 
{ /* ./Foreign/cptr.scm 120 */
bool_t BgL_test1977z00_314;
{ /* ./Foreign/cptr.scm 120 */
obj_t BgL_obj1453z00_485;
BgL_obj1453z00_485 = 
(obj_t)(BgL_pointzd2tozd2_187); 
BgL_test1977z00_314 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1453z00_485, BGl_cstructz00zzforeign_ctypez00); } 
if(BgL_test1977z00_314)
{ /* ./Foreign/cptr.scm 120 */
BgL_setzd2fmtzd2_267 = 
string_append_3(BGl_string2413z00zzforeign_cpointerz00, BgL_namezd2sanszd2z42z42_186, BGl_string2414z00zzforeign_cpointerz00); }  else 
{ /* ./Foreign/cptr.scm 120 */
BgL_setzd2fmtzd2_267 = 
string_append_3(BGl_string2413z00zzforeign_cpointerz00, BgL_namezd2sanszd2z42z42_186, BGl_string2415z00zzforeign_cpointerz00); } } 
{ /* ./Foreign/cptr.scm 129 */
obj_t BgL_arg1848z00_268;obj_t BgL_arg1849z00_269;
{ /* ./Foreign/cptr.scm 129 */
obj_t BgL_arg1857z00_272;obj_t BgL_arg1859z00_273;
{ /* ./Foreign/cptr.scm 129 */
obj_t BgL_arg1862z00_274;obj_t BgL_arg1864z00_275;
{ /* ./Foreign/cptr.scm 129 */
obj_t BgL_arg1867z00_276;
{ /* ./Foreign/cptr.scm 129 */
obj_t BgL_list1870z00_277;
BgL_list1870z00_277 = 
MAKE_PAIR(BgL_refzd2idzd2_263, BNIL); 
BgL_arg1867z00_276 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1870z00_277); } 
BgL_arg1862z00_274 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_arg1867z00_276, BgL_refzd2typezd2idz00_265); } 
{ /* ./Foreign/cptr.scm 130 */
obj_t BgL_arg1873z00_278;obj_t BgL_arg1874z00_279;
BgL_arg1873z00_278 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)8)), BgL_idz00_178); 
{ /* ./Foreign/cptr.scm 129 */
obj_t BgL_auxz00_825;
BgL_auxz00_825 = 
CNST_TABLE_REF(((long)28)); 
BgL_arg1874z00_279 = 
MAKE_PAIR(BgL_auxz00_825, BNIL); } 
BgL_arg1864z00_275 = 
MAKE_PAIR(BgL_arg1873z00_278, BgL_arg1874z00_279); } 
BgL_arg1857z00_272 = 
MAKE_PAIR(BgL_arg1862z00_274, BgL_arg1864z00_275); } 
{ /* ./Foreign/cptr.scm 132 */
obj_t BgL_arg1879z00_280;obj_t BgL_arg1880z00_281;
{ /* ./Foreign/cptr.scm 132 */
obj_t BgL_arg1884z00_282;
{ /* ./Foreign/cptr.scm 132 */
obj_t BgL_list1887z00_283;
{ /* ./Foreign/cptr.scm 132 */
obj_t BgL_auxz00_830;
BgL_auxz00_830 = 
CNST_TABLE_REF(((long)22)); 
BgL_list1887z00_283 = 
MAKE_PAIR(BgL_auxz00_830, BNIL); } 
BgL_arg1884z00_282 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1887z00_283); } 
BgL_arg1879z00_280 = 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_arg1884z00_282, BgL_refzd2typezd2idz00_265); } 
{ /* ./Foreign/cptr.scm 132 */
obj_t BgL_arg1890z00_284;
{ /* ./Foreign/cptr.scm 132 */
obj_t BgL_arg1893z00_285;obj_t BgL_arg1894z00_286;
BgL_arg1893z00_285 = 
CNST_TABLE_REF(((long)8)); 
{ /* ./Foreign/cptr.scm 132 */
obj_t BgL_auxz00_836;
BgL_auxz00_836 = 
CNST_TABLE_REF(((long)29)); 
BgL_arg1894z00_286 = 
MAKE_PAIR(BgL_auxz00_836, BNIL); } 
BgL_arg1890z00_284 = 
MAKE_PAIR(BgL_arg1893z00_285, BgL_arg1894z00_286); } 
BgL_arg1880z00_281 = 
MAKE_PAIR(BgL_refzd2fmtzd2_266, BgL_arg1890z00_284); } 
BgL_arg1859z00_273 = 
MAKE_PAIR(BgL_arg1879z00_280, BgL_arg1880z00_281); } 
BgL_arg1848z00_268 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg1857z00_272, BgL_arg1859z00_273); } 
{ /* ./Foreign/cptr.scm 137 */
obj_t BgL_arg1898z00_287;obj_t BgL_arg1902z00_288;
{ /* ./Foreign/cptr.scm 137 */
obj_t BgL_arg1905z00_289;obj_t BgL_arg1906z00_290;
{ /* ./Foreign/cptr.scm 137 */
obj_t BgL_list1909z00_291;
{ /* ./Foreign/cptr.scm 137 */
obj_t BgL_arg1911z00_292;
{ /* ./Foreign/cptr.scm 137 */
obj_t BgL_auxz00_843;
BgL_auxz00_843 = 
CNST_TABLE_REF(((long)30)); 
BgL_arg1911z00_292 = 
MAKE_PAIR(BgL_auxz00_843, BNIL); } 
BgL_list1909z00_291 = 
MAKE_PAIR(BgL_setzd2idzd2_264, BgL_arg1911z00_292); } 
BgL_arg1905z00_289 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1909z00_291); } 
{ /* ./Foreign/cptr.scm 138 */
obj_t BgL_arg1915z00_293;obj_t BgL_arg1916z00_294;
BgL_arg1915z00_293 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)8)), BgL_idz00_178); 
{ /* ./Foreign/cptr.scm 137 */
obj_t BgL_arg1920z00_295;obj_t BgL_arg1922z00_296;
BgL_arg1920z00_295 = 
CNST_TABLE_REF(((long)28)); 
{ /* ./Foreign/cptr.scm 140 */
obj_t BgL_arg1925z00_297;
BgL_arg1925z00_297 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)31)), BgL_refzd2typezd2idz00_265); 
BgL_arg1922z00_296 = 
MAKE_PAIR(BgL_arg1925z00_297, BNIL); } 
BgL_arg1916z00_294 = 
MAKE_PAIR(BgL_arg1920z00_295, BgL_arg1922z00_296); } 
BgL_arg1906z00_290 = 
MAKE_PAIR(BgL_arg1915z00_293, BgL_arg1916z00_294); } 
BgL_arg1898z00_287 = 
MAKE_PAIR(BgL_arg1905z00_289, BgL_arg1906z00_290); } 
{ /* ./Foreign/cptr.scm 141 */
obj_t BgL_arg1933z00_299;obj_t BgL_arg1934z00_300;
BgL_arg1933z00_299 = 
CNST_TABLE_REF(((long)22)); 
{ /* ./Foreign/cptr.scm 141 */
obj_t BgL_arg1938z00_301;
{ /* ./Foreign/cptr.scm 141 */
obj_t BgL_arg1941z00_302;obj_t BgL_arg1945z00_303;
BgL_arg1941z00_302 = 
CNST_TABLE_REF(((long)8)); 
{ /* ./Foreign/cptr.scm 141 */
obj_t BgL_arg1948z00_304;obj_t BgL_arg1949z00_305;
BgL_arg1948z00_304 = 
CNST_TABLE_REF(((long)29)); 
{ /* ./Foreign/cptr.scm 141 */
obj_t BgL_auxz00_860;
BgL_auxz00_860 = 
CNST_TABLE_REF(((long)31)); 
BgL_arg1949z00_305 = 
MAKE_PAIR(BgL_auxz00_860, BNIL); } 
BgL_arg1945z00_303 = 
MAKE_PAIR(BgL_arg1948z00_304, BgL_arg1949z00_305); } 
BgL_arg1938z00_301 = 
MAKE_PAIR(BgL_arg1941z00_302, BgL_arg1945z00_303); } 
BgL_arg1934z00_300 = 
MAKE_PAIR(BgL_setzd2fmtzd2_267, BgL_arg1938z00_301); } 
BgL_arg1902z00_288 = 
MAKE_PAIR(BgL_arg1933z00_299, BgL_arg1934z00_300); } 
BgL_arg1849z00_269 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg1898z00_287, BgL_arg1902z00_288); } 
{ /* ./Foreign/cptr.scm 127 */
obj_t BgL_list1851z00_270;
{ /* ./Foreign/cptr.scm 127 */
obj_t BgL_arg1853z00_271;
BgL_arg1853z00_271 = 
MAKE_PAIR(BgL_arg1849z00_269, BNIL); 
BgL_list1851z00_270 = 
MAKE_PAIR(BgL_arg1848z00_268, BgL_arg1853z00_271); } 
BgL_arg1842z00_261 = BgL_list1851z00_270; } } } 
BgL_arg1836z00_259 = 
MAKE_PAIR(BgL_arg1840z00_260, BgL_arg1842z00_261); } 
BgL_arg1829z00_257 = 
MAKE_PAIR(BgL_arg1833z00_258, BgL_arg1836z00_259); } 
BgL_arg1822z00_255 = 
MAKE_PAIR(BgL_arg1826z00_256, BgL_arg1829z00_257); } 
BgL_arg1816z00_253 = 
MAKE_PAIR(BgL_arg1821z00_254, BgL_arg1822z00_255); } 
return 
MAKE_PAIR(BgL_arg1815z00_252, BgL_arg1816z00_253);} } } } } } } } } } } } } } } } } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzforeign_cpointerz00()
{ AN_OBJECT;
{ /* ./Foreign/cptr.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zztools_miscz00(((long)64117), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zzforeign_ctypez00(((long)51394), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zzforeign_accessz00(((long)13730), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zzforeign_libraryz00(((long)43975), "foreign_cpointer"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "foreign_cpointer"); 
return 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "foreign_cpointer");} 
}

