/*===========================================================================*/
/*   (Object/coercion.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 Object/coercion.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_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

typedef struct BgL_jclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   obj_t BgL_packagez00;
} *BgL_jclassz00_bglt;

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;

typedef struct BgL_slotz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_srcz00;
   obj_t BgL_classzd2ownerzd2;
   obj_t BgL_typez00;
   bool_t BgL_readzd2onlyzf3z21;
   obj_t BgL_defaultzd2valuezd2;
   obj_t BgL_virtualzd2numzd2;
   obj_t BgL_getterz00;
   obj_t BgL_setterz00;
   obj_t BgL_indexedz00;
   obj_t BgL_userzd2infozd2;
} *BgL_slotz00_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_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzobject_coercionz00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(obj_t);
static obj_t BGl_czd2genzd2classzd2coercersz12zc0zzobject_coercionz00(obj_t, 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_superzd2ze3classzd2idze3zzobject_toolsz00(obj_t, obj_t);
extern obj_t BGl_tclassz00zzobject_classz00;
extern obj_t BGl_za2targetzd2languageza2zd2zzengine_paramz00;
static obj_t BGl__genzd2classzd2coercersz12z12zzobject_coercionz00(obj_t, obj_t, obj_t);
extern obj_t BGl_classzd2ze3objzd2idze3zzobject_toolsz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzobject_coercionz00();
extern obj_t BGl_objzd2ze3classzd2idze3zzobject_toolsz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_genzd2coercionzd2clausez12z12zzobject_coercionz00(obj_t, obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzobject_coercionz00();
static obj_t BGl_jvmzd2makezd2coercionzd2clausezd2zzobject_coercionz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
extern obj_t BGl_jclassz00zzobject_classz00;
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzobject_coercionz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_structz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_impusez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_privatez00(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_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_EXPORTED_DECL obj_t BGl_genzd2javazd2classzd2coercionsz12zc0zzobject_coercionz00(obj_t);
static obj_t BGl__genzd2javazd2classzd2coercionsz12zc0zzobject_coercionz00(obj_t, obj_t);
static obj_t BGl__genzd2coercionzd2clausez12z12zzobject_coercionz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_classzd2ze3superzd2idze3zzobject_toolsz00(obj_t, obj_t);
extern obj_t BGl_classzf3zd2idz21zzobject_toolsz00(obj_t);
static obj_t BGl_makezd2onezd2coercionz00zzobject_coercionz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_memvz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl__genzd2classzd2coercionsz12z12zzobject_coercionz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_genzd2classzd2coercersz12z12zzobject_coercionz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(obj_t);
static obj_t BGl_czd2makezd2coercionzd2clausezd2zzobject_coercionz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
extern obj_t BGl_makezd2privatezd2sexpz00zzast_privatez00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzobject_coercionz00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzobject_coercionz00();
static obj_t __cnst[ 16 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_genzd2classzd2coercersz12zd2envzc0zzobject_coercionz00, BgL_bgl__genza7d2classza7d2coercersza712za712za7za7object_coercionza7002725za7, BGl__genzd2classzd2coercersz12z12zzobject_coercionz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_genzd2coercionzd2clausez12zd2envzc0zzobject_coercionz00, BgL_bgl__genza7d2coercionza7d2clauseza712za712za7za7object_coercionza7002726za7, va_generic_entry, BGl__genzd2coercionzd2clausez12z12zzobject_coercionz00, -3 );
DEFINE_EXPORT_PROCEDURE( BGl_genzd2classzd2coercionsz12zd2envzc0zzobject_coercionz00, BgL_bgl__genza7d2classza7d2coercionsza712za712za7za7object_coercionza7002727za7, BGl__genzd2classzd2coercionsz12z12zzobject_coercionz00, 0L, 1 );
DEFINE_STRING( BGl_string2698z00zzobject_coercionz00, BgL_bgl_string2698za700za7za7object_coercionza7002728z00, "macro effect no-cfa-top side-effect-free pragma -> foreign cast x x::char lambda bool obj type coerce (jvm .net) ", 113 );
DEFINE_STRING( BGl_string2697z00zzobject_coercionz00, BgL_bgl_string2697za700za7za7object_coercionza7002729z00, ")", 1 );
DEFINE_STRING( BGl_string2696z00zzobject_coercionz00, BgL_bgl_string2696za700za7za7object_coercionza7002730z00, "(", 1 );
DEFINE_STRING( BGl_string2695z00zzobject_coercionz00, BgL_bgl_string2695za700za7za7object_coercionza7002731z00, "obj_t", 5 );
DEFINE_EXPORT_PROCEDURE( BGl_genzd2javazd2classzd2coercionsz12zd2envz12zzobject_coercionz00, BgL_bgl__genza7d2javaza7d2classza7d2coercionsza712za7c0za7za7object_coercionza7002732z00, BGl__genzd2javazd2classzd2coercionsz12zc0zzobject_coercionz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzobject_coercionz00(long BgL_checksumz00_858, char * BgL_fromz00_859)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzobject_coercionz00))
{ 
BGl_requirezd2initializa7ationz75zzobject_coercionz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzobject_coercionz00(); 
BGl_cnstzd2initzd2zzobject_coercionz00(); 
BGl_importedzd2moduleszd2initz00zzobject_coercionz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzobject_coercionz00()
{ AN_OBJECT;
{ /* ./Object/coercion.scm 21 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "object_coercion"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "object_coercion"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "object_coercion"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "object_coercion"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzobject_coercionz00()
{ AN_OBJECT;
{ /* ./Object/coercion.scm 21 */
{ /* ./Object/coercion.scm 21 */
obj_t BgL_cportz00_851;
BgL_cportz00_851 = 
open_input_string(BGl_string2698z00zzobject_coercionz00); 
{ 
long BgL_iz00_852;
BgL_iz00_852 = ((long)15); 
BgL_loopz00_853:
{ /* ./Object/coercion.scm 21 */
bool_t BgL_test2700z00_854;
BgL_test2700z00_854 = 
(BgL_iz00_852==((long)-1)); 
if(BgL_test2700z00_854)
{ /* ./Object/coercion.scm 21 */
return BUNSPEC;}  else 
{ /* ./Object/coercion.scm 21 */
{ /* ./Object/coercion.scm 21 */
obj_t BgL_arg2702z00_855;
{ /* ./Object/coercion.scm 21 */
obj_t BgL_list2705z00_856;
BgL_list2705z00_856 = 
MAKE_PAIR(BgL_cportz00_851, BNIL); 
BgL_arg2702z00_855 = 
BGl_readz00zz__readerz00(BgL_list2705z00_856); } 
{ /* ./Object/coercion.scm 21 */
int BgL_auxz00_875;
BgL_auxz00_875 = 
(int)(BgL_iz00_852); 
CNST_TABLE_SET(BgL_auxz00_875, BgL_arg2702z00_855); } } 
{ /* ./Object/coercion.scm 21 */
int BgL_auxz00_857;
{ /* ./Object/coercion.scm 21 */
long BgL_auxz00_878;
BgL_auxz00_878 = 
(BgL_iz00_852-((long)1)); 
BgL_auxz00_857 = 
(int)(BgL_auxz00_878); } 
{ 
long BgL_iz00_881;
BgL_iz00_881 = 
(long)(BgL_auxz00_857); 
BgL_iz00_852 = BgL_iz00_881; 
goto BgL_loopz00_853;} } } } } } } 
}



/* gen-class-coercions! */
BGL_EXPORTED_DEF obj_t BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(obj_t BgL_classz00_1)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 48 */
{ /* ./Object/coercion.scm 50 */
obj_t BgL_arg1891z00_383;obj_t BgL_arg1892z00_384;
{ /* ./Object/coercion.scm 50 */
BgL_typez00_bglt BgL_obj1003z00_803;
BgL_obj1003z00_803 = 
(BgL_typez00_bglt)(BgL_classz00_1); 
BgL_arg1891z00_383 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_803))->BgL_idz00); } 
{ /* ./Object/coercion.scm 50 */
BgL_tclassz00_bglt BgL_obj1608z00_804;
BgL_obj1608z00_804 = 
(BgL_tclassz00_bglt)(BgL_classz00_1); 
{ 
obj_t BgL_auxz00_886;
{ /* ./Object/coercion.scm 50 */
BgL_objectz00_bglt BgL_auxz00_887;
BgL_auxz00_887 = 
(BgL_objectz00_bglt)(BgL_obj1608z00_804); 
BgL_auxz00_886 = 
BGL_OBJECT_WIDENING(BgL_auxz00_887); } 
BgL_arg1892z00_384 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_886))->BgL_itszd2superzd2); } } 
BGl_genzd2coercionzd2clausez12z12zzobject_coercionz00(BgL_arg1891z00_383, BgL_arg1892z00_384, BNIL); } 
{ /* ./Object/coercion.scm 51 */
obj_t BgL_arg1898z00_386;
{ /* ./Object/coercion.scm 51 */
BgL_tclassz00_bglt BgL_obj1608z00_805;
BgL_obj1608z00_805 = 
(BgL_tclassz00_bglt)(BgL_classz00_1); 
{ 
obj_t BgL_auxz00_893;
{ /* ./Object/coercion.scm 51 */
BgL_objectz00_bglt BgL_auxz00_894;
BgL_auxz00_894 = 
(BgL_objectz00_bglt)(BgL_obj1608z00_805); 
BgL_auxz00_893 = 
BGL_OBJECT_WIDENING(BgL_auxz00_894); } 
BgL_arg1898z00_386 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_893))->BgL_itszd2superzd2); } } 
return 
BGl_genzd2classzd2coercersz12z12zzobject_coercionz00(BgL_classz00_1, BgL_arg1898z00_386);} } 
}



/* _gen-class-coercions! */
obj_t BGl__genzd2classzd2coercionsz12z12zzobject_coercionz00(obj_t BgL_envz00_840, obj_t BgL_classz00_841)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 48 */
return 
BGl_genzd2classzd2coercionsz12z12zzobject_coercionz00(BgL_classz00_841);} 
}



/* gen-java-class-coercions! */
BGL_EXPORTED_DEF obj_t BGl_genzd2javazd2classzd2coercionsz12zc0zzobject_coercionz00(obj_t BgL_classz00_2)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 56 */
{ /* ./Object/coercion.scm 58 */
obj_t BgL_arg1902z00_388;obj_t BgL_arg1904z00_389;
{ /* ./Object/coercion.scm 58 */
BgL_typez00_bglt BgL_obj1003z00_806;
BgL_obj1003z00_806 = 
(BgL_typez00_bglt)(BgL_classz00_2); 
BgL_arg1902z00_388 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_806))->BgL_idz00); } 
{ /* ./Object/coercion.scm 58 */
BgL_jclassz00_bglt BgL_obj1697z00_807;
BgL_obj1697z00_807 = 
(BgL_jclassz00_bglt)(BgL_classz00_2); 
{ 
obj_t BgL_auxz00_903;
{ /* ./Object/coercion.scm 58 */
BgL_objectz00_bglt BgL_auxz00_904;
BgL_auxz00_904 = 
(BgL_objectz00_bglt)(BgL_obj1697z00_807); 
BgL_auxz00_903 = 
BGL_OBJECT_WIDENING(BgL_auxz00_904); } 
BgL_arg1904z00_389 = 
(((BgL_jclassz00_bglt)CREF(BgL_auxz00_903))->BgL_itszd2superzd2); } } 
BGl_genzd2coercionzd2clausez12z12zzobject_coercionz00(BgL_arg1902z00_388, BgL_arg1904z00_389, BNIL); } 
{ /* ./Object/coercion.scm 59 */
obj_t BgL_arg1911z00_391;
{ /* ./Object/coercion.scm 59 */
BgL_jclassz00_bglt BgL_obj1697z00_808;
BgL_obj1697z00_808 = 
(BgL_jclassz00_bglt)(BgL_classz00_2); 
{ 
obj_t BgL_auxz00_910;
{ /* ./Object/coercion.scm 59 */
BgL_objectz00_bglt BgL_auxz00_911;
BgL_auxz00_911 = 
(BgL_objectz00_bglt)(BgL_obj1697z00_808); 
BgL_auxz00_910 = 
BGL_OBJECT_WIDENING(BgL_auxz00_911); } 
BgL_arg1911z00_391 = 
(((BgL_jclassz00_bglt)CREF(BgL_auxz00_910))->BgL_itszd2superzd2); } } 
return 
BGl_genzd2classzd2coercersz12z12zzobject_coercionz00(BgL_classz00_2, BgL_arg1911z00_391);} } 
}



/* _gen-java-class-coercions! */
obj_t BGl__genzd2javazd2classzd2coercionsz12zc0zzobject_coercionz00(obj_t BgL_envz00_842, obj_t BgL_classz00_843)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 56 */
return 
BGl_genzd2javazd2classzd2coercionsz12zc0zzobject_coercionz00(BgL_classz00_843);} 
}



/* gen-coercion-clause! */
BGL_EXPORTED_DEF obj_t BGl_genzd2coercionzd2clausez12z12zzobject_coercionz00(obj_t BgL_czd2idzd2_3, obj_t BgL_superz00_4, obj_t BgL_testingz00_5)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 72 */
{ /* ./Object/coercion.scm 74 */
obj_t BgL_arg1915z00_392;
{ /* ./Object/coercion.scm 74 */
obj_t BgL_casezd2valuezd2_393;
BgL_casezd2valuezd2_393 = BGl_za2targetzd2languageza2zd2zzengine_paramz00; 
{ /* ./Object/coercion.scm 74 */
bool_t BgL_test1917z00_394;
{ /* ./Object/coercion.scm 74 */
obj_t BgL_auxz00_917;
BgL_auxz00_917 = 
BGl_memvz00zz__r4_pairs_and_lists_6_3z00(BgL_casezd2valuezd2_393, 
CNST_TABLE_REF(((long)0))); 
BgL_test1917z00_394 = 
CBOOL(BgL_auxz00_917); } 
if(BgL_test1917z00_394)
{ /* ./Object/coercion.scm 74 */
BgL_arg1915z00_392 = 
BGl_jvmzd2makezd2coercionzd2clausezd2zzobject_coercionz00(BgL_czd2idzd2_3, BgL_superz00_4, BgL_testingz00_5); }  else 
{ /* ./Object/coercion.scm 74 */
BgL_arg1915z00_392 = 
BGl_czd2makezd2coercionzd2clausezd2zzobject_coercionz00(BgL_czd2idzd2_3, BgL_superz00_4, BgL_testingz00_5); } } } 
return 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1915z00_392);} } 
}



/* _gen-coercion-clause! */
obj_t BGl__genzd2coercionzd2clausez12z12zzobject_coercionz00(obj_t BgL_envz00_844, obj_t BgL_czd2idzd2_845, obj_t BgL_superz00_846, obj_t BgL_testingz00_847)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 72 */
return 
BGl_genzd2coercionzd2clausez12z12zzobject_coercionz00(BgL_czd2idzd2_845, BgL_superz00_846, BgL_testingz00_847);} 
}



/* c-make-coercion-clause */
obj_t BGl_czd2makezd2coercionzd2clausezd2zzobject_coercionz00(obj_t BgL_czd2idzd2_6, obj_t BgL_superz00_7, obj_t BgL_testingz00_8)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 83 */
{ /* ./Object/coercion.scm 84 */
obj_t BgL_classzd2ze3objz31_395;
BgL_classzd2ze3objz31_395 = 
BGl_classzd2ze3objzd2idze3zzobject_toolsz00(BgL_czd2idzd2_6); 
{ /* ./Object/coercion.scm 84 */
obj_t BgL_objzd2ze3classz31_396;
BgL_objzd2ze3classz31_396 = 
BGl_objzd2ze3classzd2idze3zzobject_toolsz00(BgL_czd2idzd2_6); 
{ /* ./Object/coercion.scm 85 */
obj_t BgL_ttestz00_397;
{ /* ./Object/coercion.scm 86 */
bool_t BgL_test2094z00_466;
BgL_test2094z00_466 = 
NULLP(BgL_testingz00_8); 
if(BgL_test2094z00_466)
{ /* ./Object/coercion.scm 87 */
obj_t BgL_arg2096z00_467;
BgL_arg2096z00_467 = 
BGl_classzf3zd2idz21zzobject_toolsz00(BgL_czd2idzd2_6); 
{ /* ./Object/coercion.scm 87 */
obj_t BgL_list2098z00_468;
BgL_list2098z00_468 = 
MAKE_PAIR(BgL_arg2096z00_467, BNIL); 
BgL_ttestz00_397 = BgL_list2098z00_468; } }  else 
{ /* ./Object/coercion.scm 86 */
BgL_ttestz00_397 = BNIL; } } 
{ /* ./Object/coercion.scm 86 */

{ 
obj_t BgL_superz00_398;obj_t BgL_coercerz00_399;
{ /* ./Object/coercion.scm 91 */
obj_t BgL_arg1922z00_401;
{ /* ./Object/coercion.scm 91 */
obj_t BgL_arg1925z00_402;obj_t BgL_arg1928z00_403;obj_t BgL_arg1930z00_404;
{ /* ./Object/coercion.scm 91 */
obj_t BgL_arg1945z00_408;obj_t BgL_arg1946z00_409;
BgL_arg1945z00_408 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 91 */
obj_t BgL_arg1949z00_410;obj_t BgL_arg1951z00_411;
BgL_arg1949z00_410 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Object/coercion.scm 91 */
obj_t BgL_arg1954z00_412;
{ /* ./Object/coercion.scm 91 */
obj_t BgL_arg1958z00_413;
{ /* ./Object/coercion.scm 91 */
obj_t BgL_arg1962z00_414;
BgL_arg1962z00_414 = 
MAKE_PAIR(BgL_objzd2ze3classz31_396, BNIL); 
BgL_arg1958z00_413 = 
MAKE_PAIR(BgL_arg1962z00_414, BNIL); } 
BgL_arg1954z00_412 = 
MAKE_PAIR(BgL_ttestz00_397, BgL_arg1958z00_413); } 
BgL_arg1951z00_411 = 
MAKE_PAIR(BgL_czd2idzd2_6, BgL_arg1954z00_412); } 
BgL_arg1946z00_409 = 
MAKE_PAIR(BgL_arg1949z00_410, BgL_arg1951z00_411); } 
BgL_arg1925z00_402 = 
MAKE_PAIR(BgL_arg1945z00_408, BgL_arg1946z00_409); } 
{ /* ./Object/coercion.scm 92 */
obj_t BgL_arg1968z00_416;obj_t BgL_arg1969z00_417;
BgL_arg1968z00_416 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 92 */
obj_t BgL_arg1973z00_418;
{ /* ./Object/coercion.scm 92 */
obj_t BgL_arg1976z00_419;obj_t BgL_arg1977z00_420;
BgL_arg1976z00_419 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Object/coercion.scm 92 */
obj_t BgL_arg1982z00_422;
{ /* ./Object/coercion.scm 92 */
obj_t BgL_arg1987z00_423;
BgL_arg1987z00_423 = 
MAKE_PAIR(BgL_classzd2ze3objz31_395, BNIL); 
BgL_arg1982z00_422 = 
MAKE_PAIR(BgL_arg1987z00_423, BNIL); } 
BgL_arg1977z00_420 = 
MAKE_PAIR(BNIL, BgL_arg1982z00_422); } 
BgL_arg1973z00_418 = 
MAKE_PAIR(BgL_arg1976z00_419, BgL_arg1977z00_420); } 
BgL_arg1969z00_417 = 
MAKE_PAIR(BgL_czd2idzd2_6, BgL_arg1973z00_418); } 
BgL_arg1928z00_403 = 
MAKE_PAIR(BgL_arg1968z00_416, BgL_arg1969z00_417); } 
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg1993z00_425;obj_t BgL_arg1994z00_426;
BgL_arg1993z00_425 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg2000z00_427;
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg2005z00_428;obj_t BgL_arg2006z00_429;
BgL_arg2005z00_428 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg2011z00_431;
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg2014z00_432;
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg2018z00_434;
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg2022z00_436;obj_t BgL_arg2023z00_437;
BgL_arg2022z00_436 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Object/coercion.scm 93 */
obj_t BgL_arg2026z00_438;obj_t BgL_arg2027z00_439;
{ /* ./Object/coercion.scm 93 */
obj_t BgL_auxz00_951;
BgL_auxz00_951 = 
CNST_TABLE_REF(((long)6)); 
BgL_arg2026z00_438 = 
MAKE_PAIR(BgL_auxz00_951, BNIL); } 
BgL_arg2027z00_439 = 
MAKE_PAIR(BTRUE, BNIL); 
BgL_arg2023z00_437 = 
MAKE_PAIR(BgL_arg2026z00_438, BgL_arg2027z00_439); } 
BgL_arg2018z00_434 = 
MAKE_PAIR(BgL_arg2022z00_436, BgL_arg2023z00_437); } 
BgL_arg2014z00_432 = 
MAKE_PAIR(BgL_arg2018z00_434, BNIL); } 
BgL_arg2011z00_431 = 
MAKE_PAIR(BgL_arg2014z00_432, BNIL); } 
BgL_arg2006z00_429 = 
MAKE_PAIR(BNIL, BgL_arg2011z00_431); } 
BgL_arg2000z00_427 = 
MAKE_PAIR(BgL_arg2005z00_428, BgL_arg2006z00_429); } 
BgL_arg1994z00_426 = 
MAKE_PAIR(BgL_czd2idzd2_6, BgL_arg2000z00_427); } 
BgL_arg1930z00_404 = 
MAKE_PAIR(BgL_arg1993z00_425, BgL_arg1994z00_426); } 
{ /* ./Object/coercion.scm 90 */
obj_t BgL_list1932z00_405;
{ /* ./Object/coercion.scm 90 */
obj_t BgL_arg1934z00_406;
{ /* ./Object/coercion.scm 90 */
obj_t BgL_arg1938z00_407;
BgL_arg1938z00_407 = 
MAKE_PAIR(BgL_arg1930z00_404, BNIL); 
BgL_arg1934z00_406 = 
MAKE_PAIR(BgL_arg1928z00_403, BgL_arg1938z00_407); } 
BgL_list1932z00_405 = 
MAKE_PAIR(BgL_arg1925z00_402, BgL_arg1934z00_406); } 
BgL_arg1922z00_401 = BgL_list1932z00_405; } } 
BgL_superz00_398 = BgL_superz00_7; 
BgL_coercerz00_399 = BgL_arg1922z00_401; 
BgL_loopz00_400:
{ /* ./Object/coercion.scm 94 */
bool_t BgL_test2031z00_440;
BgL_test2031z00_440 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_398, BGl_tclassz00zzobject_classz00); 
if(BgL_test2031z00_440)
{ /* ./Object/coercion.scm 96 */
obj_t BgL_superzd2idzd2_441;
{ /* ./Object/coercion.scm 96 */
BgL_typez00_bglt BgL_obj1003z00_815;
BgL_obj1003z00_815 = 
(BgL_typez00_bglt)(BgL_superz00_398); 
BgL_superzd2idzd2_441 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_815))->BgL_idz00); } 
{ /* ./Object/coercion.scm 96 */
obj_t BgL_classzd2ze3superz31_442;
BgL_classzd2ze3superz31_442 = 
BGl_classzd2ze3superzd2idze3zzobject_toolsz00(BgL_czd2idzd2_6, BgL_superzd2idzd2_441); 
{ /* ./Object/coercion.scm 97 */
obj_t BgL_superzd2ze3classz31_443;
BgL_superzd2ze3classz31_443 = 
BGl_superzd2ze3classzd2idze3zzobject_toolsz00(BgL_superzd2idzd2_441, BgL_czd2idzd2_6); 
{ /* ./Object/coercion.scm 98 */

{ /* ./Object/coercion.scm 99 */
obj_t BgL_arg2033z00_444;obj_t BgL_arg2035z00_445;
{ /* ./Object/coercion.scm 99 */
BgL_tclassz00_bglt BgL_obj1608z00_816;
BgL_obj1608z00_816 = 
(BgL_tclassz00_bglt)(BgL_superz00_398); 
{ 
obj_t BgL_auxz00_973;
{ /* ./Object/coercion.scm 99 */
BgL_objectz00_bglt BgL_auxz00_974;
BgL_auxz00_974 = 
(BgL_objectz00_bglt)(BgL_obj1608z00_816); 
BgL_auxz00_973 = 
BGL_OBJECT_WIDENING(BgL_auxz00_974); } 
BgL_arg2033z00_444 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_973))->BgL_itszd2superzd2); } } 
{ /* ./Object/coercion.scm 101 */
obj_t BgL_arg2040z00_446;obj_t BgL_arg2041z00_447;
{ /* ./Object/coercion.scm 101 */
obj_t BgL_arg2044z00_448;obj_t BgL_arg2045z00_449;
BgL_arg2044z00_448 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 101 */
obj_t BgL_arg2048z00_450;
{ /* ./Object/coercion.scm 101 */
obj_t BgL_arg2051z00_451;
{ /* ./Object/coercion.scm 101 */
obj_t BgL_arg2054z00_452;
{ /* ./Object/coercion.scm 101 */
obj_t BgL_arg2057z00_453;
BgL_arg2057z00_453 = 
MAKE_PAIR(BgL_superzd2ze3classz31_443, BNIL); 
BgL_arg2054z00_452 = 
MAKE_PAIR(BgL_arg2057z00_453, BNIL); } 
BgL_arg2051z00_451 = 
MAKE_PAIR(BgL_ttestz00_397, BgL_arg2054z00_452); } 
BgL_arg2048z00_450 = 
MAKE_PAIR(BgL_czd2idzd2_6, BgL_arg2051z00_451); } 
BgL_arg2045z00_449 = 
MAKE_PAIR(BgL_superzd2idzd2_441, BgL_arg2048z00_450); } 
BgL_arg2040z00_446 = 
MAKE_PAIR(BgL_arg2044z00_448, BgL_arg2045z00_449); } 
{ /* ./Object/coercion.scm 103 */
obj_t BgL_arg2062z00_455;
{ /* ./Object/coercion.scm 103 */
obj_t BgL_arg2065z00_456;obj_t BgL_arg2066z00_457;
BgL_arg2065z00_456 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 103 */
obj_t BgL_arg2069z00_458;
{ /* ./Object/coercion.scm 103 */
obj_t BgL_arg2072z00_459;
{ /* ./Object/coercion.scm 103 */
obj_t BgL_arg2076z00_461;
{ /* ./Object/coercion.scm 103 */
obj_t BgL_arg2080z00_462;
BgL_arg2080z00_462 = 
MAKE_PAIR(BgL_classzd2ze3superz31_442, BNIL); 
BgL_arg2076z00_461 = 
MAKE_PAIR(BgL_arg2080z00_462, BNIL); } 
BgL_arg2072z00_459 = 
MAKE_PAIR(BNIL, BgL_arg2076z00_461); } 
BgL_arg2069z00_458 = 
MAKE_PAIR(BgL_superzd2idzd2_441, BgL_arg2072z00_459); } 
BgL_arg2066z00_457 = 
MAKE_PAIR(BgL_czd2idzd2_6, BgL_arg2069z00_458); } 
BgL_arg2062z00_455 = 
MAKE_PAIR(BgL_arg2065z00_456, BgL_arg2066z00_457); } 
BgL_arg2041z00_447 = 
MAKE_PAIR(BgL_arg2062z00_455, BgL_coercerz00_399); } 
BgL_arg2035z00_445 = 
MAKE_PAIR(BgL_arg2040z00_446, BgL_arg2041z00_447); } 
{ 
obj_t BgL_coercerz00_995;obj_t BgL_superz00_994;
BgL_superz00_994 = BgL_arg2033z00_444; 
BgL_coercerz00_995 = BgL_arg2035z00_445; 
BgL_coercerz00_399 = BgL_coercerz00_995; 
BgL_superz00_398 = BgL_superz00_994; 
goto BgL_loopz00_400;} } } } } }  else 
{ /* ./Object/coercion.scm 95 */
obj_t BgL_arg2088z00_464;obj_t BgL_arg2089z00_465;
BgL_arg2088z00_464 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg2089z00_465 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_coercerz00_399, BNIL); 
return 
MAKE_PAIR(BgL_arg2088z00_464, BgL_arg2089z00_465);} } } } } } } } } 
}



/* jvm-make-coercion-clause */
obj_t BGl_jvmzd2makezd2coercionzd2clausezd2zzobject_coercionz00(obj_t BgL_czd2idzd2_9, obj_t BgL_superz00_10, obj_t BgL_testingz00_11)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 109 */
{ /* ./Object/coercion.scm 110 */
obj_t BgL_classzd2ze3objz31_469;
{ /* ./Object/coercion.scm 110 */
obj_t BgL_arg2319z00_567;obj_t BgL_arg2320z00_568;
BgL_arg2319z00_567 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Object/coercion.scm 110 */
obj_t BgL_arg2323z00_569;obj_t BgL_arg2324z00_570;
{ /* ./Object/coercion.scm 110 */
obj_t BgL_auxz00_1000;
BgL_auxz00_1000 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg2323z00_569 = 
MAKE_PAIR(BgL_auxz00_1000, BNIL); } 
{ /* ./Object/coercion.scm 111 */
obj_t BgL_arg2328z00_571;
{ /* ./Object/coercion.scm 111 */
obj_t BgL_list2332z00_573;
{ /* ./Object/coercion.scm 111 */
obj_t BgL_auxz00_1003;
BgL_auxz00_1003 = 
CNST_TABLE_REF(((long)7)); 
BgL_list2332z00_573 = 
MAKE_PAIR(BgL_auxz00_1003, BNIL); } 
BgL_arg2328z00_571 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)8)), 
CNST_TABLE_REF(((long)3)), BgL_list2332z00_573); } 
BgL_arg2324z00_570 = 
MAKE_PAIR(BgL_arg2328z00_571, BNIL); } 
BgL_arg2320z00_568 = 
MAKE_PAIR(BgL_arg2323z00_569, BgL_arg2324z00_570); } 
BgL_classzd2ze3objz31_469 = 
MAKE_PAIR(BgL_arg2319z00_567, BgL_arg2320z00_568); } 
{ /* ./Object/coercion.scm 110 */
obj_t BgL_objzd2ze3classz31_470;
{ /* ./Object/coercion.scm 112 */
obj_t BgL_arg2303z00_560;obj_t BgL_arg2304z00_561;
BgL_arg2303z00_560 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Object/coercion.scm 112 */
obj_t BgL_arg2307z00_562;obj_t BgL_arg2308z00_563;
{ /* ./Object/coercion.scm 112 */
obj_t BgL_auxz00_1013;
BgL_auxz00_1013 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg2307z00_562 = 
MAKE_PAIR(BgL_auxz00_1013, BNIL); } 
{ /* ./Object/coercion.scm 113 */
obj_t BgL_arg2312z00_564;
{ /* ./Object/coercion.scm 113 */
obj_t BgL_list2316z00_566;
{ /* ./Object/coercion.scm 113 */
obj_t BgL_auxz00_1016;
BgL_auxz00_1016 = 
CNST_TABLE_REF(((long)7)); 
BgL_list2316z00_566 = 
MAKE_PAIR(BgL_auxz00_1016, BNIL); } 
BgL_arg2312z00_564 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)8)), BgL_czd2idzd2_9, BgL_list2316z00_566); } 
BgL_arg2308z00_563 = 
MAKE_PAIR(BgL_arg2312z00_564, BNIL); } 
BgL_arg2304z00_561 = 
MAKE_PAIR(BgL_arg2307z00_562, BgL_arg2308z00_563); } 
BgL_objzd2ze3classz31_470 = 
MAKE_PAIR(BgL_arg2303z00_560, BgL_arg2304z00_561); } 
{ /* ./Object/coercion.scm 112 */
obj_t BgL_ttestz00_471;
{ /* ./Object/coercion.scm 114 */
bool_t BgL_test2294z00_557;
BgL_test2294z00_557 = 
NULLP(BgL_testingz00_11); 
if(BgL_test2294z00_557)
{ /* ./Object/coercion.scm 115 */
obj_t BgL_arg2296z00_558;
BgL_arg2296z00_558 = 
BGl_classzf3zd2idz21zzobject_toolsz00(BgL_czd2idzd2_9); 
{ /* ./Object/coercion.scm 115 */
obj_t BgL_list2298z00_559;
BgL_list2298z00_559 = 
MAKE_PAIR(BgL_arg2296z00_558, BNIL); 
BgL_ttestz00_471 = BgL_list2298z00_559; } }  else 
{ /* ./Object/coercion.scm 114 */
BgL_ttestz00_471 = BNIL; } } 
{ /* ./Object/coercion.scm 114 */

{ 
obj_t BgL_superz00_472;obj_t BgL_coercerz00_473;
{ /* ./Object/coercion.scm 119 */
obj_t BgL_arg2105z00_475;
{ /* ./Object/coercion.scm 119 */
obj_t BgL_arg2108z00_476;obj_t BgL_arg2109z00_477;obj_t BgL_arg2111z00_478;
{ /* ./Object/coercion.scm 119 */
obj_t BgL_arg2122z00_482;obj_t BgL_arg2123z00_483;
BgL_arg2122z00_482 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 119 */
obj_t BgL_arg2126z00_484;obj_t BgL_arg2127z00_485;
BgL_arg2126z00_484 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Object/coercion.scm 119 */
obj_t BgL_arg2132z00_486;
{ /* ./Object/coercion.scm 119 */
obj_t BgL_arg2135z00_487;
{ /* ./Object/coercion.scm 119 */
obj_t BgL_arg2138z00_488;
BgL_arg2138z00_488 = 
MAKE_PAIR(BgL_objzd2ze3classz31_470, BNIL); 
BgL_arg2135z00_487 = 
MAKE_PAIR(BgL_arg2138z00_488, BNIL); } 
BgL_arg2132z00_486 = 
MAKE_PAIR(BgL_ttestz00_471, BgL_arg2135z00_487); } 
BgL_arg2127z00_485 = 
MAKE_PAIR(BgL_czd2idzd2_9, BgL_arg2132z00_486); } 
BgL_arg2123z00_483 = 
MAKE_PAIR(BgL_arg2126z00_484, BgL_arg2127z00_485); } 
BgL_arg2108z00_476 = 
MAKE_PAIR(BgL_arg2122z00_482, BgL_arg2123z00_483); } 
{ /* ./Object/coercion.scm 120 */
obj_t BgL_arg2143z00_490;obj_t BgL_arg2144z00_491;
BgL_arg2143z00_490 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 120 */
obj_t BgL_arg2147z00_492;
{ /* ./Object/coercion.scm 120 */
obj_t BgL_arg2150z00_493;obj_t BgL_arg2151z00_494;
BgL_arg2150z00_493 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Object/coercion.scm 120 */
obj_t BgL_arg2155z00_496;
{ /* ./Object/coercion.scm 120 */
obj_t BgL_arg2158z00_497;
BgL_arg2158z00_497 = 
MAKE_PAIR(BgL_classzd2ze3objz31_469, BNIL); 
BgL_arg2155z00_496 = 
MAKE_PAIR(BgL_arg2158z00_497, BNIL); } 
BgL_arg2151z00_494 = 
MAKE_PAIR(BNIL, BgL_arg2155z00_496); } 
BgL_arg2147z00_492 = 
MAKE_PAIR(BgL_arg2150z00_493, BgL_arg2151z00_494); } 
BgL_arg2144z00_491 = 
MAKE_PAIR(BgL_czd2idzd2_9, BgL_arg2147z00_492); } 
BgL_arg2109z00_477 = 
MAKE_PAIR(BgL_arg2143z00_490, BgL_arg2144z00_491); } 
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2163z00_499;obj_t BgL_arg2165z00_500;
BgL_arg2163z00_499 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2168z00_501;
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2171z00_502;obj_t BgL_arg2172z00_503;
BgL_arg2171z00_502 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2176z00_505;
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2179z00_506;
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2183z00_508;
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2187z00_510;obj_t BgL_arg2188z00_511;
BgL_arg2187z00_510 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Object/coercion.scm 121 */
obj_t BgL_arg2191z00_512;obj_t BgL_arg2192z00_513;
{ /* ./Object/coercion.scm 121 */
obj_t BgL_auxz00_1047;
BgL_auxz00_1047 = 
CNST_TABLE_REF(((long)6)); 
BgL_arg2191z00_512 = 
MAKE_PAIR(BgL_auxz00_1047, BNIL); } 
BgL_arg2192z00_513 = 
MAKE_PAIR(BTRUE, BNIL); 
BgL_arg2188z00_511 = 
MAKE_PAIR(BgL_arg2191z00_512, BgL_arg2192z00_513); } 
BgL_arg2183z00_508 = 
MAKE_PAIR(BgL_arg2187z00_510, BgL_arg2188z00_511); } 
BgL_arg2179z00_506 = 
MAKE_PAIR(BgL_arg2183z00_508, BNIL); } 
BgL_arg2176z00_505 = 
MAKE_PAIR(BgL_arg2179z00_506, BNIL); } 
BgL_arg2172z00_503 = 
MAKE_PAIR(BNIL, BgL_arg2176z00_505); } 
BgL_arg2168z00_501 = 
MAKE_PAIR(BgL_arg2171z00_502, BgL_arg2172z00_503); } 
BgL_arg2165z00_500 = 
MAKE_PAIR(BgL_czd2idzd2_9, BgL_arg2168z00_501); } 
BgL_arg2111z00_478 = 
MAKE_PAIR(BgL_arg2163z00_499, BgL_arg2165z00_500); } 
{ /* ./Object/coercion.scm 118 */
obj_t BgL_list2113z00_479;
{ /* ./Object/coercion.scm 118 */
obj_t BgL_arg2115z00_480;
{ /* ./Object/coercion.scm 118 */
obj_t BgL_arg2118z00_481;
BgL_arg2118z00_481 = 
MAKE_PAIR(BgL_arg2111z00_478, BNIL); 
BgL_arg2115z00_480 = 
MAKE_PAIR(BgL_arg2109z00_477, BgL_arg2118z00_481); } 
BgL_list2113z00_479 = 
MAKE_PAIR(BgL_arg2108z00_476, BgL_arg2115z00_480); } 
BgL_arg2105z00_475 = BgL_list2113z00_479; } } 
BgL_superz00_472 = BgL_superz00_10; 
BgL_coercerz00_473 = BgL_arg2105z00_475; 
BgL_loopz00_474:
{ /* ./Object/coercion.scm 122 */
bool_t BgL_test2196z00_514;
{ /* ./Object/coercion.scm 122 */
bool_t BgL_test2291z00_556;
BgL_test2291z00_556 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_472, BGl_jclassz00zzobject_classz00); 
if(BgL_test2291z00_556)
{ /* ./Object/coercion.scm 122 */
BgL_test2196z00_514 = ((bool_t)1); }  else 
{ /* ./Object/coercion.scm 122 */
BgL_test2196z00_514 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_472, BGl_tclassz00zzobject_classz00); } } 
if(BgL_test2196z00_514)
{ /* ./Object/coercion.scm 124 */
obj_t BgL_superzd2idzd2_515;
{ /* ./Object/coercion.scm 124 */
bool_t BgL_test2282z00_553;
BgL_test2282z00_553 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_472, BGl_tclassz00zzobject_classz00); 
if(BgL_test2282z00_553)
{ /* ./Object/coercion.scm 125 */
BgL_typez00_bglt BgL_obj1003z00_825;
BgL_obj1003z00_825 = 
(BgL_typez00_bglt)(BgL_superz00_472); 
BgL_superzd2idzd2_515 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_825))->BgL_idz00); }  else 
{ /* ./Object/coercion.scm 126 */
BgL_typez00_bglt BgL_obj1003z00_826;
BgL_obj1003z00_826 = 
(BgL_typez00_bglt)(BgL_superz00_472); 
BgL_superzd2idzd2_515 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_826))->BgL_idz00); } } 
{ /* ./Object/coercion.scm 124 */
obj_t BgL_classzd2ze3superz31_516;
{ /* ./Object/coercion.scm 127 */
obj_t BgL_arg2267z00_546;obj_t BgL_arg2268z00_547;
BgL_arg2267z00_546 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Object/coercion.scm 127 */
obj_t BgL_arg2271z00_548;obj_t BgL_arg2272z00_549;
{ /* ./Object/coercion.scm 127 */
obj_t BgL_auxz00_1073;
BgL_auxz00_1073 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg2271z00_548 = 
MAKE_PAIR(BgL_auxz00_1073, BNIL); } 
{ /* ./Object/coercion.scm 128 */
obj_t BgL_arg2276z00_550;
{ /* ./Object/coercion.scm 128 */
obj_t BgL_list2280z00_552;
{ /* ./Object/coercion.scm 128 */
obj_t BgL_auxz00_1076;
BgL_auxz00_1076 = 
CNST_TABLE_REF(((long)7)); 
BgL_list2280z00_552 = 
MAKE_PAIR(BgL_auxz00_1076, BNIL); } 
BgL_arg2276z00_550 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)8)), BgL_superzd2idzd2_515, BgL_list2280z00_552); } 
BgL_arg2272z00_549 = 
MAKE_PAIR(BgL_arg2276z00_550, BNIL); } 
BgL_arg2268z00_547 = 
MAKE_PAIR(BgL_arg2271z00_548, BgL_arg2272z00_549); } 
BgL_classzd2ze3superz31_516 = 
MAKE_PAIR(BgL_arg2267z00_546, BgL_arg2268z00_547); } 
{ /* ./Object/coercion.scm 127 */
obj_t BgL_superzd2ze3classz31_517;
{ /* ./Object/coercion.scm 129 */
obj_t BgL_arg2250z00_539;obj_t BgL_arg2251z00_540;
BgL_arg2250z00_539 = 
CNST_TABLE_REF(((long)5)); 
{ /* ./Object/coercion.scm 129 */
obj_t BgL_arg2254z00_541;obj_t BgL_arg2255z00_542;
{ /* ./Object/coercion.scm 129 */
obj_t BgL_auxz00_1085;
BgL_auxz00_1085 = 
CNST_TABLE_REF(((long)7)); 
BgL_arg2254z00_541 = 
MAKE_PAIR(BgL_auxz00_1085, BNIL); } 
{ /* ./Object/coercion.scm 130 */
obj_t BgL_arg2260z00_543;
{ /* ./Object/coercion.scm 130 */
obj_t BgL_list2264z00_545;
{ /* ./Object/coercion.scm 130 */
obj_t BgL_auxz00_1088;
BgL_auxz00_1088 = 
CNST_TABLE_REF(((long)7)); 
BgL_list2264z00_545 = 
MAKE_PAIR(BgL_auxz00_1088, BNIL); } 
BgL_arg2260z00_543 = 
BGl_makezd2privatezd2sexpz00zzast_privatez00(
CNST_TABLE_REF(((long)8)), BgL_czd2idzd2_9, BgL_list2264z00_545); } 
BgL_arg2255z00_542 = 
MAKE_PAIR(BgL_arg2260z00_543, BNIL); } 
BgL_arg2251z00_540 = 
MAKE_PAIR(BgL_arg2254z00_541, BgL_arg2255z00_542); } 
BgL_superzd2ze3classz31_517 = 
MAKE_PAIR(BgL_arg2250z00_539, BgL_arg2251z00_540); } 
{ /* ./Object/coercion.scm 129 */

{ /* ./Object/coercion.scm 131 */
obj_t BgL_arg2198z00_518;obj_t BgL_arg2199z00_519;
{ /* ./Object/coercion.scm 131 */
bool_t BgL_test2201z00_520;
BgL_test2201z00_520 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_472, BGl_tclassz00zzobject_classz00); 
if(BgL_test2201z00_520)
{ /* ./Object/coercion.scm 132 */
BgL_tclassz00_bglt BgL_obj1608z00_828;
BgL_obj1608z00_828 = 
(BgL_tclassz00_bglt)(BgL_superz00_472); 
{ 
obj_t BgL_auxz00_1099;
{ /* ./Object/coercion.scm 132 */
BgL_objectz00_bglt BgL_auxz00_1100;
BgL_auxz00_1100 = 
(BgL_objectz00_bglt)(BgL_obj1608z00_828); 
BgL_auxz00_1099 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1100); } 
BgL_arg2198z00_518 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1099))->BgL_itszd2superzd2); } }  else 
{ /* ./Object/coercion.scm 133 */
BgL_jclassz00_bglt BgL_obj1697z00_829;
BgL_obj1697z00_829 = 
(BgL_jclassz00_bglt)(BgL_superz00_472); 
{ 
obj_t BgL_auxz00_1105;
{ /* ./Object/coercion.scm 133 */
BgL_objectz00_bglt BgL_auxz00_1106;
BgL_auxz00_1106 = 
(BgL_objectz00_bglt)(BgL_obj1697z00_829); 
BgL_auxz00_1105 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1106); } 
BgL_arg2198z00_518 = 
(((BgL_jclassz00_bglt)CREF(BgL_auxz00_1105))->BgL_itszd2superzd2); } } } 
{ /* ./Object/coercion.scm 135 */
obj_t BgL_arg2206z00_521;obj_t BgL_arg2207z00_522;
{ /* ./Object/coercion.scm 135 */
obj_t BgL_arg2210z00_523;obj_t BgL_arg2211z00_524;
BgL_arg2210z00_523 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 135 */
obj_t BgL_arg2214z00_525;
{ /* ./Object/coercion.scm 135 */
obj_t BgL_arg2217z00_526;
{ /* ./Object/coercion.scm 135 */
obj_t BgL_arg2220z00_527;
{ /* ./Object/coercion.scm 135 */
obj_t BgL_arg2223z00_528;
BgL_arg2223z00_528 = 
MAKE_PAIR(BgL_superzd2ze3classz31_517, BNIL); 
BgL_arg2220z00_527 = 
MAKE_PAIR(BgL_arg2223z00_528, BNIL); } 
BgL_arg2217z00_526 = 
MAKE_PAIR(BgL_ttestz00_471, BgL_arg2220z00_527); } 
BgL_arg2214z00_525 = 
MAKE_PAIR(BgL_czd2idzd2_9, BgL_arg2217z00_526); } 
BgL_arg2211z00_524 = 
MAKE_PAIR(BgL_superzd2idzd2_515, BgL_arg2214z00_525); } 
BgL_arg2206z00_521 = 
MAKE_PAIR(BgL_arg2210z00_523, BgL_arg2211z00_524); } 
{ /* ./Object/coercion.scm 137 */
obj_t BgL_arg2228z00_530;
{ /* ./Object/coercion.scm 137 */
obj_t BgL_arg2231z00_531;obj_t BgL_arg2232z00_532;
BgL_arg2231z00_531 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Object/coercion.scm 137 */
obj_t BgL_arg2235z00_533;
{ /* ./Object/coercion.scm 137 */
obj_t BgL_arg2238z00_534;
{ /* ./Object/coercion.scm 137 */
obj_t BgL_arg2242z00_536;
{ /* ./Object/coercion.scm 137 */
obj_t BgL_arg2245z00_537;
BgL_arg2245z00_537 = 
MAKE_PAIR(BgL_classzd2ze3superz31_516, BNIL); 
BgL_arg2242z00_536 = 
MAKE_PAIR(BgL_arg2245z00_537, BNIL); } 
BgL_arg2238z00_534 = 
MAKE_PAIR(BNIL, BgL_arg2242z00_536); } 
BgL_arg2235z00_533 = 
MAKE_PAIR(BgL_superzd2idzd2_515, BgL_arg2238z00_534); } 
BgL_arg2232z00_532 = 
MAKE_PAIR(BgL_czd2idzd2_9, BgL_arg2235z00_533); } 
BgL_arg2228z00_530 = 
MAKE_PAIR(BgL_arg2231z00_531, BgL_arg2232z00_532); } 
BgL_arg2207z00_522 = 
MAKE_PAIR(BgL_arg2228z00_530, BgL_coercerz00_473); } 
BgL_arg2199z00_519 = 
MAKE_PAIR(BgL_arg2206z00_521, BgL_arg2207z00_522); } 
{ 
obj_t BgL_coercerz00_1127;obj_t BgL_superz00_1126;
BgL_superz00_1126 = BgL_arg2198z00_518; 
BgL_coercerz00_1127 = BgL_arg2199z00_519; 
BgL_coercerz00_473 = BgL_coercerz00_1127; 
BgL_superz00_472 = BgL_superz00_1126; 
goto BgL_loopz00_474;} } } } } }  else 
{ /* ./Object/coercion.scm 123 */
obj_t BgL_arg2287z00_554;obj_t BgL_arg2288z00_555;
BgL_arg2287z00_554 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg2288z00_555 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_coercerz00_473, BNIL); 
return 
MAKE_PAIR(BgL_arg2287z00_554, BgL_arg2288z00_555);} } } } } } } } } 
}



/* gen-class-coercers! */
BGL_EXPORTED_DEF obj_t BGl_genzd2classzd2coercersz12z12zzobject_coercionz00(obj_t BgL_classz00_12, obj_t BgL_superz00_13)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 154 */
{ /* ./Object/coercion.scm 155 */
obj_t BgL_casezd2valuezd2_574;
BgL_casezd2valuezd2_574 = BGl_za2targetzd2languageza2zd2zzengine_paramz00; 
{ /* ./Object/coercion.scm 155 */
bool_t BgL_test2334z00_575;
{ /* ./Object/coercion.scm 155 */
obj_t BgL_auxz00_1131;
BgL_auxz00_1131 = 
BGl_memvz00zz__r4_pairs_and_lists_6_3z00(BgL_casezd2valuezd2_574, 
CNST_TABLE_REF(((long)0))); 
BgL_test2334z00_575 = 
CBOOL(BgL_auxz00_1131); } 
if(BgL_test2334z00_575)
{ /* ./Object/coercion.scm 155 */
return BUNSPEC;}  else 
{ /* ./Object/coercion.scm 155 */
return 
BGl_czd2genzd2classzd2coercersz12zc0zzobject_coercionz00(BgL_classz00_12, BgL_superz00_13);} } } } 
}



/* _gen-class-coercers! */
obj_t BGl__genzd2classzd2coercersz12z12zzobject_coercionz00(obj_t BgL_envz00_848, obj_t BgL_classz00_849, obj_t BgL_superz00_850)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 154 */
return 
BGl_genzd2classzd2coercersz12z12zzobject_coercionz00(BgL_classz00_849, BgL_superz00_850);} 
}



/* c-gen-class-coercers! */
obj_t BGl_czd2genzd2classzd2coercersz12zc0zzobject_coercionz00(obj_t BgL_classz00_14, obj_t BgL_superz00_15)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 164 */
{ /* ./Object/coercion.scm 175 */
obj_t BgL_tidz00_577;obj_t BgL_tnamez00_578;
{ /* ./Object/coercion.scm 175 */
BgL_typez00_bglt BgL_obj1003z00_832;
BgL_obj1003z00_832 = 
(BgL_typez00_bglt)(BgL_classz00_14); 
BgL_tidz00_577 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_832))->BgL_idz00); } 
{ /* ./Object/coercion.scm 176 */
BgL_typez00_bglt BgL_obj1004z00_833;
BgL_obj1004z00_833 = 
(BgL_typez00_bglt)(BgL_classz00_14); 
BgL_tnamez00_578 = 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_833))->BgL_namez00); } 
{ 
obj_t BgL_superz00_579;obj_t BgL_coercerz00_580;
{ /* ./Object/coercion.scm 178 */
obj_t BgL_arg2339z00_582;
BgL_arg2339z00_582 = 
BGl_makezd2onezd2coercionz00zzobject_coercionz00(BgL_tidz00_577, BgL_tnamez00_578, 
CNST_TABLE_REF(((long)3)), BGl_string2695z00zzobject_coercionz00); 
BgL_superz00_579 = BgL_superz00_15; 
BgL_coercerz00_580 = BgL_arg2339z00_582; 
BgL_loopz00_581:
{ /* ./Object/coercion.scm 179 */
bool_t BgL_test2342z00_583;
BgL_test2342z00_583 = 
BGl_iszd2azf3z21zz__objectz00(BgL_superz00_579, BGl_tclassz00zzobject_classz00); 
if(BgL_test2342z00_583)
{ /* ./Object/coercion.scm 181 */
obj_t BgL_sidz00_584;obj_t BgL_snamez00_585;
{ /* ./Object/coercion.scm 181 */
BgL_typez00_bglt BgL_obj1003z00_835;
BgL_obj1003z00_835 = 
(BgL_typez00_bglt)(BgL_superz00_579); 
BgL_sidz00_584 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_835))->BgL_idz00); } 
{ /* ./Object/coercion.scm 182 */
BgL_typez00_bglt BgL_obj1004z00_836;
BgL_obj1004z00_836 = 
(BgL_typez00_bglt)(BgL_superz00_579); 
BgL_snamez00_585 = 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_836))->BgL_namez00); } 
{ /* ./Object/coercion.scm 183 */
obj_t BgL_arg2344z00_586;obj_t BgL_arg2345z00_587;
{ /* ./Object/coercion.scm 183 */
BgL_tclassz00_bglt BgL_obj1608z00_837;
BgL_obj1608z00_837 = 
(BgL_tclassz00_bglt)(BgL_superz00_579); 
{ 
obj_t BgL_auxz00_1151;
{ /* ./Object/coercion.scm 183 */
BgL_objectz00_bglt BgL_auxz00_1152;
BgL_auxz00_1152 = 
(BgL_objectz00_bglt)(BgL_obj1608z00_837); 
BgL_auxz00_1151 = 
BGL_OBJECT_WIDENING(BgL_auxz00_1152); } 
BgL_arg2344z00_586 = 
(((BgL_tclassz00_bglt)CREF(BgL_auxz00_1151))->BgL_itszd2superzd2); } } 
{ /* ./Object/coercion.scm 184 */
obj_t BgL_arg2349z00_588;
BgL_arg2349z00_588 = 
BGl_makezd2onezd2coercionz00zzobject_coercionz00(BgL_tidz00_577, BgL_tnamez00_578, BgL_sidz00_584, BgL_snamez00_585); 
BgL_arg2345z00_587 = 
bgl_append2(BgL_arg2349z00_588, BgL_coercerz00_580); } 
{ 
obj_t BgL_coercerz00_1159;obj_t BgL_superz00_1158;
BgL_superz00_1158 = BgL_arg2344z00_586; 
BgL_coercerz00_1159 = BgL_arg2345z00_587; 
BgL_coercerz00_580 = BgL_coercerz00_1159; 
BgL_superz00_579 = BgL_superz00_1158; 
goto BgL_loopz00_581;} } }  else 
{ /* ./Object/coercion.scm 180 */
obj_t BgL_arg2355z00_589;
{ /* ./Object/coercion.scm 180 */
obj_t BgL_arg2358z00_590;obj_t BgL_arg2360z00_591;
BgL_arg2358z00_590 = 
CNST_TABLE_REF(((long)9)); 
BgL_arg2360z00_591 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_coercerz00_580, BNIL); 
BgL_arg2355z00_589 = 
MAKE_PAIR(BgL_arg2358z00_590, BgL_arg2360z00_591); } 
return 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg2355z00_589);} } } } } } 
}



/* make-one-coercion */
obj_t BGl_makezd2onezd2coercionz00zzobject_coercionz00(obj_t BgL_fromzd2idzd2_592, obj_t BgL_fromzd2namezd2_593, obj_t BgL_tozd2idzd2_594, obj_t BgL_tozd2namezd2_595)
{ AN_OBJECT;
{ /* ./Object/coercion.scm 174 */
{ /* ./Object/coercion.scm 166 */
obj_t BgL_tzd2ze3fz31_597;obj_t BgL_fzd2ze3tz31_598;
{ /* ./Object/coercion.scm 166 */
obj_t BgL_list2467z00_640;
{ /* ./Object/coercion.scm 166 */
obj_t BgL_arg2469z00_641;
{ /* ./Object/coercion.scm 166 */
obj_t BgL_arg2472z00_642;obj_t BgL_arg2473z00_643;
BgL_arg2472z00_642 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2473z00_643 = 
MAKE_PAIR(BgL_fromzd2idzd2_592, BNIL); 
BgL_arg2469z00_641 = 
MAKE_PAIR(BgL_arg2472z00_642, BgL_arg2473z00_643); } 
BgL_list2467z00_640 = 
MAKE_PAIR(BgL_tozd2idzd2_594, BgL_arg2469z00_641); } 
BgL_tzd2ze3fz31_597 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2467z00_640); } 
{ /* ./Object/coercion.scm 167 */
obj_t BgL_list2477z00_644;
{ /* ./Object/coercion.scm 167 */
obj_t BgL_arg2479z00_645;
{ /* ./Object/coercion.scm 167 */
obj_t BgL_arg2482z00_646;obj_t BgL_arg2483z00_647;
BgL_arg2482z00_646 = 
CNST_TABLE_REF(((long)10)); 
BgL_arg2483z00_647 = 
MAKE_PAIR(BgL_tozd2idzd2_594, BNIL); 
BgL_arg2479z00_645 = 
MAKE_PAIR(BgL_arg2482z00_646, BgL_arg2483z00_647); } 
BgL_list2477z00_644 = 
MAKE_PAIR(BgL_fromzd2idzd2_592, BgL_arg2479z00_645); } 
BgL_fzd2ze3tz31_598 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list2477z00_644); } 
{ /* ./Object/coercion.scm 169 */
obj_t BgL_arg2368z00_599;
{ /* ./Object/coercion.scm 169 */
obj_t BgL_arg2371z00_600;obj_t BgL_arg2372z00_601;
BgL_arg2371z00_600 = 
CNST_TABLE_REF(((long)11)); 
{ /* ./Object/coercion.scm 169 */
obj_t BgL_arg2376z00_602;obj_t BgL_arg2377z00_603;
{ /* ./Object/coercion.scm 169 */
obj_t BgL_arg2381z00_604;
{ /* ./Object/coercion.scm 169 */
obj_t BgL_arg2384z00_605;obj_t BgL_arg2385z00_606;
BgL_arg2384z00_605 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Object/coercion.scm 169 */
obj_t BgL_arg2388z00_607;obj_t BgL_arg2389z00_608;
BgL_arg2388z00_607 = 
CNST_TABLE_REF(((long)13)); 
{ /* ./Object/coercion.scm 169 */
obj_t BgL_arg2392z00_609;
{ /* ./Object/coercion.scm 169 */
obj_t BgL_auxz00_1177;
BgL_auxz00_1177 = 
CNST_TABLE_REF(((long)14)); 
BgL_arg2392z00_609 = 
MAKE_PAIR(BgL_auxz00_1177, BNIL); } 
BgL_arg2389z00_608 = 
MAKE_PAIR(BgL_arg2392z00_609, BNIL); } 
BgL_arg2385z00_606 = 
MAKE_PAIR(BgL_arg2388z00_607, BgL_arg2389z00_608); } 
BgL_arg2381z00_604 = 
MAKE_PAIR(BgL_arg2384z00_605, BgL_arg2385z00_606); } 
BgL_arg2376z00_602 = 
MAKE_PAIR(BgL_tzd2ze3fz31_597, BgL_arg2381z00_604); } 
{ /* ./Object/coercion.scm 170 */
obj_t BgL_arg2397z00_611;
{ /* ./Object/coercion.scm 170 */
obj_t BgL_arg2401z00_613;
{ /* ./Object/coercion.scm 170 */
obj_t BgL_arg2404z00_614;obj_t BgL_arg2405z00_615;
BgL_arg2404z00_614 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Object/coercion.scm 170 */
obj_t BgL_arg2408z00_616;obj_t BgL_arg2409z00_617;
BgL_arg2408z00_616 = 
CNST_TABLE_REF(((long)13)); 
{ /* ./Object/coercion.scm 170 */
obj_t BgL_arg2412z00_618;
{ /* ./Object/coercion.scm 170 */
obj_t BgL_auxz00_1186;
BgL_auxz00_1186 = 
CNST_TABLE_REF(((long)14)); 
BgL_arg2412z00_618 = 
MAKE_PAIR(BgL_auxz00_1186, BNIL); } 
BgL_arg2409z00_617 = 
MAKE_PAIR(BgL_arg2412z00_618, BNIL); } 
BgL_arg2405z00_615 = 
MAKE_PAIR(BgL_arg2408z00_616, BgL_arg2409z00_617); } 
BgL_arg2401z00_613 = 
MAKE_PAIR(BgL_arg2404z00_614, BgL_arg2405z00_615); } 
BgL_arg2397z00_611 = 
MAKE_PAIR(BgL_fzd2ze3tz31_598, BgL_arg2401z00_613); } 
BgL_arg2377z00_603 = 
MAKE_PAIR(BgL_arg2397z00_611, BNIL); } 
BgL_arg2372z00_601 = 
MAKE_PAIR(BgL_arg2376z00_602, BgL_arg2377z00_603); } 
BgL_arg2368z00_599 = 
MAKE_PAIR(BgL_arg2371z00_600, BgL_arg2372z00_601); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg2368z00_599); } 
{ /* ./Object/coercion.scm 171 */
obj_t BgL_arg2417z00_620;obj_t BgL_arg2418z00_621;
{ /* ./Object/coercion.scm 171 */
obj_t BgL_arg2427z00_624;obj_t BgL_arg2428z00_625;
BgL_arg2427z00_624 = 
CNST_TABLE_REF(((long)15)); 
{ /* ./Object/coercion.scm 171 */
obj_t BgL_arg2431z00_626;
{ /* ./Object/coercion.scm 171 */
obj_t BgL_arg2434z00_627;
{ /* ./Object/coercion.scm 171 */
obj_t BgL_arg2437z00_628;obj_t BgL_arg2438z00_629;
BgL_arg2437z00_628 = 
MAKE_PAIR(BgL_tozd2idzd2_594, BNIL); 
{ /* ./Object/coercion.scm 172 */
obj_t BgL_arg2442z00_630;
BgL_arg2442z00_630 = 
string_append_3(BGl_string2696z00zzobject_coercionz00, BgL_fromzd2namezd2_593, BGl_string2697z00zzobject_coercionz00); 
BgL_arg2438z00_629 = 
MAKE_PAIR(BgL_arg2442z00_630, BNIL); } 
BgL_arg2434z00_627 = 
MAKE_PAIR(BgL_arg2437z00_628, BgL_arg2438z00_629); } 
BgL_arg2431z00_626 = 
MAKE_PAIR(BgL_tzd2ze3fz31_597, BgL_arg2434z00_627); } 
BgL_arg2428z00_625 = 
MAKE_PAIR(BgL_fromzd2idzd2_592, BgL_arg2431z00_626); } 
BgL_arg2417z00_620 = 
MAKE_PAIR(BgL_arg2427z00_624, BgL_arg2428z00_625); } 
{ /* ./Object/coercion.scm 173 */
obj_t BgL_arg2447z00_632;obj_t BgL_arg2448z00_633;
BgL_arg2447z00_632 = 
CNST_TABLE_REF(((long)15)); 
{ /* ./Object/coercion.scm 173 */
obj_t BgL_arg2451z00_634;
{ /* ./Object/coercion.scm 173 */
obj_t BgL_arg2454z00_635;
{ /* ./Object/coercion.scm 173 */
obj_t BgL_arg2457z00_636;obj_t BgL_arg2458z00_637;
BgL_arg2457z00_636 = 
MAKE_PAIR(BgL_fromzd2idzd2_592, BNIL); 
{ /* ./Object/coercion.scm 174 */
obj_t BgL_arg2462z00_638;
BgL_arg2462z00_638 = 
string_append_3(BGl_string2696z00zzobject_coercionz00, BgL_tozd2namezd2_595, BGl_string2697z00zzobject_coercionz00); 
BgL_arg2458z00_637 = 
MAKE_PAIR(BgL_arg2462z00_638, BNIL); } 
BgL_arg2454z00_635 = 
MAKE_PAIR(BgL_arg2457z00_636, BgL_arg2458z00_637); } 
BgL_arg2451z00_634 = 
MAKE_PAIR(BgL_fzd2ze3tz31_598, BgL_arg2454z00_635); } 
BgL_arg2448z00_633 = 
MAKE_PAIR(BgL_tozd2idzd2_594, BgL_arg2451z00_634); } 
BgL_arg2418z00_621 = 
MAKE_PAIR(BgL_arg2447z00_632, BgL_arg2448z00_633); } 
{ /* ./Object/coercion.scm 171 */
obj_t BgL_list2420z00_622;
{ /* ./Object/coercion.scm 171 */
obj_t BgL_arg2422z00_623;
BgL_arg2422z00_623 = 
MAKE_PAIR(BgL_arg2418z00_621, BNIL); 
BgL_list2420z00_622 = 
MAKE_PAIR(BgL_arg2417z00_620, BgL_arg2422z00_623); } 
return BgL_list2420z00_622;} } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzobject_coercionz00()
{ AN_OBJECT;
{ /* ./Object/coercion.scm 21 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzobject_coercionz00()
{ AN_OBJECT;
{ /* ./Object/coercion.scm 21 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "object_coercion"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "object_coercion"); 
BGl_modulezd2initializa7ationz75zztools_miscz00(((long)64117), "object_coercion"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "object_coercion"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "object_coercion"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "object_coercion"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "object_coercion"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzobject_structz00(((long)41062), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzobject_slotsz00(((long)44183), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzobject_toolsz00(((long)58597), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzmodule_impusez00(((long)12782), "object_coercion"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "object_coercion"); 
return 
BGl_modulezd2initializa7ationz75zzast_privatez00(((long)8704), "object_coercion");} 
}

