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

#include <bigloo.h>


/* Object type definitions */
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;

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_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;

typedef struct BgL_tvecz00_bgl {
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_tvecz00_bglt;

typedef struct BgL_copz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_copz00_bglt;

typedef struct BgL_clabelz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   obj_t BgL_namez00;
   bool_t BgL_usedzf3zf3;
   obj_t BgL_bodyz00;
} *BgL_clabelz00_bglt;

typedef struct BgL_cgotoz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_clabelz00_bgl * BgL_labelz00;
} *BgL_cgotoz00_bglt;

typedef struct BgL_blockz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_bodyz00;
} *BgL_blockz00_bglt;

typedef struct BgL_creturnz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_valuez00;
} *BgL_creturnz00_bglt;

typedef struct BgL_cvoidz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_valuez00;
} *BgL_cvoidz00_bglt;

typedef struct BgL_catomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   obj_t BgL_valuez00;
} *BgL_catomz00_bglt;

typedef struct BgL_varcz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varcz00_bglt;

typedef struct BgL_cpragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   obj_t BgL_formatz00;
   obj_t BgL_argsz00;
} *BgL_cpragmaz00_bglt;

typedef struct BgL_ccastz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_copz00_bgl * BgL_argz00;
} *BgL_ccastz00_bglt;

typedef struct BgL_csequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   bool_t BgL_czd2expzf3z21;
   obj_t BgL_copsz00;
} *BgL_csequencez00_bglt;

typedef struct BgL_nopz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_nopz00_bglt;

typedef struct BgL_stopz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_valuez00;
} *BgL_stopz00_bglt;

typedef struct BgL_csetqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_varcz00_bgl * BgL_varz00;
   struct BgL_copz00_bgl * BgL_valuez00;
} *BgL_csetqz00_bglt;

typedef struct BgL_cifz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_testz00;
   struct BgL_copz00_bgl * BgL_truez00;
   struct BgL_copz00_bgl * BgL_falsez00;
} *BgL_cifz00_bglt;

typedef struct BgL_localzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   obj_t BgL_varsz00;
} *BgL_localzd2varzd2_bglt;

typedef struct BgL_cfuncallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_cfuncallz00_bglt;

typedef struct BgL_capplyz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_funz00;
   struct BgL_copz00_bgl * BgL_argz00;
} *BgL_capplyz00_bglt;

typedef struct BgL_cappz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_cappz00_bglt;

typedef struct BgL_cfailz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_procz00;
   struct BgL_copz00_bgl * BgL_msgz00;
   struct BgL_copz00_bgl * BgL_objz00;
} *BgL_cfailz00_bglt;

typedef struct BgL_cswitchz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
} *BgL_cswitchz00_bglt;

typedef struct BgL_cmakezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_valuez00;
} *BgL_cmakezd2boxzd2_bglt;

typedef struct BgL_cboxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_varz00;
} *BgL_cboxzd2refzd2_bglt;

typedef struct BgL_cboxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_varz00;
   struct BgL_copz00_bgl * BgL_valuez00;
} *BgL_cboxzd2setz12zc0_bglt;

typedef struct BgL_csetzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_exitz00;
   struct BgL_copz00_bgl * BgL_jumpzd2valuezd2;
   struct BgL_copz00_bgl * BgL_bodyz00;
} *BgL_csetzd2exzd2itz00_bglt;

typedef struct BgL_cjumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_exitz00;
   struct BgL_copz00_bgl * BgL_valuez00;
} *BgL_cjumpzd2exzd2itz00_bglt;

typedef struct BgL_sfunzf2czf2_bgl {
   struct BgL_clabelz00_bgl * BgL_labelz00;
   bool_t BgL_integratedz00;
} *BgL_sfunzf2czf2_bglt;

typedef struct BgL_bdbzd2blockzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_copz00_bgl * BgL_bodyz00;
} *BgL_bdbzd2blockzd2_bglt;


static obj_t BGl_emitzd2prototypezd2sfun3318z00zzbackend_c_prototypez00(obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzbackend_c_prototypez00();
extern obj_t BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(BgL_typez00_bglt);
static obj_t BGl_emitzd2cnstzd2zzbackend_c_prototypez00(BgL_scnstz00_bglt, BgL_globalz00_bglt);
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_emitzd2cnstzd2realz00zzbackend_c_prototypez00(obj_t, BgL_globalz00_bglt);
static obj_t BGl__emitzd2cnstszd2zzbackend_c_prototypez00(obj_t);
extern obj_t BGl_sfunz00zzast_varz00;
BGL_IMPORT obj_t display_char(obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_requirezd2prototypezf3z21zzbackend_c_prototypez00(BgL_globalz00_bglt);
static obj_t BGl_emitzd2cnstzd2stvectorz00zzbackend_c_prototypez00(obj_t, BgL_globalz00_bglt);
static obj_t BGl_emitzd2prototypezd2svar3314z00zzbackend_c_prototypez00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl_emitzd2cnstzd2stringz00zzbackend_c_prototypez00(obj_t, BgL_globalz00_bglt);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
BGL_IMPORT obj_t bigloo_mangle(obj_t);
extern obj_t BGl_scnstz00zzast_varz00;
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_svarz00zzast_varz00;
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
BGL_IMPORT obj_t string_to_bstring(char *);
extern obj_t BGl_untrigraphz00zzbackend_c_emitz00(obj_t);
BGL_IMPORT obj_t BGl_gensymz00zz__r4_symbols_6_4z00;
extern obj_t BGl_emitzd2tvectorzd2typesz00zztvector_tvectorz00(obj_t);
extern obj_t BGl_globalz00zzast_varz00;
BGL_IMPORT obj_t bigloo_module_mangle(obj_t, obj_t);
static obj_t BGl__emitzd2prototypeszd2zzbackend_c_prototypez00(obj_t);
extern obj_t BGl_typez00zztype_typez00;
static obj_t BGl_loopz72z72z00zzbackend_c_prototypez00(obj_t);
static obj_t BGl_cnstzd2initzd2zzbackend_c_prototypez00();
static obj_t BGl_emitzd2cnstzd2sfunzf2sgfunzf2zzbackend_c_prototypez00(obj_t, BgL_globalz00_bglt, char *);
BGL_IMPORT obj_t c_substring(obj_t, int, int);
extern obj_t BGl_tvectorzd2ze3czd2vectorze3zztvector_cnstz00(obj_t);
BGL_IMPORT obj_t BGl_displayzd22zd2zz__r4_output_6_10_3z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2cnstszd2zzbackend_c_prototypez00();
static obj_t BGl_importedzd2moduleszd2initz00zzbackend_c_prototypez00();
static obj_t BGl_emitzd2prototypezd2default3311z00zzbackend_c_prototypez00(BgL_valuez00_bglt, BgL_variablez00_bglt);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern obj_t BGl_stringzd2sanszd2z42z42zztype_toolsz00(obj_t);
static obj_t BGl_emitzd2prototypezd2scnst3316z00zzbackend_c_prototypez00(obj_t, obj_t, obj_t);
static obj_t BGl_getzd2czd2scopezd2default3323zd2zzbackend_c_prototypez00(BgL_variablez00_bglt);
BGL_EXPORTED_DECL obj_t BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(obj_t);
static obj_t BGl_toplevelzd2initzd2zzbackend_c_prototypez00();
static obj_t BGl_getzd2czd2scopezd2global3326zd2zzbackend_c_prototypez00(obj_t, obj_t);
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t BGl__emitzd2prototypezd2default3311z00zzbackend_c_prototypez00(obj_t, obj_t, obj_t);
BGL_IMPORT bool_t BGl_2ze3ze3zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzbackend_c_prototypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztvector_tvectorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztvector_cnstz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcnst_allocz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcgen_copz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzbackend_c_emitz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcgen_emitzd2copzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcnst_nodez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(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_equivalence_6_2z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
static obj_t BGl_emitzd2prototypezd2formalsz00zzbackend_c_prototypez00(obj_t);
static obj_t BGl_zc3anonymousza33392ze3z83zzbackend_c_prototypez00(obj_t, obj_t);
static obj_t BGl__setzd2variablezd2namez12z12zzbackend_c_prototypez00(obj_t, obj_t);
static obj_t BGl__requirezd2prototypezf34728z21zzbackend_c_prototypez00(obj_t, obj_t);
BGL_IMPORT obj_t string_append(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2prototypeszd2zzbackend_c_prototypez00();
static obj_t BGl_emitzd2prototypezd2formalzd2typeszd2zzbackend_c_prototypez00(obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
static obj_t BGl_getzd2czd2scopez00zzbackend_c_prototypez00(BgL_variablez00_bglt);
extern obj_t BGl_za2czd2portza2zd2zzbackend_c_emitz00;
static obj_t BGl__getzd2czd2scopezd2default3323zd2zzbackend_c_prototypez00(obj_t, obj_t);
extern obj_t BGl_cfunz00zzast_varz00;
extern obj_t BGl_forzd2eachzd2globalz12z12zzast_envz00(obj_t);
static obj_t BGl__getzd2czd2scopez00zzbackend_c_prototypez00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long, obj_t);
static obj_t BGl_zc3anonymousza33415ze3z83zzbackend_c_prototypez00(obj_t, obj_t);
extern obj_t BGl_za2czd2splitzd2stringza2z00zzengine_paramz00;
extern obj_t BGl_getzd2cnstzd2tablez00zzcnst_allocz00();
BGL_IMPORT obj_t display_string(obj_t, obj_t);
static obj_t BGl_loopz00zzbackend_c_prototypez00(long, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_cvarz00zzast_varz00;
static obj_t BGl_emitzd2prototypezd2cvar3322z00zzbackend_c_prototypez00(obj_t, obj_t, obj_t);
extern obj_t BGl_localz00zzast_varz00;
BGL_IMPORT obj_t string_for_read(obj_t);
extern bool_t BGl_subzd2typezf3z21zztype_envz00(BgL_typez00_bglt, BgL_typez00_bglt);
static obj_t BGl_loopz72z72zzbackend_c_prototypez00(obj_t);
static obj_t BGl_emitzd2prototypezd2zzbackend_c_prototypez00(BgL_valuez00_bglt, BgL_variablez00_bglt);
extern obj_t BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_typez00_bglt, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
static obj_t BGl_emitzd2prototypezd2cfun3320z00zzbackend_c_prototypez00(obj_t, obj_t, obj_t);
extern obj_t BGl_getzd2nodezd2atomzd2valuezd2zzcnst_nodez00(BgL_nodez00_bglt);
static obj_t BGl_requirezd2initializa7ationz75zzbackend_c_prototypez00 = BUNSPEC;
static obj_t BGl_getzd2czd2scopezd2local3328zd2zzbackend_c_prototypez00(obj_t, obj_t);
extern obj_t BGl_idzd2ze3namez31zzast_identz00(obj_t);
static obj_t BGl_emitzd2prototypezf2svarzf2scnstzd2zzbackend_c_prototypez00(obj_t, obj_t);
BGL_IMPORT bool_t BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzbackend_c_prototypez00();
extern obj_t BGl_za2maxzd2czd2tokenzd2lengthza2zd2zzengine_paramz00;
static obj_t BGl__emitzd2prototypezd2zzbackend_c_prototypez00(obj_t, obj_t, obj_t);
static obj_t __cnst[ 11 ] ;


DEFINE_STRING( BGl_string5099z00zzbackend_c_prototypez00, BgL_bgl_string5099za700za7za7backend_c_prototypeza7005139z00, "BGL_EXPORTED_DECL", 17 );
DEFINE_STRING( BGl_string5098z00zzbackend_c_prototypez00, BgL_bgl_string5098za700za7za7backend_c_prototypeza7005140z00, "extern", 6 );
DEFINE_STRING( BGl_string5097z00zzbackend_c_prototypez00, BgL_bgl_string5097za700za7za7backend_c_prototypeza7005141z00, "BGL_IMPORT", 10 );
DEFINE_STRING( BGl_string5106z00zzbackend_c_prototypez00, BgL_bgl_string5106za700za7za7backend_c_prototypeza7005142z00, "get-c-scope-default3323 emit-prototype-default3311 import stvector sgfun sfun sreal sstring never export static ", 112 );
DEFINE_STRING( BGl_string5105z00zzbackend_c_prototypez00, BgL_bgl_string5105za700za7za7backend_c_prototypeza7005143z00, "No method for this object", 25 );
DEFINE_STRING( BGl_string5104z00zzbackend_c_prototypez00, BgL_bgl_string5104za700za7za7backend_c_prototypeza7005144z00, "...)", 4 );
DEFINE_STRING( BGl_string5103z00zzbackend_c_prototypez00, BgL_bgl_string5103za700za7za7backend_c_prototypeza7005145z00, ";", 1 );
DEFINE_STRING( BGl_string5102z00zzbackend_c_prototypez00, BgL_bgl_string5102za700za7za7backend_c_prototypeza7005146z00, ", ...)", 6 );
DEFINE_STRING( BGl_string5101z00zzbackend_c_prototypez00, BgL_bgl_string5101za700za7za7backend_c_prototypeza7005147z00, "Unknown importation", 19 );
DEFINE_STRING( BGl_string5100z00zzbackend_c_prototypez00, BgL_bgl_string5100za700za7za7backend_c_prototypeza7005148z00, "get-c-scope", 11 );
DEFINE_STRING( BGl_string5089z00zzbackend_c_prototypez00, BgL_bgl_string5089za700za7za7backend_c_prototypeza7005149z00, "Unknown variable sort", 21 );
DEFINE_STRING( BGl_string5088z00zzbackend_c_prototypez00, BgL_bgl_string5088za700za7za7backend_c_prototypeza7005150z00, "set-variable-name!", 18 );
DEFINE_STRING( BGl_string5087z00zzbackend_c_prototypez00, BgL_bgl_string5087za700za7za7backend_c_prototypeza7005151z00, "_", 1 );
DEFINE_STRING( BGl_string5086z00zzbackend_c_prototypez00, BgL_bgl_string5086za700za7za7backend_c_prototypeza7005152z00, " DEFINE_TVECTOR_STOP( ", 22 );
DEFINE_STRING( BGl_string5085z00zzbackend_c_prototypez00, BgL_bgl_string5085za700za7za7backend_c_prototypeza7005153z00, " ) ", 3 );
DEFINE_STRING( BGl_string5084z00zzbackend_c_prototypez00, BgL_bgl_string5084za700za7za7backend_c_prototypeza7005154z00, "DEFINE_TVECTOR_START( ", 22 );
DEFINE_STRING( BGl_string5083z00zzbackend_c_prototypez00, BgL_bgl_string5083za700za7za7backend_c_prototypeza7005155z00, ", va_generic_entry", 18 );
DEFINE_STRING( BGl_string5082z00zzbackend_c_prototypez00, BgL_bgl_string5082za700za7za7backend_c_prototypeza7005156z00, ", 0L, ", 6 );
DEFINE_STRING( BGl_string5081z00zzbackend_c_prototypez00, BgL_bgl_string5081za700za7za7backend_c_prototypeza7005157z00, "DEFINE_EXPORT_", 14 );
DEFINE_STRING( BGl_string5080z00zzbackend_c_prototypez00, BgL_bgl_string5080za700za7za7backend_c_prototypeza7005158z00, "( ", 2 );
DEFINE_STRING( BGl_string5079z00zzbackend_c_prototypez00, BgL_bgl_string5079za700za7za7backend_c_prototypeza7005159z00, "DEFINE_STATIC_", 14 );
DEFINE_STRING( BGl_string5078z00zzbackend_c_prototypez00, BgL_bgl_string5078za700za7za7backend_c_prototypeza7005160z00, "DEFINE_REAL( ", 13 );
DEFINE_STRING( BGl_string5077z00zzbackend_c_prototypez00, BgL_bgl_string5077za700za7za7backend_c_prototypeza7005161z00, "\"\n\"", 3 );
DEFINE_STRING( BGl_string5076z00zzbackend_c_prototypez00, BgL_bgl_string5076za700za7za7backend_c_prototypeza7005162z00, "Can't emit string", 17 );
DEFINE_STRING( BGl_string5075z00zzbackend_c_prototypez00, BgL_bgl_string5075za700za7za7backend_c_prototypeza7005163z00, "emit-cnst-string", 16 );
DEFINE_STRING( BGl_string5074z00zzbackend_c_prototypez00, BgL_bgl_string5074za700za7za7backend_c_prototypeza7005164z00, " );", 3 );
DEFINE_STRING( BGl_string5073z00zzbackend_c_prototypez00, BgL_bgl_string5073za700za7za7backend_c_prototypeza7005165z00, "\", ", 3 );
DEFINE_STRING( BGl_string5072z00zzbackend_c_prototypez00, BgL_bgl_string5072za700za7za7backend_c_prototypeza7005166z00, ", \"", 3 );
DEFINE_STRING( BGl_string5071z00zzbackend_c_prototypez00, BgL_bgl_string5071za700za7za7backend_c_prototypeza7005167z00, "DEFINE_STRING( ", 15 );
DEFINE_STRING( BGl_string5070z00zzbackend_c_prototypez00, BgL_bgl_string5070za700za7za7backend_c_prototypeza7005168z00, ",", 1 );
DEFINE_STRING( BGl_string5069z00zzbackend_c_prototypez00, BgL_bgl_string5069za700za7za7backend_c_prototypeza7005169z00, ");", 2 );
DEFINE_STRING( BGl_string5068z00zzbackend_c_prototypez00, BgL_bgl_string5068za700za7za7backend_c_prototypeza7005170z00, "DEFINE_STRING_STOP( ", 20 );
DEFINE_STRING( BGl_string5067z00zzbackend_c_prototypez00, BgL_bgl_string5067za700za7za7backend_c_prototypeza7005171z00, "0 } \n", 5 );
DEFINE_STRING( BGl_string5066z00zzbackend_c_prototypez00, BgL_bgl_string5066za700za7za7backend_c_prototypeza7005172z00, "{", 1 );
DEFINE_STRING( BGl_string5065z00zzbackend_c_prototypez00, BgL_bgl_string5065za700za7za7backend_c_prototypeza7005173z00, "), ", 3 );
DEFINE_STRING( BGl_string5064z00zzbackend_c_prototypez00, BgL_bgl_string5064za700za7za7backend_c_prototypeza7005174z00, "DEFINE_STRING_START( ", 21 );
DEFINE_STRING( BGl_string5063z00zzbackend_c_prototypez00, BgL_bgl_string5063za700za7za7backend_c_prototypeza7005175z00, "Unknown cnst class", 18 );
DEFINE_STRING( BGl_string5062z00zzbackend_c_prototypez00, BgL_bgl_string5062za700za7za7backend_c_prototypeza7005176z00, "emit-cnst", 9 );
DEFINE_STRING( BGl_string5061z00zzbackend_c_prototypez00, BgL_bgl_string5061za700za7za7backend_c_prototypeza7005177z00, ", ", 2 );
DEFINE_STRING( BGl_string5060z00zzbackend_c_prototypez00, BgL_bgl_string5060za700za7za7backend_c_prototypeza7005178z00, ")", 1 );
DEFINE_STRING( BGl_string5059z00zzbackend_c_prototypez00, BgL_bgl_string5059za700za7za7backend_c_prototypeza7005179z00, "(", 1 );
DEFINE_STRING( BGl_string5058z00zzbackend_c_prototypez00, BgL_bgl_string5058za700za7za7backend_c_prototypeza7005180z00, "()", 2 );
DEFINE_STRING( BGl_string5057z00zzbackend_c_prototypez00, BgL_bgl_string5057za700za7za7backend_c_prototypeza7005181z00, "BGL_EXPORTED_DEF ", 17 );
DEFINE_STRING( BGl_string5056z00zzbackend_c_prototypez00, BgL_bgl_string5056za700za7za7backend_c_prototypeza7005182z00, " = BUNSPEC;", 11 );
DEFINE_STRING( BGl_string5055z00zzbackend_c_prototypez00, BgL_bgl_string5055za700za7za7backend_c_prototypeza7005183z00, "static", 6 );
DEFINE_STATIC_GENERIC( BGl_getzd2czd2scopezd2envzd2zzbackend_c_prototypez00, BgL_bgl__getza7d2cza7d2scopeza700za7za7backend_c_prototypeza7005184z00, BGl__getzd2czd2scopez00zzbackend_c_prototypez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_getzd2czd2scopezd2default3323zd2envz00zzbackend_c_prototypez00, BgL_bgl__getza7d2cza7d2scopeza7d2default3323za7d2za7za7backend_c_prototypeza7005185za7, BGl__getzd2czd2scopezd2default3323zd2zzbackend_c_prototypez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_emitzd2prototypezd2default3311zd2envzd2zzbackend_c_prototypez00, BgL_bgl__emitza7d2prototypeza7d2default3311za700za7za7backend_c_prototypeza7005186z00, BGl__emitzd2prototypezd2default3311z00zzbackend_c_prototypez00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2variablezd2namez12zd2envzc0zzbackend_c_prototypez00, BgL_bgl__setza7d2variableza7d2nameza712za712za7za7backend_c_prototypeza7005187za7, BGl__setzd2variablezd2namez12z12zzbackend_c_prototypez00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2cnstszd2envz00zzbackend_c_prototypez00, BgL_bgl__emitza7d2cnstsza7d2za7za7backend_c_prototypeza7005188za7, BGl__emitzd2cnstszd2zzbackend_c_prototypez00, 0L, 0 );
DEFINE_STATIC_GENERIC( BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BgL_bgl__emitza7d2prototypeza7d2za7za7backend_c_prototypeza7005189za7, BGl__emitzd2prototypezd2zzbackend_c_prototypez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc5053z00zzbackend_c_prototypez00, BgL_bgl_za7c3anonymousza7a33392za7e3za783za7za7backend_c_prototypeza7005190za7, BGl_zc3anonymousza33392ze3z83zzbackend_c_prototypez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5054z00zzbackend_c_prototypez00, BgL_bgl_za7c3anonymousza7a33415za7e3za783za7za7backend_c_prototypeza7005191za7, BGl_zc3anonymousza33415ze3z83zzbackend_c_prototypez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5090z00zzbackend_c_prototypez00, BgL_bgl_emitza7d2prototypeza7d2svar3314za700za7za7backend_c_prototypeza7005192z00, BGl_emitzd2prototypezd2svar3314z00zzbackend_c_prototypez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc5091z00zzbackend_c_prototypez00, BgL_bgl_emitza7d2prototypeza7d2scnst3316za700za7za7backend_c_prototypeza7005193z00, BGl_emitzd2prototypezd2scnst3316z00zzbackend_c_prototypez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc5092z00zzbackend_c_prototypez00, BgL_bgl_emitza7d2prototypeza7d2sfun3318za700za7za7backend_c_prototypeza7005194z00, BGl_emitzd2prototypezd2sfun3318z00zzbackend_c_prototypez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc5093z00zzbackend_c_prototypez00, BgL_bgl_emitza7d2prototypeza7d2cfun3320za700za7za7backend_c_prototypeza7005195z00, BGl_emitzd2prototypezd2cfun3320z00zzbackend_c_prototypez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc5094z00zzbackend_c_prototypez00, BgL_bgl_emitza7d2prototypeza7d2cvar3322za700za7za7backend_c_prototypeza7005196z00, BGl_emitzd2prototypezd2cvar3322z00zzbackend_c_prototypez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc5095z00zzbackend_c_prototypez00, BgL_bgl_getza7d2cza7d2scopeza7d2global3326za7d2za7za7backend_c_prototypeza7005197za7, BGl_getzd2czd2scopezd2global3326zd2zzbackend_c_prototypez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc5096z00zzbackend_c_prototypez00, BgL_bgl_getza7d2cza7d2scopeza7d2local3328za7d2za7za7backend_c_prototypeza7005198za7, BGl_getzd2czd2scopezd2local3328zd2zzbackend_c_prototypez00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_requirezd2prototypezf3zd2envzf3zzbackend_c_prototypez00, BgL_bgl__requireza7d2prototypeza7f34728za721za7za7backend_c_prototypeza7005199z00, BGl__requirezd2prototypezf34728z21zzbackend_c_prototypez00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2prototypeszd2envz00zzbackend_c_prototypez00, BgL_bgl__emitza7d2prototypesza7d2za7za7backend_c_prototypeza7005200za7, BGl__emitzd2prototypeszd2zzbackend_c_prototypez00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzbackend_c_prototypez00(long BgL_checksumz00_2227, char * BgL_fromz00_2228)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzbackend_c_prototypez00))
{ 
BGl_requirezd2initializa7ationz75zzbackend_c_prototypez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzbackend_c_prototypez00(); 
BGl_cnstzd2initzd2zzbackend_c_prototypez00(); 
BGl_importedzd2moduleszd2initz00zzbackend_c_prototypez00(); 
BGl_methodzd2initzd2zzbackend_c_prototypez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzbackend_c_prototypez00()
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zz__biglooz00(((long)0), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)0), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)0), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(((long)0), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)0), "backend_c_prototype"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzbackend_c_prototypez00()
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
{ /* ./BackEnd/c-proto.scm 15 */
obj_t BgL_cportz00_2218;
BgL_cportz00_2218 = 
open_input_string(BGl_string5106z00zzbackend_c_prototypez00); 
{ 
long BgL_iz00_2219;
BgL_iz00_2219 = ((long)10); 
BgL_loopz00_2220:
{ /* ./BackEnd/c-proto.scm 15 */
bool_t BgL_test5108z00_2221;
BgL_test5108z00_2221 = 
(BgL_iz00_2219==((long)-1)); 
if(BgL_test5108z00_2221)
{ /* ./BackEnd/c-proto.scm 15 */
return BUNSPEC;}  else 
{ /* ./BackEnd/c-proto.scm 15 */
{ /* ./BackEnd/c-proto.scm 15 */
obj_t BgL_arg5110z00_2222;
{ /* ./BackEnd/c-proto.scm 15 */
obj_t BgL_list5113z00_2223;
BgL_list5113z00_2223 = 
MAKE_PAIR(BgL_cportz00_2218, BNIL); 
BgL_arg5110z00_2222 = 
BGl_readz00zz__readerz00(BgL_list5113z00_2223); } 
{ /* ./BackEnd/c-proto.scm 15 */
int BgL_auxz00_2249;
BgL_auxz00_2249 = 
(int)(BgL_iz00_2219); 
CNST_TABLE_SET(BgL_auxz00_2249, BgL_arg5110z00_2222); } } 
{ /* ./BackEnd/c-proto.scm 15 */
int BgL_auxz00_2224;
{ /* ./BackEnd/c-proto.scm 15 */
long BgL_auxz00_2252;
BgL_auxz00_2252 = 
(BgL_iz00_2219-((long)1)); 
BgL_auxz00_2224 = 
(int)(BgL_auxz00_2252); } 
{ 
long BgL_iz00_2255;
BgL_iz00_2255 = 
(long)(BgL_auxz00_2224); 
BgL_iz00_2219 = BgL_iz00_2255; 
goto BgL_loopz00_2220;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzbackend_c_prototypez00()
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
return BUNSPEC;} 
}



/* require-prototype? */
BGL_EXPORTED_DEF bool_t BGl_requirezd2prototypezf3z21zzbackend_c_prototypez00(BgL_globalz00_bglt BgL_globalz00_11)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 45 */
{ /* ./BackEnd/c-proto.scm 46 */
bool_t BgL__andtest_3268z00_915;
{ /* ./BackEnd/c-proto.scm 46 */
bool_t BgL__ortest_3269z00_926;
{ /* ./BackEnd/c-proto.scm 46 */
obj_t BgL_arg3386z00_930;
BgL_arg3386z00_930 = 
(((BgL_globalz00_bglt)CREF(BgL_globalz00_11))->BgL_modulez00); 
BgL__ortest_3269z00_926 = 
(BgL_arg3386z00_930==BGl_za2moduleza2z00zzmodule_modulez00); } 
if(BgL__ortest_3269z00_926)
{ /* ./BackEnd/c-proto.scm 46 */
BgL__andtest_3268z00_915 = BgL__ortest_3269z00_926; }  else 
{ /* ./BackEnd/c-proto.scm 47 */
bool_t BgL_testz00_2260;
{ /* ./BackEnd/c-proto.scm 47 */
obj_t BgL_auxz00_2263;obj_t BgL_auxz00_2261;
BgL_auxz00_2263 = 
CNST_TABLE_REF(((long)0)); 
BgL_auxz00_2261 = 
(((BgL_globalz00_bglt)CREF(BgL_globalz00_11))->BgL_importz00); 
BgL_testz00_2260 = 
(BgL_auxz00_2261==BgL_auxz00_2263); } 
if(BgL_testz00_2260)
{ /* ./BackEnd/c-proto.scm 47 */
BgL__andtest_3268z00_915 = ((bool_t)0); }  else 
{ /* ./BackEnd/c-proto.scm 47 */
BgL__andtest_3268z00_915 = ((bool_t)1); } } } 
if(BgL__andtest_3268z00_915)
{ /* ./BackEnd/c-proto.scm 48 */
bool_t BgL__ortest_3270z00_916;
{ /* ./BackEnd/c-proto.scm 48 */
bool_t BgL__andtest_3272z00_922;
{ /* ./BackEnd/c-proto.scm 48 */
obj_t BgL_arg3376z00_925;
BgL_arg3376z00_925 = 
(((BgL_globalz00_bglt)CREF(BgL_globalz00_11))->BgL_modulez00); 
BgL__andtest_3272z00_922 = 
(BgL_arg3376z00_925==BGl_za2moduleza2z00zzmodule_modulez00); } 
if(BgL__andtest_3272z00_922)
{ /* ./BackEnd/c-proto.scm 49 */
obj_t BgL_auxz00_2272;obj_t BgL_auxz00_2270;
BgL_auxz00_2272 = 
CNST_TABLE_REF(((long)1)); 
BgL_auxz00_2270 = 
(((BgL_globalz00_bglt)CREF(BgL_globalz00_11))->BgL_importz00); 
BgL__ortest_3270z00_916 = 
(BgL_auxz00_2270==BgL_auxz00_2272); }  else 
{ /* ./BackEnd/c-proto.scm 48 */
BgL__ortest_3270z00_916 = ((bool_t)0); } } 
if(BgL__ortest_3270z00_916)
{ /* ./BackEnd/c-proto.scm 48 */
return BgL__ortest_3270z00_916;}  else 
{ /* ./BackEnd/c-proto.scm 50 */
bool_t BgL__ortest_3271z00_917;
{ /* ./BackEnd/c-proto.scm 50 */
long BgL_auxz00_2276;
{ /* ./BackEnd/c-proto.scm 50 */
BgL_variablez00_bglt BgL_obj1132z00_1766;
BgL_obj1132z00_1766 = 
(BgL_variablez00_bglt)(BgL_globalz00_11); 
BgL_auxz00_2276 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1132z00_1766))->BgL_occurrencez00); } 
BgL__ortest_3271z00_917 = 
(BgL_auxz00_2276>((long)0)); } 
if(BgL__ortest_3271z00_917)
{ /* ./BackEnd/c-proto.scm 50 */
return BgL__ortest_3271z00_917;}  else 
{ /* ./BackEnd/c-proto.scm 51 */
obj_t BgL_auxz00_2284;obj_t BgL_auxz00_2281;
BgL_auxz00_2284 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./BackEnd/c-proto.scm 51 */
BgL_variablez00_bglt BgL_obj1129z00_1769;
BgL_obj1129z00_1769 = 
(BgL_variablez00_bglt)(BgL_globalz00_11); 
BgL_auxz00_2281 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1129z00_1769))->BgL_removablez00); } 
return 
(BgL_auxz00_2281==BgL_auxz00_2284);} } }  else 
{ /* ./BackEnd/c-proto.scm 46 */
return ((bool_t)0);} } } 
}



/* _require-prototype?4728 */
obj_t BGl__requirezd2prototypezf34728z21zzbackend_c_prototypez00(obj_t BgL_envz00_2168, obj_t BgL_globalz00_2169)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 45 */
{ /* ./BackEnd/c-proto.scm 46 */
bool_t BgL_auxz00_2287;
BgL_auxz00_2287 = 
BGl_requirezd2prototypezf3z21zzbackend_c_prototypez00(
(BgL_globalz00_bglt)(BgL_globalz00_2169)); 
return 
BBOOL(BgL_auxz00_2287);} } 
}



/* emit-prototypes */
BGL_EXPORTED_DEF obj_t BGl_emitzd2prototypeszd2zzbackend_c_prototypez00()
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 56 */
BGl_forzd2eachzd2globalz12z12zzast_envz00(BGl_proc5053z00zzbackend_c_prototypez00); 
{ /* ./BackEnd/c-proto.scm 66 */
obj_t BgL_cnstzd2initzd2_940;
BgL_cnstzd2initzd2_940 = 
BGl_getzd2cnstzd2tablez00zzcnst_allocz00(); 
{ /* ./BackEnd/c-proto.scm 67 */
BgL_valuez00_bglt BgL_arg3406z00_941;
{ /* ./BackEnd/c-proto.scm 67 */
BgL_variablez00_bglt BgL_obj1120z00_1800;
BgL_obj1120z00_1800 = 
(BgL_variablez00_bglt)(BgL_cnstzd2initzd2_940); 
BgL_arg3406z00_941 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1800))->BgL_valuez00); } 
{ /* ./BackEnd/c-proto.scm 67 */
BgL_variablez00_bglt BgL_variablez00_1802;
BgL_variablez00_1802 = 
(BgL_variablez00_bglt)(BgL_cnstzd2initzd2_940); 
{ /* ./BackEnd/c-proto.scm 67 */
obj_t BgL_method3312z00_1803;
{ /* ./BackEnd/c-proto.scm 67 */
BgL_objectz00_bglt BgL_objz00_1804;
BgL_objz00_1804 = 
(BgL_objectz00_bglt)(BgL_arg3406z00_941); 
{ /* ./BackEnd/c-proto.scm 67 */
long BgL_objzd2classzd2numz00_1805;
BgL_objzd2classzd2numz00_1805 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1804); 
{ /* ./BackEnd/c-proto.scm 67 */
obj_t BgL_arg2017z00_1806;
{ /* ./BackEnd/c-proto.scm 67 */
int BgL_auxz00_2298;
BgL_auxz00_2298 = 
(int)(((long)1)); 
BgL_arg2017z00_1806 = 
PROCEDURE_REF(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BgL_auxz00_2298); } 
{ /* ./BackEnd/c-proto.scm 67 */
int BgL_offsetz00_1809;
BgL_offsetz00_1809 = 
(int)(BgL_objzd2classzd2numz00_1805); 
{ /* ./BackEnd/c-proto.scm 67 */
long BgL_offsetz00_1810;
{ /* ./BackEnd/c-proto.scm 67 */
long BgL_auxz00_2302;
BgL_auxz00_2302 = 
(long)(BgL_offsetz00_1809); 
BgL_offsetz00_1810 = 
(BgL_auxz00_2302-OBJECT_TYPE); } 
{ /* ./BackEnd/c-proto.scm 67 */
long BgL_modz00_1811;
{ /* ./BackEnd/c-proto.scm 67 */
int BgL_arg2028z00_1812;
BgL_arg2028z00_1812 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 67 */
long BgL_n2z00_1820;
BgL_n2z00_1820 = 
(long)(BgL_arg2028z00_1812); 
BgL_modz00_1811 = 
(BgL_offsetz00_1810/BgL_n2z00_1820); } } 
{ /* ./BackEnd/c-proto.scm 67 */
long BgL_restz00_1813;
{ /* ./BackEnd/c-proto.scm 67 */
int BgL_arg2024z00_1814;
BgL_arg2024z00_1814 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 67 */
long BgL_n2z00_1823;
BgL_n2z00_1823 = 
(long)(BgL_arg2024z00_1814); 
BgL_restz00_1813 = 
(BgL_offsetz00_1810%BgL_n2z00_1823); } } 
{ /* ./BackEnd/c-proto.scm 67 */

{ /* ./BackEnd/c-proto.scm 67 */
obj_t BgL_bucketz00_1815;
{ /* ./BackEnd/c-proto.scm 67 */
int BgL_kz00_1825;
BgL_kz00_1825 = 
(int)(BgL_modz00_1811); 
BgL_bucketz00_1815 = 
VECTOR_REF(BgL_arg2017z00_1806,BgL_kz00_1825); } 
{ /* ./BackEnd/c-proto.scm 67 */
int BgL_kz00_1827;
BgL_kz00_1827 = 
(int)(BgL_restz00_1813); 
BgL_method3312z00_1803 = 
VECTOR_REF(BgL_bucketz00_1815,BgL_kz00_1827); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method3312z00_1803)(BgL_method3312z00_1803, 
(obj_t)(BgL_arg3406z00_941), 
(obj_t)(BgL_variablez00_1802), BEOA); } } } } 
BGl_emitzd2tvectorzd2typesz00zztvector_tvectorz00(BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-proto.scm 71 */
obj_t BgL_portz00_1828;
BgL_portz00_1828 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_portz00_1828);} } 
}



/* _emit-prototypes */
obj_t BGl__emitzd2prototypeszd2zzbackend_c_prototypez00(obj_t BgL_envz00_2174)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 56 */
return 
BGl_emitzd2prototypeszd2zzbackend_c_prototypez00();} 
}



/* <anonymous:3392> */
obj_t BGl_zc3anonymousza33392ze3z83zzbackend_c_prototypez00(obj_t BgL_envz00_2175, obj_t BgL_globalz00_2176)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 59 */
{ 
obj_t BgL_globalz00_932;
BgL_globalz00_932 = BgL_globalz00_2176; 
{ /* ./BackEnd/c-proto.scm 60 */
bool_t BgL_test3393z00_934;
{ /* ./BackEnd/c-proto.scm 60 */
bool_t BgL_test3398z00_936;
BgL_test3398z00_936 = 
BGl_requirezd2prototypezf3z21zzbackend_c_prototypez00(
(BgL_globalz00_bglt)(BgL_globalz00_932)); 
if(BgL_test3398z00_936)
{ /* ./BackEnd/c-proto.scm 61 */
bool_t BgL_test3399z00_937;
{ /* ./BackEnd/c-proto.scm 61 */
BgL_valuez00_bglt BgL_arg3401z00_938;
{ /* ./BackEnd/c-proto.scm 61 */
BgL_variablez00_bglt BgL_obj1120z00_1770;
BgL_obj1120z00_1770 = 
(BgL_variablez00_bglt)(BgL_globalz00_932); 
BgL_arg3401z00_938 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1770))->BgL_valuez00); } 
{ /* ./BackEnd/c-proto.scm 61 */
obj_t BgL_obj1541z00_1771;
BgL_obj1541z00_1771 = 
(obj_t)(BgL_arg3401z00_938); 
BgL_test3399z00_937 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1541z00_1771, BGl_scnstz00zzast_varz00); } } 
if(BgL_test3399z00_937)
{ /* ./BackEnd/c-proto.scm 61 */
BgL_test3393z00_934 = ((bool_t)0); }  else 
{ /* ./BackEnd/c-proto.scm 61 */
BgL_test3393z00_934 = ((bool_t)1); } }  else 
{ /* ./BackEnd/c-proto.scm 60 */
BgL_test3393z00_934 = ((bool_t)0); } } 
if(BgL_test3393z00_934)
{ /* ./BackEnd/c-proto.scm 62 */
BgL_valuez00_bglt BgL_arg3395z00_935;
{ /* ./BackEnd/c-proto.scm 62 */
BgL_variablez00_bglt BgL_obj1120z00_1772;
BgL_obj1120z00_1772 = 
(BgL_variablez00_bglt)(BgL_globalz00_932); 
BgL_arg3395z00_935 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1772))->BgL_valuez00); } 
{ /* ./BackEnd/c-proto.scm 62 */
BgL_variablez00_bglt BgL_variablez00_1774;
BgL_variablez00_1774 = 
(BgL_variablez00_bglt)(BgL_globalz00_932); 
{ /* ./BackEnd/c-proto.scm 62 */
obj_t BgL_method3312z00_1775;
{ /* ./BackEnd/c-proto.scm 62 */
BgL_objectz00_bglt BgL_objz00_1776;
BgL_objz00_1776 = 
(BgL_objectz00_bglt)(BgL_arg3395z00_935); 
{ /* ./BackEnd/c-proto.scm 62 */
long BgL_objzd2classzd2numz00_1777;
BgL_objzd2classzd2numz00_1777 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1776); 
{ /* ./BackEnd/c-proto.scm 62 */
obj_t BgL_arg2017z00_1778;
{ /* ./BackEnd/c-proto.scm 62 */
int BgL_auxz00_2336;
BgL_auxz00_2336 = 
(int)(((long)1)); 
BgL_arg2017z00_1778 = 
PROCEDURE_REF(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BgL_auxz00_2336); } 
{ /* ./BackEnd/c-proto.scm 62 */
int BgL_offsetz00_1781;
BgL_offsetz00_1781 = 
(int)(BgL_objzd2classzd2numz00_1777); 
{ /* ./BackEnd/c-proto.scm 62 */
long BgL_offsetz00_1782;
{ /* ./BackEnd/c-proto.scm 62 */
long BgL_auxz00_2340;
BgL_auxz00_2340 = 
(long)(BgL_offsetz00_1781); 
BgL_offsetz00_1782 = 
(BgL_auxz00_2340-OBJECT_TYPE); } 
{ /* ./BackEnd/c-proto.scm 62 */
long BgL_modz00_1783;
{ /* ./BackEnd/c-proto.scm 62 */
int BgL_arg2028z00_1784;
BgL_arg2028z00_1784 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 62 */
long BgL_n2z00_1792;
BgL_n2z00_1792 = 
(long)(BgL_arg2028z00_1784); 
BgL_modz00_1783 = 
(BgL_offsetz00_1782/BgL_n2z00_1792); } } 
{ /* ./BackEnd/c-proto.scm 62 */
long BgL_restz00_1785;
{ /* ./BackEnd/c-proto.scm 62 */
int BgL_arg2024z00_1786;
BgL_arg2024z00_1786 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 62 */
long BgL_n2z00_1795;
BgL_n2z00_1795 = 
(long)(BgL_arg2024z00_1786); 
BgL_restz00_1785 = 
(BgL_offsetz00_1782%BgL_n2z00_1795); } } 
{ /* ./BackEnd/c-proto.scm 62 */

{ /* ./BackEnd/c-proto.scm 62 */
obj_t BgL_bucketz00_1787;
{ /* ./BackEnd/c-proto.scm 62 */
int BgL_kz00_1797;
BgL_kz00_1797 = 
(int)(BgL_modz00_1783); 
BgL_bucketz00_1787 = 
VECTOR_REF(BgL_arg2017z00_1778,BgL_kz00_1797); } 
{ /* ./BackEnd/c-proto.scm 62 */
int BgL_kz00_1799;
BgL_kz00_1799 = 
(int)(BgL_restz00_1785); 
BgL_method3312z00_1775 = 
VECTOR_REF(BgL_bucketz00_1787,BgL_kz00_1799); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method3312z00_1775)(BgL_method3312z00_1775, 
(obj_t)(BgL_arg3395z00_935), 
(obj_t)(BgL_variablez00_1774), BEOA);} } }  else 
{ /* ./BackEnd/c-proto.scm 60 */
return BFALSE;} } } } 
}



/* emit-cnsts */
BGL_EXPORTED_DEF obj_t BGl_emitzd2cnstszd2zzbackend_c_prototypez00()
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 76 */
BGl_forzd2eachzd2globalz12z12zzast_envz00(BGl_proc5054z00zzbackend_c_prototypez00); 
{ /* ./BackEnd/c-proto.scm 82 */
obj_t BgL_portz00_1832;
BgL_portz00_1832 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_portz00_1832);} } 
}



/* _emit-cnsts */
obj_t BGl__emitzd2cnstszd2zzbackend_c_prototypez00(obj_t BgL_envz00_2178)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 76 */
return 
BGl_emitzd2cnstszd2zzbackend_c_prototypez00();} 
}



/* <anonymous:3415> */
obj_t BGl_zc3anonymousza33415ze3z83zzbackend_c_prototypez00(obj_t BgL_envz00_2179, obj_t BgL_globalz00_2180)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 78 */
{ 
obj_t BgL_globalz00_943;
BgL_globalz00_943 = BgL_globalz00_2180; 
{ /* ./BackEnd/c-proto.scm 79 */
bool_t BgL_test3416z00_945;
{ /* ./BackEnd/c-proto.scm 79 */
bool_t BgL_test3421z00_947;
BgL_test3421z00_947 = 
BGl_requirezd2prototypezf3z21zzbackend_c_prototypez00(
(BgL_globalz00_bglt)(BgL_globalz00_943)); 
if(BgL_test3421z00_947)
{ /* ./BackEnd/c-proto.scm 80 */
BgL_valuez00_bglt BgL_arg3423z00_948;
{ /* ./BackEnd/c-proto.scm 80 */
BgL_variablez00_bglt BgL_obj1120z00_1829;
BgL_obj1120z00_1829 = 
(BgL_variablez00_bglt)(BgL_globalz00_943); 
BgL_arg3423z00_948 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1829))->BgL_valuez00); } 
{ /* ./BackEnd/c-proto.scm 80 */
obj_t BgL_obj1541z00_1830;
BgL_obj1541z00_1830 = 
(obj_t)(BgL_arg3423z00_948); 
BgL_test3416z00_945 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1541z00_1830, BGl_scnstz00zzast_varz00); } }  else 
{ /* ./BackEnd/c-proto.scm 79 */
BgL_test3416z00_945 = ((bool_t)0); } } 
if(BgL_test3416z00_945)
{ /* ./BackEnd/c-proto.scm 81 */
BgL_valuez00_bglt BgL_arg3418z00_946;
{ /* ./BackEnd/c-proto.scm 81 */
BgL_variablez00_bglt BgL_obj1120z00_1831;
BgL_obj1120z00_1831 = 
(BgL_variablez00_bglt)(BgL_globalz00_943); 
BgL_arg3418z00_946 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1831))->BgL_valuez00); } 
return 
BGl_emitzd2cnstzd2zzbackend_c_prototypez00(
(BgL_scnstz00_bglt)(BgL_arg3418z00_946), 
(BgL_globalz00_bglt)(BgL_globalz00_943));}  else 
{ /* ./BackEnd/c-proto.scm 79 */
return BFALSE;} } } } 
}



/* emit-prototype/svar/scnst */
obj_t BGl_emitzd2prototypezf2svarzf2scnstzd2zzbackend_c_prototypez00(obj_t BgL_valuez00_20, obj_t BgL_variablez00_21)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 104 */
BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(BgL_variablez00_21); 
{ /* ./BackEnd/c-proto.scm 108 */
bool_t BgL_test3429z00_951;
{ /* ./BackEnd/c-proto.scm 108 */
obj_t BgL_auxz00_2377;obj_t BgL_auxz00_2374;
BgL_auxz00_2377 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./BackEnd/c-proto.scm 108 */
BgL_globalz00_bglt BgL_obj1189z00_1833;
BgL_obj1189z00_1833 = 
(BgL_globalz00_bglt)(BgL_variablez00_21); 
BgL_auxz00_2374 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1189z00_1833))->BgL_importz00); } 
BgL_test3429z00_951 = 
(BgL_auxz00_2374==BgL_auxz00_2377); } 
if(BgL_test3429z00_951)
{ /* ./BackEnd/c-proto.scm 108 */
{ /* ./BackEnd/c-proto.scm 109 */
obj_t BgL_port3275z00_952;
BgL_port3275z00_952 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5055z00zzbackend_c_prototypez00, BgL_port3275z00_952); 
{ /* ./BackEnd/c-proto.scm 109 */
obj_t BgL_auxz00_2382;
BgL_auxz00_2382 = 
BCHAR(((unsigned char)' ')); 
display_char(BgL_auxz00_2382, BgL_port3275z00_952); } 
{ /* ./BackEnd/c-proto.scm 112 */
obj_t BgL_arg3433z00_953;
{ /* ./BackEnd/c-proto.scm 112 */
BgL_typez00_bglt BgL_arg3436z00_954;obj_t BgL_arg3437z00_955;
{ /* ./BackEnd/c-proto.scm 112 */
BgL_variablez00_bglt BgL_obj1117z00_1834;
BgL_obj1117z00_1834 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3436z00_954 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1834))->BgL_typez00); } 
{ /* ./BackEnd/c-proto.scm 112 */
BgL_variablez00_bglt BgL_obj1114z00_1835;
BgL_obj1114z00_1835 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3437z00_955 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1835))->BgL_namez00); } 
BgL_arg3433z00_953 = 
BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_arg3436z00_954, BgL_arg3437z00_955); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3433z00_953, BgL_port3275z00_952); } 
{ /* ./BackEnd/c-proto.scm 113 */
obj_t BgL_arg3442z00_956;
{ /* ./BackEnd/c-proto.scm 113 */
bool_t BgL_test3444z00_957;
{ /* ./BackEnd/c-proto.scm 113 */
BgL_typez00_bglt BgL_arg3446z00_958;
{ /* ./BackEnd/c-proto.scm 113 */
BgL_variablez00_bglt BgL_obj1117z00_1836;
BgL_obj1117z00_1836 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3446z00_958 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1836))->BgL_typez00); } 
BgL_test3444z00_957 = 
BGl_subzd2typezf3z21zztype_envz00(BgL_arg3446z00_958, 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); } 
if(BgL_test3444z00_957)
{ /* ./BackEnd/c-proto.scm 113 */
BgL_arg3442z00_956 = BGl_string5056z00zzbackend_c_prototypez00; }  else 
{ /* ./BackEnd/c-proto.scm 113 */
BgL_arg3442z00_956 = 
BCHAR(((unsigned char)';')); } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3442z00_956, BgL_port3275z00_952); } 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3275z00_952);} }  else 
{ /* ./BackEnd/c-proto.scm 114 */
bool_t BgL_test3450z00_959;
{ /* ./BackEnd/c-proto.scm 114 */
obj_t BgL_auxz00_2402;obj_t BgL_auxz00_2399;
BgL_auxz00_2402 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./BackEnd/c-proto.scm 114 */
BgL_globalz00_bglt BgL_obj1189z00_1838;
BgL_obj1189z00_1838 = 
(BgL_globalz00_bglt)(BgL_variablez00_21); 
BgL_auxz00_2399 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1189z00_1838))->BgL_importz00); } 
BgL_test3450z00_959 = 
(BgL_auxz00_2399==BgL_auxz00_2402); } 
if(BgL_test3450z00_959)
{ /* ./BackEnd/c-proto.scm 114 */
{ /* ./BackEnd/c-proto.scm 115 */
obj_t BgL_port3276z00_960;
BgL_port3276z00_960 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5057z00zzbackend_c_prototypez00, BgL_port3276z00_960); 
{ /* ./BackEnd/c-proto.scm 117 */
obj_t BgL_arg3453z00_961;
{ /* ./BackEnd/c-proto.scm 117 */
BgL_typez00_bglt BgL_arg3456z00_962;obj_t BgL_arg3457z00_963;
{ /* ./BackEnd/c-proto.scm 117 */
BgL_variablez00_bglt BgL_obj1117z00_1839;
BgL_obj1117z00_1839 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3456z00_962 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1839))->BgL_typez00); } 
{ /* ./BackEnd/c-proto.scm 117 */
BgL_variablez00_bglt BgL_obj1114z00_1840;
BgL_obj1114z00_1840 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3457z00_963 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1840))->BgL_namez00); } 
BgL_arg3453z00_961 = 
BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_arg3456z00_962, BgL_arg3457z00_963); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3453z00_961, BgL_port3276z00_960); } 
{ /* ./BackEnd/c-proto.scm 118 */
obj_t BgL_arg3462z00_964;
{ /* ./BackEnd/c-proto.scm 118 */
bool_t BgL_test3464z00_965;
{ /* ./BackEnd/c-proto.scm 118 */
BgL_typez00_bglt BgL_arg3466z00_966;
{ /* ./BackEnd/c-proto.scm 118 */
BgL_variablez00_bglt BgL_obj1117z00_1841;
BgL_obj1117z00_1841 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3466z00_966 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1841))->BgL_typez00); } 
BgL_test3464z00_965 = 
BGl_subzd2typezf3z21zztype_envz00(BgL_arg3466z00_966, 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00)); } 
if(BgL_test3464z00_965)
{ /* ./BackEnd/c-proto.scm 118 */
BgL_arg3462z00_964 = BGl_string5056z00zzbackend_c_prototypez00; }  else 
{ /* ./BackEnd/c-proto.scm 118 */
BgL_arg3462z00_964 = 
BCHAR(((unsigned char)';')); } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3462z00_964, BgL_port3276z00_960); } 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3276z00_960);} }  else 
{ /* ./BackEnd/c-proto.scm 114 */
{ /* ./BackEnd/c-proto.scm 120 */
obj_t BgL_port3277z00_967;
BgL_port3277z00_967 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-proto.scm 121 */
obj_t BgL_arg3471z00_968;
{ /* ./BackEnd/c-proto.scm 121 */
obj_t BgL_res4715z00_1869;
{ /* ./BackEnd/c-proto.scm 121 */
BgL_variablez00_bglt BgL_variablez00_1843;
BgL_variablez00_1843 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
{ /* ./BackEnd/c-proto.scm 121 */
obj_t BgL_method3324z00_1844;
{ /* ./BackEnd/c-proto.scm 121 */
BgL_objectz00_bglt BgL_objz00_1845;
BgL_objz00_1845 = 
(BgL_objectz00_bglt)(BgL_variablez00_1843); 
{ /* ./BackEnd/c-proto.scm 121 */
long BgL_objzd2classzd2numz00_1846;
BgL_objzd2classzd2numz00_1846 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1845); 
{ /* ./BackEnd/c-proto.scm 121 */
obj_t BgL_arg2017z00_1847;
{ /* ./BackEnd/c-proto.scm 121 */
int BgL_auxz00_2424;
BgL_auxz00_2424 = 
(int)(((long)1)); 
BgL_arg2017z00_1847 = 
PROCEDURE_REF(BGl_getzd2czd2scopezd2envzd2zzbackend_c_prototypez00, BgL_auxz00_2424); } 
{ /* ./BackEnd/c-proto.scm 121 */
int BgL_offsetz00_1850;
BgL_offsetz00_1850 = 
(int)(BgL_objzd2classzd2numz00_1846); 
{ /* ./BackEnd/c-proto.scm 121 */
long BgL_offsetz00_1851;
{ /* ./BackEnd/c-proto.scm 121 */
long BgL_auxz00_2428;
BgL_auxz00_2428 = 
(long)(BgL_offsetz00_1850); 
BgL_offsetz00_1851 = 
(BgL_auxz00_2428-OBJECT_TYPE); } 
{ /* ./BackEnd/c-proto.scm 121 */
long BgL_modz00_1852;
{ /* ./BackEnd/c-proto.scm 121 */
int BgL_arg2028z00_1853;
BgL_arg2028z00_1853 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 121 */
long BgL_n2z00_1861;
BgL_n2z00_1861 = 
(long)(BgL_arg2028z00_1853); 
BgL_modz00_1852 = 
(BgL_offsetz00_1851/BgL_n2z00_1861); } } 
{ /* ./BackEnd/c-proto.scm 121 */
long BgL_restz00_1854;
{ /* ./BackEnd/c-proto.scm 121 */
int BgL_arg2024z00_1855;
BgL_arg2024z00_1855 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 121 */
long BgL_n2z00_1864;
BgL_n2z00_1864 = 
(long)(BgL_arg2024z00_1855); 
BgL_restz00_1854 = 
(BgL_offsetz00_1851%BgL_n2z00_1864); } } 
{ /* ./BackEnd/c-proto.scm 121 */

{ /* ./BackEnd/c-proto.scm 121 */
obj_t BgL_bucketz00_1856;
{ /* ./BackEnd/c-proto.scm 121 */
int BgL_kz00_1866;
BgL_kz00_1866 = 
(int)(BgL_modz00_1852); 
BgL_bucketz00_1856 = 
VECTOR_REF(BgL_arg2017z00_1847,BgL_kz00_1866); } 
{ /* ./BackEnd/c-proto.scm 121 */
int BgL_kz00_1868;
BgL_kz00_1868 = 
(int)(BgL_restz00_1854); 
BgL_method3324z00_1844 = 
VECTOR_REF(BgL_bucketz00_1856,BgL_kz00_1868); } } } } } } } } } } 
BgL_res4715z00_1869 = 
PROCEDURE_ENTRY(BgL_method3324z00_1844)(BgL_method3324z00_1844, 
(obj_t)(BgL_variablez00_1843), BEOA); } } 
BgL_arg3471z00_968 = BgL_res4715z00_1869; } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3471z00_968, BgL_port3277z00_967); } 
{ /* ./BackEnd/c-proto.scm 120 */
obj_t BgL_auxz00_2445;
BgL_auxz00_2445 = 
BCHAR(((unsigned char)' ')); 
display_char(BgL_auxz00_2445, BgL_port3277z00_967); } 
{ /* ./BackEnd/c-proto.scm 123 */
obj_t BgL_arg3476z00_969;
{ /* ./BackEnd/c-proto.scm 123 */
BgL_typez00_bglt BgL_arg3479z00_970;obj_t BgL_arg3480z00_971;
{ /* ./BackEnd/c-proto.scm 123 */
BgL_variablez00_bglt BgL_obj1117z00_1870;
BgL_obj1117z00_1870 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3479z00_970 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1870))->BgL_typez00); } 
{ /* ./BackEnd/c-proto.scm 123 */
BgL_variablez00_bglt BgL_obj1114z00_1871;
BgL_obj1114z00_1871 = 
(BgL_variablez00_bglt)(BgL_variablez00_21); 
BgL_arg3480z00_971 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1871))->BgL_namez00); } 
BgL_arg3476z00_969 = 
BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_arg3479z00_970, BgL_arg3480z00_971); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3476z00_969, BgL_port3277z00_967); } 
{ /* ./BackEnd/c-proto.scm 120 */
obj_t BgL_auxz00_2454;
BgL_auxz00_2454 = 
BCHAR(((unsigned char)';')); 
display_char(BgL_auxz00_2454, BgL_port3277z00_967); } 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3277z00_967);} } } } } 
}



/* emit-prototype-formal-types */
obj_t BGl_emitzd2prototypezd2formalzd2typeszd2zzbackend_c_prototypez00(obj_t BgL_typesz00_24)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 148 */
{ /* ./BackEnd/c-proto.scm 149 */
bool_t BgL_test3496z00_976;
BgL_test3496z00_976 = 
NULLP(BgL_typesz00_24); 
if(BgL_test3496z00_976)
{ /* ./BackEnd/c-proto.scm 149 */
return BGl_string5058z00zzbackend_c_prototypez00;}  else 
{ /* ./BackEnd/c-proto.scm 151 */
obj_t BgL_arg3499z00_978;
BgL_arg3499z00_978 = 
BGl_loopz72z72z00zzbackend_c_prototypez00(BgL_typesz00_24); 
return 
string_append(BGl_string5059z00zzbackend_c_prototypez00, BgL_arg3499z00_978);} } } 
}



/* loop'' */
obj_t BGl_loopz72z72z00zzbackend_c_prototypez00(obj_t BgL_typesz00_979)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 153 */
{ /* ./BackEnd/c-proto.scm 154 */
bool_t BgL_test3502z00_981;
{ /* ./BackEnd/c-proto.scm 154 */
obj_t BgL_auxz00_2462;
BgL_auxz00_2462 = 
CDR(BgL_typesz00_979); 
BgL_test3502z00_981 = 
NULLP(BgL_auxz00_2462); } 
if(BgL_test3502z00_981)
{ /* ./BackEnd/c-proto.scm 155 */
obj_t BgL_arg3504z00_982;
{ /* ./BackEnd/c-proto.scm 155 */
obj_t BgL_arg3509z00_984;
BgL_arg3509z00_984 = 
CAR(BgL_typesz00_979); 
BgL_arg3504z00_982 = 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(
(BgL_typez00_bglt)(BgL_arg3509z00_984)); } 
return 
string_append(BgL_arg3504z00_982, BGl_string5060z00zzbackend_c_prototypez00);}  else 
{ /* ./BackEnd/c-proto.scm 157 */
obj_t BgL_arg3513z00_985;obj_t BgL_arg3515z00_987;
{ /* ./BackEnd/c-proto.scm 157 */
obj_t BgL_arg3518z00_988;
BgL_arg3518z00_988 = 
CAR(BgL_typesz00_979); 
BgL_arg3513z00_985 = 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(
(BgL_typez00_bglt)(BgL_arg3518z00_988)); } 
{ /* ./BackEnd/c-proto.scm 158 */
obj_t BgL_arg3522z00_989;
BgL_arg3522z00_989 = 
CDR(BgL_typesz00_979); 
BgL_arg3515z00_987 = 
BGl_loopz72z72z00zzbackend_c_prototypez00(BgL_arg3522z00_989); } 
return 
string_append_3(BgL_arg3513z00_985, BGl_string5061z00zzbackend_c_prototypez00, BgL_arg3515z00_987);} } } 
}



/* emit-prototype-formals */
obj_t BGl_emitzd2prototypezd2formalsz00zzbackend_c_prototypez00(obj_t BgL_argsz00_25)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 163 */
{ /* ./BackEnd/c-proto.scm 164 */
bool_t BgL_test3530z00_991;
BgL_test3530z00_991 = 
NULLP(BgL_argsz00_25); 
if(BgL_test3530z00_991)
{ /* ./BackEnd/c-proto.scm 164 */
return BGl_string5058z00zzbackend_c_prototypez00;}  else 
{ /* ./BackEnd/c-proto.scm 166 */
obj_t BgL_arg3533z00_993;
BgL_arg3533z00_993 = 
BGl_loopz72z72zzbackend_c_prototypez00(BgL_argsz00_25); 
return 
string_append(BGl_string5059z00zzbackend_c_prototypez00, BgL_arg3533z00_993);} } } 
}



/* loop' */
obj_t BGl_loopz72z72zzbackend_c_prototypez00(obj_t BgL_argsz00_994)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 168 */
{ /* ./BackEnd/c-proto.scm 169 */
bool_t BgL_test3536z00_996;
{ /* ./BackEnd/c-proto.scm 169 */
obj_t BgL_auxz00_2480;
BgL_auxz00_2480 = 
CDR(BgL_argsz00_994); 
BgL_test3536z00_996 = 
NULLP(BgL_auxz00_2480); } 
if(BgL_test3536z00_996)
{ /* ./BackEnd/c-proto.scm 170 */
obj_t BgL_instance3281z00_997;
BgL_instance3281z00_997 = 
CAR(BgL_argsz00_994); 
{ /* ./BackEnd/c-proto.scm 171 */
obj_t BgL_arg3538z00_998;
{ /* ./BackEnd/c-proto.scm 171 */
BgL_typez00_bglt BgL_arg3544z00_1000;
{ /* ./BackEnd/c-proto.scm 171 */
BgL_variablez00_bglt BgL_obj1117z00_1883;
BgL_obj1117z00_1883 = 
(BgL_variablez00_bglt)(BgL_instance3281z00_997); 
BgL_arg3544z00_1000 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1883))->BgL_typez00); } 
BgL_arg3538z00_998 = 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(BgL_arg3544z00_1000); } 
return 
string_append(BgL_arg3538z00_998, BGl_string5060z00zzbackend_c_prototypez00);} }  else 
{ /* ./BackEnd/c-proto.scm 172 */
obj_t BgL_instance3283z00_1001;
BgL_instance3283z00_1001 = 
CAR(BgL_argsz00_994); 
{ /* ./BackEnd/c-proto.scm 173 */
obj_t BgL_arg3549z00_1002;obj_t BgL_arg3552z00_1004;
{ /* ./BackEnd/c-proto.scm 173 */
BgL_typez00_bglt BgL_arg3556z00_1005;
{ /* ./BackEnd/c-proto.scm 173 */
BgL_variablez00_bglt BgL_obj1117z00_1885;
BgL_obj1117z00_1885 = 
(BgL_variablez00_bglt)(BgL_instance3283z00_1001); 
BgL_arg3556z00_1005 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_1885))->BgL_typez00); } 
BgL_arg3549z00_1002 = 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(BgL_arg3556z00_1005); } 
{ /* ./BackEnd/c-proto.scm 174 */
obj_t BgL_arg3560z00_1006;
BgL_arg3560z00_1006 = 
CDR(BgL_argsz00_994); 
BgL_arg3552z00_1004 = 
BGl_loopz72z72zzbackend_c_prototypez00(BgL_arg3560z00_1006); } 
return 
string_append_3(BgL_arg3549z00_1002, BGl_string5061z00zzbackend_c_prototypez00, BgL_arg3552z00_1004);} } } } 
}



/* emit-cnst */
obj_t BGl_emitzd2cnstzd2zzbackend_c_prototypez00(BgL_scnstz00_bglt BgL_valuez00_30, BgL_globalz00_bglt BgL_variablez00_31)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 222 */
{ /* ./BackEnd/c-proto.scm 224 */
obj_t BgL_casezd2valuezd2_1009;
BgL_casezd2valuezd2_1009 = 
(((BgL_scnstz00_bglt)CREF(BgL_valuez00_30))->BgL_classz00); 
{ /* ./BackEnd/c-proto.scm 224 */
bool_t BgL_test3569z00_1010;
BgL_test3569z00_1010 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1009, 
CNST_TABLE_REF(((long)3))); 
if(BgL_test3569z00_1010)
{ /* ./BackEnd/c-proto.scm 226 */
obj_t BgL_arg3571z00_1011;
BgL_arg3571z00_1011 = 
(((BgL_scnstz00_bglt)CREF(BgL_valuez00_30))->BgL_nodez00); 
return 
BGl_emitzd2cnstzd2stringz00zzbackend_c_prototypez00(BgL_arg3571z00_1011, BgL_variablez00_31);}  else 
{ /* ./BackEnd/c-proto.scm 224 */
bool_t BgL_test3574z00_1012;
BgL_test3574z00_1012 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1009, 
CNST_TABLE_REF(((long)4))); 
if(BgL_test3574z00_1012)
{ /* ./BackEnd/c-proto.scm 228 */
obj_t BgL_arg3576z00_1013;
BgL_arg3576z00_1013 = 
(((BgL_scnstz00_bglt)CREF(BgL_valuez00_30))->BgL_nodez00); 
return 
BGl_emitzd2cnstzd2realz00zzbackend_c_prototypez00(BgL_arg3576z00_1013, BgL_variablez00_31);}  else 
{ /* ./BackEnd/c-proto.scm 224 */
bool_t BgL_test3579z00_1014;
BgL_test3579z00_1014 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1009, 
CNST_TABLE_REF(((long)5))); 
if(BgL_test3579z00_1014)
{ /* ./BackEnd/c-proto.scm 230 */
obj_t BgL_arg3581z00_1015;
BgL_arg3581z00_1015 = 
(((BgL_scnstz00_bglt)CREF(BgL_valuez00_30))->BgL_nodez00); 
return 
BGl_emitzd2cnstzd2sfunzf2sgfunzf2zzbackend_c_prototypez00(BgL_arg3581z00_1015, BgL_variablez00_31, "PROCEDURE");}  else 
{ /* ./BackEnd/c-proto.scm 224 */
bool_t BgL_test3584z00_1016;
BgL_test3584z00_1016 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1009, 
CNST_TABLE_REF(((long)6))); 
if(BgL_test3584z00_1016)
{ /* ./BackEnd/c-proto.scm 232 */
obj_t BgL_arg3586z00_1017;
BgL_arg3586z00_1017 = 
(((BgL_scnstz00_bglt)CREF(BgL_valuez00_30))->BgL_nodez00); 
return 
BGl_emitzd2cnstzd2sfunzf2sgfunzf2zzbackend_c_prototypez00(BgL_arg3586z00_1017, BgL_variablez00_31, "GENERIC");}  else 
{ /* ./BackEnd/c-proto.scm 224 */
bool_t BgL_test3589z00_1018;
BgL_test3589z00_1018 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1009, 
CNST_TABLE_REF(((long)7))); 
if(BgL_test3589z00_1018)
{ /* ./BackEnd/c-proto.scm 234 */
obj_t BgL_arg3591z00_1019;
BgL_arg3591z00_1019 = 
(((BgL_scnstz00_bglt)CREF(BgL_valuez00_30))->BgL_nodez00); 
return 
BGl_emitzd2cnstzd2stvectorz00zzbackend_c_prototypez00(BgL_arg3591z00_1019, BgL_variablez00_31);}  else 
{ /* ./BackEnd/c-proto.scm 236 */
obj_t BgL_arg3597z00_1022;
BgL_arg3597z00_1022 = 
(((BgL_scnstz00_bglt)CREF(BgL_valuez00_30))->BgL_classz00); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5062z00zzbackend_c_prototypez00, BGl_string5063z00zzbackend_c_prototypez00, BgL_arg3597z00_1022);} } } } } } } } 
}



/* emit-cnst-string */
obj_t BGl_emitzd2cnstzd2stringz00zzbackend_c_prototypez00(obj_t BgL_ostrz00_32, BgL_globalz00_bglt BgL_globalz00_33)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 241 */
BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(
(obj_t)(BgL_globalz00_33)); 
{ /* ./BackEnd/c-proto.scm 243 */
bool_t BgL_test3607z00_1023;
{ /* ./BackEnd/c-proto.scm 243 */
bool_t BgL_test3782z00_1086;
{ /* ./BackEnd/c-proto.scm 243 */
int BgL_arg3784z00_1087;
BgL_arg3784z00_1087 = 
STRING_LENGTH(BgL_ostrz00_32); 
BgL_test3782z00_1086 = 
BGl_2ze3ze3zz__r4_numbers_6_5z00(
BINT(BgL_arg3784z00_1087), BGl_za2maxzd2czd2tokenzd2lengthza2zd2zzengine_paramz00); } 
if(BgL_test3782z00_1086)
{ /* ./BackEnd/c-proto.scm 243 */
BgL_test3607z00_1023 = 
CBOOL(BGl_za2czd2splitzd2stringza2z00zzengine_paramz00); }  else 
{ /* ./BackEnd/c-proto.scm 243 */
BgL_test3607z00_1023 = ((bool_t)0); } } 
if(BgL_test3607z00_1023)
{ /* ./BackEnd/c-proto.scm 246 */
obj_t BgL_auxz00_1024;
{ /* ./BackEnd/c-proto.scm 246 */
obj_t BgL_arg3650z00_1037;
{ /* ./BackEnd/c-proto.scm 246 */
obj_t BgL_arg3653z00_1038;
{ /* ./BackEnd/c-proto.scm 246 */
BgL_variablez00_bglt BgL_obj1114z00_1899;
BgL_obj1114z00_1899 = 
(BgL_variablez00_bglt)(BgL_globalz00_33); 
BgL_arg3653z00_1038 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1899))->BgL_namez00); } 
BgL_arg3650z00_1037 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BgL_arg3653z00_1038, BEOA); } 
BgL_auxz00_1024 = 
BGl_idzd2ze3namez31zzast_identz00(BgL_arg3650z00_1037); } 
{ /* ./BackEnd/c-proto.scm 247 */
obj_t BgL_port3293z00_1025;
BgL_port3293z00_1025 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5064z00zzbackend_c_prototypez00, BgL_port3293z00_1025); 
{ /* ./BackEnd/c-proto.scm 249 */
obj_t BgL_arg3610z00_1026;
{ /* ./BackEnd/c-proto.scm 249 */
BgL_variablez00_bglt BgL_obj1114z00_1900;
BgL_obj1114z00_1900 = 
(BgL_variablez00_bglt)(BgL_globalz00_33); 
BgL_arg3610z00_1026 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1900))->BgL_namez00); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3610z00_1026, BgL_port3293z00_1025); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3293z00_1025); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_auxz00_1024, BgL_port3293z00_1025); 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3293z00_1025); 
{ /* ./BackEnd/c-proto.scm 253 */
int BgL_arg3617z00_1027;
BgL_arg3617z00_1027 = 
STRING_LENGTH(BgL_ostrz00_32); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
BINT(BgL_arg3617z00_1027), BgL_port3293z00_1025); } 
display_string(BGl_string5065z00zzbackend_c_prototypez00, BgL_port3293z00_1025); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3293z00_1025); } 
display_string(BGl_string5066z00zzbackend_c_prototypez00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-proto.scm 256 */
int BgL_rlenz00_1028;
BgL_rlenz00_1028 = 
STRING_LENGTH(BgL_ostrz00_32); 
{ 
long BgL_iz00_1029;
BgL_iz00_1029 = ((long)0); 
BgL_laapz00_1030:
{ /* ./BackEnd/c-proto.scm 258 */
bool_t BgL_test3624z00_1031;
{ /* ./BackEnd/c-proto.scm 258 */
long BgL_auxz00_2551;
BgL_auxz00_2551 = 
(long)(BgL_rlenz00_1028); 
BgL_test3624z00_1031 = 
(BgL_iz00_1029==BgL_auxz00_2551); } 
if(BgL_test3624z00_1031)
{ /* ./BackEnd/c-proto.scm 259 */
obj_t BgL_port3294z00_1032;
BgL_port3294z00_1032 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5067z00zzbackend_c_prototypez00, BgL_port3294z00_1032); 
display_string(BGl_string5068z00zzbackend_c_prototypez00, BgL_port3294z00_1032); 
{ /* ./BackEnd/c-proto.scm 262 */
obj_t BgL_arg3628z00_1033;
{ /* ./BackEnd/c-proto.scm 262 */
BgL_variablez00_bglt BgL_obj1114z00_1906;
BgL_obj1114z00_1906 = 
(BgL_variablez00_bglt)(BgL_globalz00_33); 
BgL_arg3628z00_1033 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1906))->BgL_namez00); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3628z00_1033, BgL_port3294z00_1032); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3294z00_1032); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_auxz00_1024, BgL_port3294z00_1032); 
display_string(BGl_string5069z00zzbackend_c_prototypez00, BgL_port3294z00_1032); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3294z00_1032);}  else 
{ /* ./BackEnd/c-proto.scm 258 */
{ /* ./BackEnd/c-proto.scm 267 */
long BgL_arg3636z00_1034;
{ /* ./BackEnd/c-proto.scm 267 */
unsigned char BgL_auxz00_2564;
{ /* ./BackEnd/c-proto.scm 267 */
int BgL_auxz00_2565;
BgL_auxz00_2565 = 
(int)(BgL_iz00_1029); 
BgL_auxz00_2564 = 
STRING_REF(BgL_ostrz00_32, BgL_auxz00_2565); } 
BgL_arg3636z00_1034 = 
(BgL_auxz00_2564); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
BINT(BgL_arg3636z00_1034), BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
display_string(BGl_string5070z00zzbackend_c_prototypez00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-proto.scm 269 */
long BgL_arg3644z00_1036;
BgL_arg3644z00_1036 = 
(BgL_iz00_1029+((long)1)); 
{ 
long BgL_iz00_2573;
BgL_iz00_2573 = BgL_arg3644z00_1036; 
BgL_iz00_1029 = BgL_iz00_2573; 
goto BgL_laapz00_1030;} } } } } } }  else 
{ /* ./BackEnd/c-proto.scm 270 */
obj_t BgL_strz00_1039;
BgL_strz00_1039 = 
string_for_read(BgL_ostrz00_32); 
{ /* ./BackEnd/c-proto.scm 272 */
obj_t BgL_port3295z00_1040;
BgL_port3295z00_1040 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5071z00zzbackend_c_prototypez00, BgL_port3295z00_1040); 
{ /* ./BackEnd/c-proto.scm 274 */
obj_t BgL_arg3658z00_1041;
{ /* ./BackEnd/c-proto.scm 274 */
BgL_variablez00_bglt BgL_obj1114z00_1914;
BgL_obj1114z00_1914 = 
(BgL_variablez00_bglt)(BgL_globalz00_33); 
BgL_arg3658z00_1041 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1914))->BgL_namez00); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3658z00_1041, BgL_port3295z00_1040); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3295z00_1040); 
{ /* ./BackEnd/c-proto.scm 276 */
obj_t BgL_arg3663z00_1042;
{ /* ./BackEnd/c-proto.scm 276 */
obj_t BgL_arg3666z00_1043;
{ /* ./BackEnd/c-proto.scm 276 */
obj_t BgL_arg3669z00_1044;
{ /* ./BackEnd/c-proto.scm 276 */
BgL_variablez00_bglt BgL_obj1114z00_1915;
BgL_obj1114z00_1915 = 
(BgL_variablez00_bglt)(BgL_globalz00_33); 
BgL_arg3669z00_1044 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1915))->BgL_namez00); } 
BgL_arg3666z00_1043 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BgL_arg3669z00_1044, BEOA); } 
BgL_arg3663z00_1042 = 
BGl_idzd2ze3namez31zzast_identz00(BgL_arg3666z00_1043); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3663z00_1042, BgL_port3295z00_1040); } 
display_string(BGl_string5072z00zzbackend_c_prototypez00, BgL_port3295z00_1040); } 
{ 
long BgL_readz00_1045;obj_t BgL_rlenz00_1046;
{ /* ./BackEnd/c-proto.scm 278 */
int BgL_arg3675z00_1049;
BgL_arg3675z00_1049 = 
STRING_LENGTH(BgL_strz00_1039); 
BgL_readz00_1045 = ((long)0); 
BgL_rlenz00_1046 = 
BINT(BgL_arg3675z00_1049); 
BgL_loopz00_1047:
{ /* ./BackEnd/c-proto.scm 281 */
bool_t BgL_test3678z00_1050;
{ /* ./BackEnd/c-proto.scm 281 */
long BgL_n1z00_1917;long BgL_n2z00_1918;
BgL_n1z00_1917 = 
(long)CINT(BgL_rlenz00_1046); 
BgL_n2z00_1918 = 
(long)CINT(BGl_za2maxzd2czd2tokenzd2lengthza2zd2zzengine_paramz00); 
BgL_test3678z00_1050 = 
(BgL_n1z00_1917<=BgL_n2z00_1918); } 
if(BgL_test3678z00_1050)
{ /* ./BackEnd/c-proto.scm 281 */
{ /* ./BackEnd/c-proto.scm 282 */
obj_t BgL_arg3681z00_1051;
{ /* ./BackEnd/c-proto.scm 282 */
obj_t BgL_arg3684z00_1052;
{ /* ./BackEnd/c-proto.scm 282 */
long BgL_arg3687z00_1053;
{ /* ./BackEnd/c-proto.scm 282 */
long BgL_auxz00_2592;
BgL_auxz00_2592 = 
(long)CINT(BgL_rlenz00_1046); 
BgL_arg3687z00_1053 = 
(BgL_readz00_1045+BgL_auxz00_2592); } 
{ /* ./BackEnd/c-proto.scm 282 */
int BgL_startz00_1922;int BgL_endz00_1923;
BgL_startz00_1922 = 
(int)(BgL_readz00_1045); 
BgL_endz00_1923 = 
(int)(BgL_arg3687z00_1053); 
BgL_arg3684z00_1052 = 
c_substring(BgL_strz00_1039, BgL_startz00_1922, BgL_endz00_1923); } } 
BgL_arg3681z00_1051 = 
BGl_untrigraphz00zzbackend_c_emitz00(BgL_arg3684z00_1052); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3681z00_1051, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-proto.scm 284 */
obj_t BgL_port3296z00_1054;
BgL_port3296z00_1054 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5073z00zzbackend_c_prototypez00, BgL_port3296z00_1054); 
{ /* ./BackEnd/c-proto.scm 284 */
int BgL_arg3692z00_1055;
BgL_arg3692z00_1055 = 
STRING_LENGTH(BgL_ostrz00_32); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
BINT(BgL_arg3692z00_1055), BgL_port3296z00_1054); } 
display_string(BGl_string5074z00zzbackend_c_prototypez00, BgL_port3296z00_1054); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3296z00_1054);} }  else 
{ /* ./BackEnd/c-proto.scm 281 */
{ 
long BgL_offsetz00_1056;
{ /* ./BackEnd/c-proto.scm 286 */
long BgL_arg3698z00_1058;
{ /* ./BackEnd/c-proto.scm 286 */
long BgL_za72za7_1927;
BgL_za72za7_1927 = 
(long)CINT(BGl_za2maxzd2czd2tokenzd2lengthza2zd2zzengine_paramz00); 
BgL_arg3698z00_1058 = 
(BgL_readz00_1045+BgL_za72za7_1927); } 
BgL_offsetz00_1056 = BgL_arg3698z00_1058; 
BgL_laapz00_1057:
{ /* ./BackEnd/c-proto.scm 288 */
bool_t BgL_test3701z00_1059;
{ /* ./BackEnd/c-proto.scm 288 */
long BgL_auxz00_2608;
BgL_auxz00_2608 = 
(BgL_readz00_1045+((long)3)); 
BgL_test3701z00_1059 = 
(BgL_auxz00_2608>=BgL_offsetz00_1056); } 
if(BgL_test3701z00_1059)
{ /* ./BackEnd/c-proto.scm 288 */
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5075z00zzbackend_c_prototypez00, BGl_string5076z00zzbackend_c_prototypez00, BgL_ostrz00_32);}  else 
{ /* ./BackEnd/c-proto.scm 292 */
bool_t BgL_test3703z00_1060;
{ /* ./BackEnd/c-proto.scm 292 */
unsigned char BgL_auxz00_2613;
{ /* ./BackEnd/c-proto.scm 292 */
int BgL_auxz00_2614;
{ /* ./BackEnd/c-proto.scm 292 */
long BgL_auxz00_2615;
BgL_auxz00_2615 = 
(BgL_offsetz00_1056-((long)1)); 
BgL_auxz00_2614 = 
(int)(BgL_auxz00_2615); } 
BgL_auxz00_2613 = 
STRING_REF(BgL_strz00_1039, BgL_auxz00_2614); } 
BgL_test3703z00_1060 = 
(BgL_auxz00_2613==((unsigned char)'\\')); } 
if(BgL_test3703z00_1060)
{ /* ./BackEnd/c-proto.scm 292 */
{ /* ./BackEnd/c-proto.scm 293 */
long BgL_arg3705z00_1061;
BgL_arg3705z00_1061 = 
(BgL_offsetz00_1056-((long)1)); 
{ 
long BgL_offsetz00_2622;
BgL_offsetz00_2622 = BgL_arg3705z00_1061; 
BgL_offsetz00_1056 = BgL_offsetz00_2622; 
goto BgL_laapz00_1057;} } }  else 
{ /* ./BackEnd/c-proto.scm 294 */
bool_t BgL_test3708z00_1062;
{ /* ./BackEnd/c-proto.scm 294 */
bool_t BgL_test3754z00_1078;
{ /* ./BackEnd/c-proto.scm 294 */
unsigned char BgL_auxz00_2623;
{ /* ./BackEnd/c-proto.scm 294 */
int BgL_auxz00_2624;
{ /* ./BackEnd/c-proto.scm 294 */
long BgL_auxz00_2625;
BgL_auxz00_2625 = 
(BgL_offsetz00_1056-((long)2)); 
BgL_auxz00_2624 = 
(int)(BgL_auxz00_2625); } 
BgL_auxz00_2623 = 
STRING_REF(BgL_strz00_1039, BgL_auxz00_2624); } 
BgL_test3754z00_1078 = 
(BgL_auxz00_2623==((unsigned char)'\\')); } 
if(BgL_test3754z00_1078)
{ /* ./BackEnd/c-proto.scm 295 */
unsigned char BgL_arg3756z00_1079;
{ /* ./BackEnd/c-proto.scm 295 */
int BgL_auxz00_2631;
{ /* ./BackEnd/c-proto.scm 295 */
long BgL_auxz00_2632;
BgL_auxz00_2632 = 
(BgL_offsetz00_1056-((long)1)); 
BgL_auxz00_2631 = 
(int)(BgL_auxz00_2632); } 
BgL_arg3756z00_1079 = 
STRING_REF(BgL_strz00_1039, BgL_auxz00_2631); } 
{ /* ./BackEnd/c-proto.scm 295 */
bool_t BgL_res4716z00_1951;
BgL_res4716z00_1951 = 
isdigit(BgL_arg3756z00_1079); 
BgL_test3708z00_1062 = BgL_res4716z00_1951; } }  else 
{ /* ./BackEnd/c-proto.scm 294 */
BgL_test3708z00_1062 = ((bool_t)0); } } 
if(BgL_test3708z00_1062)
{ /* ./BackEnd/c-proto.scm 294 */
{ /* ./BackEnd/c-proto.scm 296 */
long BgL_arg3710z00_1063;
BgL_arg3710z00_1063 = 
(BgL_offsetz00_1056-((long)2)); 
{ 
long BgL_offsetz00_2639;
BgL_offsetz00_2639 = BgL_arg3710z00_1063; 
BgL_offsetz00_1056 = BgL_offsetz00_2639; 
goto BgL_laapz00_1057;} } }  else 
{ /* ./BackEnd/c-proto.scm 297 */
bool_t BgL_test3713z00_1064;
{ /* ./BackEnd/c-proto.scm 297 */
bool_t BgL_test3731z00_1070;
{ /* ./BackEnd/c-proto.scm 297 */
unsigned char BgL_auxz00_2640;
{ /* ./BackEnd/c-proto.scm 297 */
int BgL_auxz00_2641;
{ /* ./BackEnd/c-proto.scm 297 */
long BgL_auxz00_2642;
BgL_auxz00_2642 = 
(BgL_offsetz00_1056-((long)3)); 
BgL_auxz00_2641 = 
(int)(BgL_auxz00_2642); } 
BgL_auxz00_2640 = 
STRING_REF(BgL_strz00_1039, BgL_auxz00_2641); } 
BgL_test3731z00_1070 = 
(BgL_auxz00_2640==((unsigned char)'\\')); } 
if(BgL_test3731z00_1070)
{ /* ./BackEnd/c-proto.scm 298 */
bool_t BgL_test3732z00_1071;
{ /* ./BackEnd/c-proto.scm 298 */
unsigned char BgL_arg3741z00_1074;
{ /* ./BackEnd/c-proto.scm 298 */
int BgL_auxz00_2648;
{ /* ./BackEnd/c-proto.scm 298 */
long BgL_auxz00_2649;
BgL_auxz00_2649 = 
(BgL_offsetz00_1056-((long)2)); 
BgL_auxz00_2648 = 
(int)(BgL_auxz00_2649); } 
BgL_arg3741z00_1074 = 
STRING_REF(BgL_strz00_1039, BgL_auxz00_2648); } 
{ /* ./BackEnd/c-proto.scm 298 */
bool_t BgL_res4717z00_1965;
BgL_res4717z00_1965 = 
isdigit(BgL_arg3741z00_1074); 
BgL_test3732z00_1071 = BgL_res4717z00_1965; } } 
if(BgL_test3732z00_1071)
{ /* ./BackEnd/c-proto.scm 299 */
unsigned char BgL_arg3734z00_1072;
{ /* ./BackEnd/c-proto.scm 299 */
int BgL_auxz00_2655;
{ /* ./BackEnd/c-proto.scm 299 */
long BgL_auxz00_2656;
BgL_auxz00_2656 = 
(BgL_offsetz00_1056-((long)1)); 
BgL_auxz00_2655 = 
(int)(BgL_auxz00_2656); } 
BgL_arg3734z00_1072 = 
STRING_REF(BgL_strz00_1039, BgL_auxz00_2655); } 
{ /* ./BackEnd/c-proto.scm 299 */
bool_t BgL_res4718z00_1971;
BgL_res4718z00_1971 = 
isdigit(BgL_arg3734z00_1072); 
BgL_test3713z00_1064 = BgL_res4718z00_1971; } }  else 
{ /* ./BackEnd/c-proto.scm 298 */
BgL_test3713z00_1064 = ((bool_t)0); } }  else 
{ /* ./BackEnd/c-proto.scm 297 */
BgL_test3713z00_1064 = ((bool_t)0); } } 
if(BgL_test3713z00_1064)
{ /* ./BackEnd/c-proto.scm 297 */
{ /* ./BackEnd/c-proto.scm 300 */
long BgL_arg3715z00_1065;
BgL_arg3715z00_1065 = 
(BgL_offsetz00_1056-((long)3)); 
{ 
long BgL_offsetz00_2663;
BgL_offsetz00_2663 = BgL_arg3715z00_1065; 
BgL_offsetz00_1056 = BgL_offsetz00_2663; 
goto BgL_laapz00_1057;} } }  else 
{ /* ./BackEnd/c-proto.scm 297 */
{ /* ./BackEnd/c-proto.scm 302 */
obj_t BgL_port3297z00_1066;
BgL_port3297z00_1066 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-proto.scm 302 */
obj_t BgL_arg3719z00_1067;
{ /* ./BackEnd/c-proto.scm 302 */
int BgL_startz00_1975;int BgL_endz00_1976;
BgL_startz00_1975 = 
(int)(BgL_readz00_1045); 
BgL_endz00_1976 = 
(int)(BgL_offsetz00_1056); 
BgL_arg3719z00_1067 = 
c_substring(BgL_strz00_1039, BgL_startz00_1975, BgL_endz00_1976); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3719z00_1067, BgL_port3297z00_1066); } 
display_string(BGl_string5077z00zzbackend_c_prototypez00, BgL_port3297z00_1066); } 
{ /* ./BackEnd/c-proto.scm 305 */
long BgL_arg3724z00_1068;
{ /* ./BackEnd/c-proto.scm 305 */
long BgL_auxz00_2671;long BgL_auxz00_2669;
BgL_auxz00_2671 = 
(BgL_offsetz00_1056-BgL_readz00_1045); 
BgL_auxz00_2669 = 
(long)CINT(BgL_rlenz00_1046); 
BgL_arg3724z00_1068 = 
(BgL_auxz00_2669-BgL_auxz00_2671); } 
{ 
obj_t BgL_rlenz00_2675;long BgL_readz00_2674;
BgL_readz00_2674 = BgL_offsetz00_1056; 
BgL_rlenz00_2675 = 
BINT(BgL_arg3724z00_1068); 
BgL_rlenz00_1046 = BgL_rlenz00_2675; 
BgL_readz00_1045 = BgL_readz00_2674; 
goto BgL_loopz00_1047;} } } } } } } } } } } } } } } } 
}



/* emit-cnst-real */
obj_t BGl_emitzd2cnstzd2realz00zzbackend_c_prototypez00(obj_t BgL_realz00_34, BgL_globalz00_bglt BgL_globalz00_35)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 310 */
BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(
(obj_t)(BgL_globalz00_35)); 
{ /* ./BackEnd/c-proto.scm 312 */
obj_t BgL_port3298z00_1088;
BgL_port3298z00_1088 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5078z00zzbackend_c_prototypez00, BgL_port3298z00_1088); 
{ /* ./BackEnd/c-proto.scm 314 */
obj_t BgL_arg3791z00_1089;
{ /* ./BackEnd/c-proto.scm 314 */
BgL_variablez00_bglt BgL_obj1114z00_1981;
BgL_obj1114z00_1981 = 
(BgL_variablez00_bglt)(BgL_globalz00_35); 
BgL_arg3791z00_1089 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1981))->BgL_namez00); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3791z00_1089, BgL_port3298z00_1088); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3298z00_1088); 
{ /* ./BackEnd/c-proto.scm 316 */
obj_t BgL_arg3796z00_1090;
{ /* ./BackEnd/c-proto.scm 316 */
obj_t BgL_arg3799z00_1091;
{ /* ./BackEnd/c-proto.scm 316 */
obj_t BgL_arg3802z00_1092;
{ /* ./BackEnd/c-proto.scm 316 */
BgL_variablez00_bglt BgL_obj1114z00_1982;
BgL_obj1114z00_1982 = 
(BgL_variablez00_bglt)(BgL_globalz00_35); 
BgL_arg3802z00_1092 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_1982))->BgL_namez00); } 
BgL_arg3799z00_1091 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BgL_arg3802z00_1092, BEOA); } 
BgL_arg3796z00_1090 = 
BGl_idzd2ze3namez31zzast_identz00(BgL_arg3799z00_1091); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3796z00_1090, BgL_port3298z00_1088); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3298z00_1088); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_realz00_34, BgL_port3298z00_1088); 
display_string(BGl_string5074z00zzbackend_c_prototypez00, BgL_port3298z00_1088); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3298z00_1088);} } 
}



/* emit-cnst-sfun/sgfun */
obj_t BGl_emitzd2cnstzd2sfunzf2sgfunzf2zzbackend_c_prototypez00(obj_t BgL_funz00_40, BgL_globalz00_bglt BgL_globalz00_41, char * BgL_kindz00_42)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 336 */
{ /* ./BackEnd/c-proto.scm 337 */
bool_t BgL_test3811z00_1093;
{ /* ./BackEnd/c-proto.scm 337 */
obj_t BgL_auxz00_2697;obj_t BgL_auxz00_2695;
BgL_auxz00_2697 = 
CNST_TABLE_REF(((long)8)); 
BgL_auxz00_2695 = 
(((BgL_globalz00_bglt)CREF(BgL_globalz00_41))->BgL_importz00); 
BgL_test3811z00_1093 = 
(BgL_auxz00_2695==BgL_auxz00_2697); } 
if(BgL_test3811z00_1093)
{ /* ./BackEnd/c-proto.scm 338 */
BgL_valuez00_bglt BgL_arg3813z00_1094;
{ /* ./BackEnd/c-proto.scm 338 */
BgL_variablez00_bglt BgL_obj1120z00_1985;
BgL_obj1120z00_1985 = 
(BgL_variablez00_bglt)(BgL_globalz00_41); 
BgL_arg3813z00_1094 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_1985))->BgL_valuez00); } 
{ /* ./BackEnd/c-proto.scm 338 */
BgL_variablez00_bglt BgL_variablez00_1987;
BgL_variablez00_1987 = 
(BgL_variablez00_bglt)(BgL_globalz00_41); 
{ /* ./BackEnd/c-proto.scm 338 */
obj_t BgL_method3312z00_1988;
{ /* ./BackEnd/c-proto.scm 338 */
BgL_objectz00_bglt BgL_objz00_1989;
BgL_objz00_1989 = 
(BgL_objectz00_bglt)(BgL_arg3813z00_1094); 
{ /* ./BackEnd/c-proto.scm 338 */
long BgL_objzd2classzd2numz00_1990;
BgL_objzd2classzd2numz00_1990 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1989); 
{ /* ./BackEnd/c-proto.scm 338 */
obj_t BgL_arg2017z00_1991;
{ /* ./BackEnd/c-proto.scm 338 */
int BgL_auxz00_2706;
BgL_auxz00_2706 = 
(int)(((long)1)); 
BgL_arg2017z00_1991 = 
PROCEDURE_REF(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BgL_auxz00_2706); } 
{ /* ./BackEnd/c-proto.scm 338 */
int BgL_offsetz00_1994;
BgL_offsetz00_1994 = 
(int)(BgL_objzd2classzd2numz00_1990); 
{ /* ./BackEnd/c-proto.scm 338 */
long BgL_offsetz00_1995;
{ /* ./BackEnd/c-proto.scm 338 */
long BgL_auxz00_2710;
BgL_auxz00_2710 = 
(long)(BgL_offsetz00_1994); 
BgL_offsetz00_1995 = 
(BgL_auxz00_2710-OBJECT_TYPE); } 
{ /* ./BackEnd/c-proto.scm 338 */
long BgL_modz00_1996;
{ /* ./BackEnd/c-proto.scm 338 */
int BgL_arg2028z00_1997;
BgL_arg2028z00_1997 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 338 */
long BgL_n2z00_2005;
BgL_n2z00_2005 = 
(long)(BgL_arg2028z00_1997); 
BgL_modz00_1996 = 
(BgL_offsetz00_1995/BgL_n2z00_2005); } } 
{ /* ./BackEnd/c-proto.scm 338 */
long BgL_restz00_1998;
{ /* ./BackEnd/c-proto.scm 338 */
int BgL_arg2024z00_1999;
BgL_arg2024z00_1999 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 338 */
long BgL_n2z00_2008;
BgL_n2z00_2008 = 
(long)(BgL_arg2024z00_1999); 
BgL_restz00_1998 = 
(BgL_offsetz00_1995%BgL_n2z00_2008); } } 
{ /* ./BackEnd/c-proto.scm 338 */

{ /* ./BackEnd/c-proto.scm 338 */
obj_t BgL_bucketz00_2000;
{ /* ./BackEnd/c-proto.scm 338 */
int BgL_kz00_2010;
BgL_kz00_2010 = 
(int)(BgL_modz00_1996); 
BgL_bucketz00_2000 = 
VECTOR_REF(BgL_arg2017z00_1991,BgL_kz00_2010); } 
{ /* ./BackEnd/c-proto.scm 338 */
int BgL_kz00_2012;
BgL_kz00_2012 = 
(int)(BgL_restz00_1998); 
BgL_method3312z00_1988 = 
VECTOR_REF(BgL_bucketz00_2000,BgL_kz00_2012); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method3312z00_1988)(BgL_method3312z00_1988, 
(obj_t)(BgL_arg3813z00_1094), 
(obj_t)(BgL_variablez00_1987), BEOA);} } }  else 
{ /* ./BackEnd/c-proto.scm 339 */
obj_t BgL_actualsz00_1095;
{ /* ./BackEnd/c-proto.scm 339 */
BgL_appz00_bglt BgL_obj1743z00_2013;
BgL_obj1743z00_2013 = 
(BgL_appz00_bglt)(BgL_funz00_40); 
BgL_actualsz00_1095 = 
(((BgL_appz00_bglt)CREF(BgL_obj1743z00_2013))->BgL_argsz00); } 
{ /* ./BackEnd/c-proto.scm 339 */
obj_t BgL_entryz00_1096;
BgL_entryz00_1096 = 
CAR(BgL_actualsz00_1095); 
{ /* ./BackEnd/c-proto.scm 340 */
obj_t BgL_arityz00_1097;
{ /* ./BackEnd/c-proto.scm 341 */
obj_t BgL_arg3879z00_1116;
{ /* ./BackEnd/c-proto.scm 341 */
obj_t BgL_auxz00_2730;
BgL_auxz00_2730 = 
CDR(BgL_actualsz00_1095); 
BgL_arg3879z00_1116 = 
CAR(BgL_auxz00_2730); } 
BgL_arityz00_1097 = 
BGl_getzd2nodezd2atomzd2valuezd2zzcnst_nodez00(
(BgL_nodez00_bglt)(BgL_arg3879z00_1116)); } 
{ /* ./BackEnd/c-proto.scm 341 */
obj_t BgL_vnamez00_1098;
BgL_vnamez00_1098 = 
BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(
(obj_t)(BgL_globalz00_41)); 
{ /* ./BackEnd/c-proto.scm 342 */
obj_t BgL_namez00_1099;
{ /* ./BackEnd/c-proto.scm 343 */
BgL_variablez00_bglt BgL_arg3873z00_1115;
{ /* ./BackEnd/c-proto.scm 343 */
BgL_varz00_bglt BgL_obj1646z00_2019;
BgL_obj1646z00_2019 = 
(BgL_varz00_bglt)(BgL_entryz00_1096); 
BgL_arg3873z00_1115 = 
(((BgL_varz00_bglt)CREF(BgL_obj1646z00_2019))->BgL_variablez00); } 
BgL_namez00_1099 = 
BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(
(obj_t)(BgL_arg3873z00_1115)); } 
{ /* ./BackEnd/c-proto.scm 343 */

{ /* ./BackEnd/c-proto.scm 344 */
bool_t BgL_test3816z00_1100;
{ /* ./BackEnd/c-proto.scm 344 */
long BgL_auxz00_2741;
BgL_auxz00_2741 = 
(long)CINT(BgL_arityz00_1097); 
BgL_test3816z00_1100 = 
(BgL_auxz00_2741>=((long)0)); } 
if(BgL_test3816z00_1100)
{ /* ./BackEnd/c-proto.scm 345 */
obj_t BgL_port3299z00_1101;
BgL_port3299z00_1101 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-proto.scm 346 */
obj_t BgL_arg3818z00_1102;
{ /* ./BackEnd/c-proto.scm 346 */
bool_t BgL_test3820z00_1103;
{ /* ./BackEnd/c-proto.scm 346 */
obj_t BgL_auxz00_2747;obj_t BgL_auxz00_2745;
BgL_auxz00_2747 = 
CNST_TABLE_REF(((long)0)); 
BgL_auxz00_2745 = 
(((BgL_globalz00_bglt)CREF(BgL_globalz00_41))->BgL_importz00); 
BgL_test3820z00_1103 = 
(BgL_auxz00_2745==BgL_auxz00_2747); } 
if(BgL_test3820z00_1103)
{ /* ./BackEnd/c-proto.scm 347 */
obj_t BgL_auxz00_2751;
BgL_auxz00_2751 = 
string_to_bstring(BgL_kindz00_42); 
BgL_arg3818z00_1102 = 
string_append_3(BGl_string5079z00zzbackend_c_prototypez00, BgL_auxz00_2751, BGl_string5080z00zzbackend_c_prototypez00); }  else 
{ /* ./BackEnd/c-proto.scm 348 */
obj_t BgL_auxz00_2754;
BgL_auxz00_2754 = 
string_to_bstring(BgL_kindz00_42); 
BgL_arg3818z00_1102 = 
string_append_3(BGl_string5081z00zzbackend_c_prototypez00, BgL_auxz00_2754, BGl_string5080z00zzbackend_c_prototypez00); } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3818z00_1102, BgL_port3299z00_1101); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_vnamez00_1098, BgL_port3299z00_1101); 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3299z00_1101); 
{ /* ./BackEnd/c-proto.scm 351 */
obj_t BgL_arg3832z00_1106;
{ /* ./BackEnd/c-proto.scm 351 */
obj_t BgL_arg3835z00_1107;
BgL_arg3835z00_1107 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BgL_namez00_1099, BEOA); 
BgL_arg3832z00_1106 = 
BGl_idzd2ze3namez31zzast_identz00(BgL_arg3835z00_1107); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3832z00_1106, BgL_port3299z00_1101); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3299z00_1101); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_namez00_1099, BgL_port3299z00_1101); 
display_string(BGl_string5082z00zzbackend_c_prototypez00, BgL_port3299z00_1101); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arityz00_1097, BgL_port3299z00_1101); 
display_string(BGl_string5074z00zzbackend_c_prototypez00, BgL_port3299z00_1101); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3299z00_1101);}  else 
{ /* ./BackEnd/c-proto.scm 357 */
obj_t BgL_port3300z00_1108;
BgL_port3300z00_1108 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-proto.scm 358 */
obj_t BgL_arg3845z00_1109;
{ /* ./BackEnd/c-proto.scm 358 */
bool_t BgL_test3847z00_1110;
{ /* ./BackEnd/c-proto.scm 358 */
obj_t BgL_auxz00_2772;obj_t BgL_auxz00_2770;
BgL_auxz00_2772 = 
CNST_TABLE_REF(((long)0)); 
BgL_auxz00_2770 = 
(((BgL_globalz00_bglt)CREF(BgL_globalz00_41))->BgL_importz00); 
BgL_test3847z00_1110 = 
(BgL_auxz00_2770==BgL_auxz00_2772); } 
if(BgL_test3847z00_1110)
{ /* ./BackEnd/c-proto.scm 359 */
obj_t BgL_auxz00_2776;
BgL_auxz00_2776 = 
string_to_bstring(BgL_kindz00_42); 
BgL_arg3845z00_1109 = 
string_append_3(BGl_string5079z00zzbackend_c_prototypez00, BgL_auxz00_2776, BGl_string5080z00zzbackend_c_prototypez00); }  else 
{ /* ./BackEnd/c-proto.scm 360 */
obj_t BgL_auxz00_2779;
BgL_auxz00_2779 = 
string_to_bstring(BgL_kindz00_42); 
BgL_arg3845z00_1109 = 
string_append_3(BGl_string5081z00zzbackend_c_prototypez00, BgL_auxz00_2779, BGl_string5080z00zzbackend_c_prototypez00); } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3845z00_1109, BgL_port3300z00_1108); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_vnamez00_1098, BgL_port3300z00_1108); 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3300z00_1108); 
{ /* ./BackEnd/c-proto.scm 363 */
obj_t BgL_arg3858z00_1113;
{ /* ./BackEnd/c-proto.scm 363 */
obj_t BgL_arg3861z00_1114;
BgL_arg3861z00_1114 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BgL_namez00_1099, BEOA); 
BgL_arg3858z00_1113 = 
BGl_idzd2ze3namez31zzast_identz00(BgL_arg3861z00_1114); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3858z00_1113, BgL_port3300z00_1108); } 
display_string(BGl_string5083z00zzbackend_c_prototypez00, BgL_port3300z00_1108); 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3300z00_1108); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_namez00_1099, BgL_port3300z00_1108); 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3300z00_1108); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arityz00_1097, BgL_port3300z00_1108); 
display_string(BGl_string5074z00zzbackend_c_prototypez00, BgL_port3300z00_1108); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3300z00_1108);} } } } } } } } } } 
}



/* emit-cnst-stvector */
obj_t BGl_emitzd2cnstzd2stvectorz00zzbackend_c_prototypez00(obj_t BgL_tvecz00_43, BgL_globalz00_bglt BgL_globalz00_44)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 374 */
{ /* ./BackEnd/c-proto.scm 375 */
obj_t BgL_vecz00_1119;
{ /* ./BackEnd/c-proto.scm 375 */
int BgL_auxz00_2796;
BgL_auxz00_2796 = 
(int)(((long)1)); 
BgL_vecz00_1119 = 
STRUCT_REF(BgL_tvecz00_43, BgL_auxz00_2796); } 
{ /* ./BackEnd/c-proto.scm 375 */
BgL_typez00_bglt BgL_itypez00_1120;
{ /* ./BackEnd/c-proto.scm 376 */
BgL_tvecz00_bglt BgL_obj2701z00_2032;
{ /* ./BackEnd/c-proto.scm 376 */
obj_t BgL_auxz00_2799;
{ /* ./BackEnd/c-proto.scm 376 */
int BgL_auxz00_2800;
BgL_auxz00_2800 = 
(int)(((long)0)); 
BgL_auxz00_2799 = 
STRUCT_REF(BgL_tvecz00_43, BgL_auxz00_2800); } 
BgL_obj2701z00_2032 = 
(BgL_tvecz00_bglt)(BgL_auxz00_2799); } 
{ 
obj_t BgL_auxz00_2804;
{ /* ./BackEnd/c-proto.scm 376 */
BgL_objectz00_bglt BgL_auxz00_2805;
BgL_auxz00_2805 = 
(BgL_objectz00_bglt)(BgL_obj2701z00_2032); 
BgL_auxz00_2804 = 
BGL_OBJECT_WIDENING(BgL_auxz00_2805); } 
BgL_itypez00_1120 = 
(((BgL_tvecz00_bglt)CREF(BgL_auxz00_2804))->BgL_itemzd2typezd2); } } 
{ /* ./BackEnd/c-proto.scm 376 */
obj_t BgL_czd2veczd2_1121;
BgL_czd2veczd2_1121 = 
BGl_tvectorzd2ze3czd2vectorze3zztvector_cnstz00(BgL_tvecz00_43); 
{ /* ./BackEnd/c-proto.scm 377 */

BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(
(obj_t)(BgL_globalz00_44)); 
{ /* ./BackEnd/c-proto.scm 379 */
obj_t BgL_auxz00_1122;
{ /* ./BackEnd/c-proto.scm 379 */
obj_t BgL_arg3917z00_1128;
{ /* ./BackEnd/c-proto.scm 379 */
obj_t BgL_arg3920z00_1129;
{ /* ./BackEnd/c-proto.scm 379 */
BgL_variablez00_bglt BgL_obj1114z00_2033;
BgL_obj1114z00_2033 = 
(BgL_variablez00_bglt)(BgL_globalz00_44); 
BgL_arg3920z00_1129 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_2033))->BgL_namez00); } 
BgL_arg3917z00_1128 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BgL_arg3920z00_1129, BEOA); } 
BgL_auxz00_1122 = 
BGl_idzd2ze3namez31zzast_identz00(BgL_arg3917z00_1128); } 
{ /* ./BackEnd/c-proto.scm 380 */
obj_t BgL_port3301z00_1123;
BgL_port3301z00_1123 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string5084z00zzbackend_c_prototypez00, BgL_port3301z00_1123); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_auxz00_1122, BgL_port3301z00_1123); 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3301z00_1123); 
{ /* ./BackEnd/c-proto.scm 384 */
int BgL_arg3894z00_1124;
BgL_arg3894z00_1124 = 
VECTOR_LENGTH(BgL_vecz00_1119); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
BINT(BgL_arg3894z00_1124), BgL_port3301z00_1123); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3301z00_1123); 
{ /* ./BackEnd/c-proto.scm 386 */
obj_t BgL_arg3899z00_1125;
{ /* ./BackEnd/c-proto.scm 386 */
obj_t BgL_arg3902z00_1126;
BgL_arg3902z00_1126 = 
(((BgL_typez00_bglt)CREF(BgL_itypez00_1120))->BgL_namez00); 
BgL_arg3899z00_1125 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_arg3902z00_1126); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3899z00_1125, BgL_port3301z00_1123); } 
display_string(BGl_string5085z00zzbackend_c_prototypez00, BgL_port3301z00_1123); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_czd2veczd2_1121, BgL_port3301z00_1123); 
display_string(BGl_string5086z00zzbackend_c_prototypez00, BgL_port3301z00_1123); 
{ /* ./BackEnd/c-proto.scm 390 */
obj_t BgL_arg3909z00_1127;
{ /* ./BackEnd/c-proto.scm 390 */
BgL_variablez00_bglt BgL_obj1114z00_2036;
BgL_obj1114z00_2036 = 
(BgL_variablez00_bglt)(BgL_globalz00_44); 
BgL_arg3909z00_1127 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_2036))->BgL_namez00); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3909z00_1127, BgL_port3301z00_1123); } 
display_string(BGl_string5061z00zzbackend_c_prototypez00, BgL_port3301z00_1123); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_auxz00_1122, BgL_port3301z00_1123); 
display_string(BGl_string5074z00zzbackend_c_prototypez00, BgL_port3301z00_1123); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3301z00_1123);} } } } } } } 
}



/* set-variable-name! */
BGL_EXPORTED_DEF obj_t BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(obj_t BgL_variablez00_49)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 424 */
{ /* ./BackEnd/c-proto.scm 426 */
bool_t BgL_test3929z00_1132;
{ /* ./BackEnd/c-proto.scm 426 */
obj_t BgL_auxz00_2837;
{ /* ./BackEnd/c-proto.scm 426 */
BgL_variablez00_bglt BgL_obj1114z00_2038;
BgL_obj1114z00_2038 = 
(BgL_variablez00_bglt)(BgL_variablez00_49); 
BgL_auxz00_2837 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_2038))->BgL_namez00); } 
BgL_test3929z00_1132 = 
STRINGP(BgL_auxz00_2837); } 
if(BgL_test3929z00_1132)
{ /* ./BackEnd/c-proto.scm 427 */
BgL_variablez00_bglt BgL_obj1114z00_2040;
BgL_obj1114z00_2040 = 
(BgL_variablez00_bglt)(BgL_variablez00_49); 
return 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_2040))->BgL_namez00);}  else 
{ /* ./BackEnd/c-proto.scm 428 */
obj_t BgL_nz00_1133;
{ /* ./BackEnd/c-proto.scm 429 */
bool_t BgL_test3932z00_1134;
BgL_test3932z00_1134 = 
BGl_iszd2azf3z21zz__objectz00(BgL_variablez00_49, BGl_globalz00zzast_varz00); 
if(BgL_test3932z00_1134)
{ /* ./BackEnd/c-proto.scm 429 */
{ /* ./BackEnd/c-proto.scm 431 */
obj_t BgL_arg3934z00_1136;obj_t BgL_arg3935z00_1137;
{ /* ./BackEnd/c-proto.scm 431 */
obj_t BgL_arg3938z00_1138;
{ /* ./BackEnd/c-proto.scm 431 */
BgL_variablez00_bglt BgL_obj1113z00_2042;
BgL_obj1113z00_2042 = 
(BgL_variablez00_bglt)(BgL_variablez00_49); 
BgL_arg3938z00_1138 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1113z00_2042))->BgL_idz00); } 
BgL_arg3934z00_1136 = 
SYMBOL_TO_STRING(BgL_arg3938z00_1138); } 
{ /* ./BackEnd/c-proto.scm 432 */
obj_t BgL_arg3943z00_1139;
{ /* ./BackEnd/c-proto.scm 432 */
BgL_globalz00_bglt BgL_obj1186z00_2044;
BgL_obj1186z00_2044 = 
(BgL_globalz00_bglt)(BgL_variablez00_49); 
BgL_arg3943z00_1139 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1186z00_2044))->BgL_modulez00); } 
BgL_arg3935z00_1137 = 
SYMBOL_TO_STRING(BgL_arg3943z00_1139); } 
BgL_nz00_1133 = 
bigloo_module_mangle(BgL_arg3934z00_1136, BgL_arg3935z00_1137); } }  else 
{ /* ./BackEnd/c-proto.scm 433 */
bool_t BgL_test3946z00_1140;
BgL_test3946z00_1140 = 
BGl_iszd2azf3z21zz__objectz00(BgL_variablez00_49, BGl_localz00zzast_varz00); 
if(BgL_test3946z00_1140)
{ /* ./BackEnd/c-proto.scm 433 */
{ /* ./BackEnd/c-proto.scm 436 */
obj_t BgL_arg3948z00_1142;
{ /* ./BackEnd/c-proto.scm 436 */
obj_t BgL_arg3951z00_1143;obj_t BgL_arg3953z00_1145;
{ /* ./BackEnd/c-proto.scm 436 */
obj_t BgL_arg3956z00_1146;
{ /* ./BackEnd/c-proto.scm 436 */
BgL_variablez00_bglt BgL_obj1113z00_2047;
BgL_obj1113z00_2047 = 
(BgL_variablez00_bglt)(BgL_variablez00_49); 
BgL_arg3956z00_1146 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1113z00_2047))->BgL_idz00); } 
BgL_arg3951z00_1143 = 
SYMBOL_TO_STRING(BgL_arg3956z00_1146); } 
{ /* ./BackEnd/c-proto.scm 438 */
long BgL_auxz00_2858;
{ /* ./BackEnd/c-proto.scm 438 */
BgL_localz00_bglt BgL_obj1288z00_2049;
BgL_obj1288z00_2049 = 
(BgL_localz00_bglt)(BgL_variablez00_49); 
BgL_auxz00_2858 = 
(((BgL_localz00_bglt)CREF(BgL_obj1288z00_2049))->BgL_keyz00); } 
BgL_arg3953z00_1145 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(BgL_auxz00_2858, BNIL); } 
BgL_arg3948z00_1142 = 
string_append_3(BgL_arg3951z00_1143, BGl_string5087z00zzbackend_c_prototypez00, BgL_arg3953z00_1145); } 
BgL_nz00_1133 = 
bigloo_mangle(BgL_arg3948z00_1142); } }  else 
{ /* ./BackEnd/c-proto.scm 433 */
{ /* ./BackEnd/c-proto.scm 440 */
obj_t BgL_arg3967z00_1151;
BgL_arg3967z00_1151 = 
BGl_shapez00zztools_shapez00(BgL_variablez00_49); 
BgL_nz00_1133 = 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5088z00zzbackend_c_prototypez00, BGl_string5089z00zzbackend_c_prototypez00, BgL_arg3967z00_1151); } } } } 
{ /* ./BackEnd/c-proto.scm 443 */
BgL_variablez00_bglt BgL_obj1116z00_2050;obj_t BgL_val1115z00_2051;
BgL_obj1116z00_2050 = 
(BgL_variablez00_bglt)(BgL_variablez00_49); 
BgL_val1115z00_2051 = BgL_nz00_1133; 
((((BgL_variablez00_bglt)CREF(BgL_obj1116z00_2050))->BgL_namez00) = ((obj_t)BgL_val1115z00_2051), BUNSPEC); } 
return BgL_nz00_1133;} } } 
}



/* _set-variable-name! */
obj_t BGl__setzd2variablezd2namez12z12zzbackend_c_prototypez00(obj_t BgL_envz00_2183, obj_t BgL_variablez00_2184)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 424 */
return 
BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(BgL_variablez00_2184);} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzbackend_c_prototypez00()
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BGl_emitzd2prototypezd2default3311zd2envzd2zzbackend_c_prototypez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BGl_svarz00zzast_varz00, BGl_proc5090z00zzbackend_c_prototypez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BGl_scnstz00zzast_varz00, BGl_proc5091z00zzbackend_c_prototypez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BGl_sfunz00zzast_varz00, BGl_proc5092z00zzbackend_c_prototypez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BGl_cfunz00zzast_varz00, BGl_proc5093z00zzbackend_c_prototypez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BGl_cvarz00zzast_varz00, BGl_proc5094z00zzbackend_c_prototypez00); 
BGl_addzd2genericz12zc0zz__objectz00(BGl_getzd2czd2scopezd2envzd2zzbackend_c_prototypez00, BGl_getzd2czd2scopezd2default3323zd2envz00zzbackend_c_prototypez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_getzd2czd2scopezd2envzd2zzbackend_c_prototypez00, BGl_globalz00zzast_varz00, BGl_proc5095z00zzbackend_c_prototypez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_getzd2czd2scopezd2envzd2zzbackend_c_prototypez00, BGl_localz00zzast_varz00, BGl_proc5096z00zzbackend_c_prototypez00);} 
}



/* get-c-scope-local3328 */
obj_t BGl_getzd2czd2scopezd2local3328zd2zzbackend_c_prototypez00(obj_t BgL_envz00_2192, obj_t BgL_variablez00_2193)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 418 */
{ /* ./BackEnd/c-proto.scm 419 */
char * BgL_auxz00_2878;
BgL_auxz00_2878 = "static"; 
return 
string_to_bstring(BgL_auxz00_2878);} } 
}



/* get-c-scope-global3326 */
obj_t BGl_getzd2czd2scopezd2global3326zd2zzbackend_c_prototypez00(obj_t BgL_envz00_2194, obj_t BgL_variablez00_2195)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 403 */
{ 
BgL_globalz00_bglt BgL_variablez00_1730;
BgL_variablez00_1730 = 
(BgL_globalz00_bglt)(BgL_variablez00_2195); 
{ /* ./BackEnd/c-proto.scm 405 */
obj_t BgL_casezd2valuezd2_1734;
BgL_casezd2valuezd2_1734 = 
(((BgL_globalz00_bglt)CREF(BgL_variablez00_1730))->BgL_importz00); 
{ /* ./BackEnd/c-proto.scm 405 */
bool_t BgL_test4657z00_1735;
BgL_test4657z00_1735 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1734, 
CNST_TABLE_REF(((long)0))); 
if(BgL_test4657z00_1735)
{ /* ./BackEnd/c-proto.scm 405 */
return BGl_string5055z00zzbackend_c_prototypez00;}  else 
{ /* ./BackEnd/c-proto.scm 405 */
bool_t BgL_test4658z00_1736;
BgL_test4658z00_1736 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1734, 
CNST_TABLE_REF(((long)8))); 
if(BgL_test4658z00_1736)
{ /* ./BackEnd/c-proto.scm 405 */
if(
(((BgL_globalz00_bglt)CREF(BgL_variablez00_1730))->BgL_libraryzf3zf3))
{ /* ./BackEnd/c-proto.scm 409 */
return BGl_string5097z00zzbackend_c_prototypez00;}  else 
{ /* ./BackEnd/c-proto.scm 409 */
return BGl_string5098z00zzbackend_c_prototypez00;} }  else 
{ /* ./BackEnd/c-proto.scm 405 */
bool_t BgL_test4661z00_1738;
BgL_test4661z00_1738 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_1734, 
CNST_TABLE_REF(((long)1))); 
if(BgL_test4661z00_1738)
{ /* ./BackEnd/c-proto.scm 405 */
return BGl_string5099z00zzbackend_c_prototypez00;}  else 
{ /* ./BackEnd/c-proto.scm 413 */
obj_t BgL_arg4665z00_1741;
BgL_arg4665z00_1741 = 
(((BgL_globalz00_bglt)CREF(BgL_variablez00_1730))->BgL_importz00); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string5100z00zzbackend_c_prototypez00, BGl_string5101z00zzbackend_c_prototypez00, BgL_arg4665z00_1741);} } } } } } } 
}



/* emit-prototype-cvar3322 */
obj_t BGl_emitzd2prototypezd2cvar3322z00zzbackend_c_prototypez00(obj_t BgL_envz00_2196, obj_t BgL_valuez00_2197, obj_t BgL_variablez00_2198)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 212 */
{ 
BgL_cvarz00_bglt BgL_valuez00_1716;obj_t BgL_variablez00_1717;
BgL_valuez00_1716 = 
(BgL_cvarz00_bglt)(BgL_valuez00_2197); 
BgL_variablez00_1717 = BgL_variablez00_2198; 
{ /* ./BackEnd/c-proto.scm 213 */
bool_t BgL_test4632z00_1720;
BgL_test4632z00_1720 = 
(((BgL_cvarz00_bglt)CREF(BgL_valuez00_1716))->BgL_macrozf3zf3); 
if(BgL_test4632z00_1720)
{ /* ./BackEnd/c-proto.scm 213 */
return BFALSE;}  else 
{ /* ./BackEnd/c-proto.scm 215 */
obj_t BgL_port3290z00_1722;
BgL_port3290z00_1722 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-proto.scm 216 */
char * BgL_arg4634z00_1723;
{ /* ./BackEnd/c-proto.scm 216 */
bool_t BgL_testz00_2897;
{ /* ./BackEnd/c-proto.scm 216 */
BgL_globalz00_bglt BgL_obj1195z00_2105;
BgL_obj1195z00_2105 = 
(BgL_globalz00_bglt)(BgL_variablez00_1717); 
BgL_testz00_2897 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1195z00_2105))->BgL_libraryzf3zf3); } 
if(BgL_testz00_2897)
{ /* ./BackEnd/c-proto.scm 216 */
BgL_arg4634z00_1723 = "BGL_IMPORT "; }  else 
{ /* ./BackEnd/c-proto.scm 216 */
BgL_arg4634z00_1723 = "extern "; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BgL_arg4634z00_1723), BgL_port3290z00_1722); } 
{ /* ./BackEnd/c-proto.scm 217 */
obj_t BgL_arg4639z00_1725;
{ /* ./BackEnd/c-proto.scm 217 */
BgL_typez00_bglt BgL_arg4642z00_1726;obj_t BgL_arg4643z00_1727;
{ /* ./BackEnd/c-proto.scm 217 */
BgL_variablez00_bglt BgL_obj1117z00_2106;
BgL_obj1117z00_2106 = 
(BgL_variablez00_bglt)(BgL_variablez00_1717); 
BgL_arg4642z00_1726 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_2106))->BgL_typez00); } 
{ /* ./BackEnd/c-proto.scm 217 */
BgL_variablez00_bglt BgL_obj1114z00_2107;
BgL_obj1114z00_2107 = 
(BgL_variablez00_bglt)(BgL_variablez00_1717); 
BgL_arg4643z00_1727 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_2107))->BgL_namez00); } 
BgL_arg4639z00_1725 = 
BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_arg4642z00_1726, BgL_arg4643z00_1727); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg4639z00_1725, BgL_port3290z00_1722); } 
{ /* ./BackEnd/c-proto.scm 215 */
obj_t BgL_auxz00_2908;
BgL_auxz00_2908 = 
BCHAR(((unsigned char)';')); 
display_char(BgL_auxz00_2908, BgL_port3290z00_1722); } 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3290z00_1722);} } } } 
}



/* emit-prototype-cfun3320 */
obj_t BGl_emitzd2prototypezd2cfun3320z00zzbackend_c_prototypez00(obj_t BgL_envz00_2199, obj_t BgL_valuez00_2200, obj_t BgL_variablez00_2201)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 179 */
{ 
BgL_cfunz00_bglt BgL_valuez00_1679;obj_t BgL_variablez00_1680;
BgL_valuez00_1679 = 
(BgL_cfunz00_bglt)(BgL_valuez00_2200); 
BgL_variablez00_1680 = BgL_variablez00_2201; 
{ /* ./BackEnd/c-proto.scm 180 */
bool_t BgL_test4560z00_1683;
BgL_test4560z00_1683 = 
(((BgL_cfunz00_bglt)CREF(BgL_valuez00_1679))->BgL_macrozf3zf3); 
if(BgL_test4560z00_1683)
{ /* ./BackEnd/c-proto.scm 180 */
return BFALSE;}  else 
{ /* ./BackEnd/c-proto.scm 182 */
long BgL_arityz00_1685;
{ /* ./BackEnd/c-proto.scm 182 */
BgL_funz00_bglt BgL_obj1323z00_2087;
BgL_obj1323z00_2087 = 
(BgL_funz00_bglt)(BgL_valuez00_1679); 
BgL_arityz00_1685 = 
(((BgL_funz00_bglt)CREF(BgL_obj1323z00_2087))->BgL_arityz00); } 
{ /* ./BackEnd/c-proto.scm 182 */
obj_t BgL_targsz00_1686;
BgL_targsz00_1686 = 
(((BgL_cfunz00_bglt)CREF(BgL_valuez00_1679))->BgL_argszd2typezd2); 
{ /* ./BackEnd/c-proto.scm 183 */

{ /* ./BackEnd/c-proto.scm 184 */
obj_t BgL_port3287z00_1687;
BgL_port3287z00_1687 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-proto.scm 185 */
char * BgL_arg4562z00_1688;
{ /* ./BackEnd/c-proto.scm 185 */
bool_t BgL_testz00_2918;
{ /* ./BackEnd/c-proto.scm 185 */
BgL_globalz00_bglt BgL_obj1195z00_2089;
BgL_obj1195z00_2089 = 
(BgL_globalz00_bglt)(BgL_variablez00_1680); 
BgL_testz00_2918 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1195z00_2089))->BgL_libraryzf3zf3); } 
if(BgL_testz00_2918)
{ /* ./BackEnd/c-proto.scm 185 */
BgL_arg4562z00_1688 = "BGL_IMPORT "; }  else 
{ /* ./BackEnd/c-proto.scm 185 */
BgL_arg4562z00_1688 = "extern "; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BgL_arg4562z00_1688), BgL_port3287z00_1687); } 
{ /* ./BackEnd/c-proto.scm 186 */
obj_t BgL_arg4567z00_1690;
{ /* ./BackEnd/c-proto.scm 186 */
BgL_typez00_bglt BgL_arg4570z00_1691;obj_t BgL_arg4571z00_1692;
{ /* ./BackEnd/c-proto.scm 186 */
BgL_variablez00_bglt BgL_obj1117z00_2090;
BgL_obj1117z00_2090 = 
(BgL_variablez00_bglt)(BgL_variablez00_1680); 
BgL_arg4570z00_1691 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_2090))->BgL_typez00); } 
{ /* ./BackEnd/c-proto.scm 188 */
obj_t BgL_arg4575z00_1693;obj_t BgL_arg4577z00_1695;
{ /* ./BackEnd/c-proto.scm 188 */
BgL_variablez00_bglt BgL_obj1114z00_2091;
BgL_obj1114z00_2091 = 
(BgL_variablez00_bglt)(BgL_variablez00_1680); 
BgL_arg4575z00_1693 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_2091))->BgL_namez00); } 
{ /* ./BackEnd/c-proto.scm 192 */
bool_t BgL_test4580z00_1696;
BgL_test4580z00_1696 = 
NULLP(BgL_targsz00_1686); 
if(BgL_test4580z00_1696)
{ /* ./BackEnd/c-proto.scm 192 */
BgL_arg4577z00_1695 = BGl_string5060z00zzbackend_c_prototypez00; }  else 
{ /* ./BackEnd/c-proto.scm 193 */
bool_t BgL_test4581z00_1697;
BgL_test4581z00_1697 = 
(BgL_arityz00_1685<=((long)-1)); 
if(BgL_test4581z00_1697)
{ /* ./BackEnd/c-proto.scm 193 */
{ /* ./BackEnd/c-proto.scm 194 */
obj_t BgL_arg4583z00_1698;
{ /* ./BackEnd/c-proto.scm 194 */
obj_t BgL_arg4587z00_1700;
BgL_arg4587z00_1700 = 
CAR(BgL_targsz00_1686); 
BgL_arg4583z00_1698 = 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(
(BgL_typez00_bglt)(BgL_arg4587z00_1700)); } 
BgL_arg4577z00_1695 = 
string_append(BgL_arg4583z00_1698, BGl_string5102z00zzbackend_c_prototypez00); } }  else 
{ /* ./BackEnd/c-proto.scm 193 */
BgL_arg4577z00_1695 = 
BGl_loopz00zzbackend_c_prototypez00(BgL_arityz00_1685, BgL_targsz00_1686); } } } 
BgL_arg4571z00_1692 = 
string_append_3(BgL_arg4575z00_1693, BGl_string5059z00zzbackend_c_prototypez00, BgL_arg4577z00_1695); } 
BgL_arg4567z00_1690 = 
BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_arg4570z00_1691, BgL_arg4571z00_1692); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg4567z00_1690, BgL_port3287z00_1687); } 
display_string(BGl_string5103z00zzbackend_c_prototypez00, BgL_port3287z00_1687); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3287z00_1687);} } } } } } } 
}



/* loop */
obj_t BGl_loopz00zzbackend_c_prototypez00(long BgL_arityz00_2216, obj_t BgL_targsz00_1701)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 197 */
{ /* ./BackEnd/c-proto.scm 198 */
bool_t BgL_test4591z00_1703;
{ /* ./BackEnd/c-proto.scm 198 */
obj_t BgL_auxz00_2942;
BgL_auxz00_2942 = 
CDR(BgL_targsz00_1701); 
BgL_test4591z00_1703 = 
NULLP(BgL_auxz00_2942); } 
if(BgL_test4591z00_1703)
{ /* ./BackEnd/c-proto.scm 199 */
bool_t BgL_test4592z00_1704;
BgL_test4592z00_1704 = 
(BgL_arityz00_2216<((long)0)); 
if(BgL_test4592z00_1704)
{ /* ./BackEnd/c-proto.scm 199 */
return BGl_string5104z00zzbackend_c_prototypez00;}  else 
{ /* ./BackEnd/c-proto.scm 202 */
obj_t BgL_arg4594z00_1705;
{ /* ./BackEnd/c-proto.scm 202 */
obj_t BgL_arg4598z00_1707;
BgL_arg4598z00_1707 = 
CAR(BgL_targsz00_1701); 
BgL_arg4594z00_1705 = 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(
(BgL_typez00_bglt)(BgL_arg4598z00_1707)); } 
return 
string_append(BgL_arg4594z00_1705, BGl_string5060z00zzbackend_c_prototypez00);} }  else 
{ /* ./BackEnd/c-proto.scm 205 */
obj_t BgL_arg4603z00_1708;obj_t BgL_arg4605z00_1710;
{ /* ./BackEnd/c-proto.scm 205 */
obj_t BgL_arg4608z00_1711;
BgL_arg4608z00_1711 = 
CAR(BgL_targsz00_1701); 
BgL_arg4603z00_1708 = 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(
(BgL_typez00_bglt)(BgL_arg4608z00_1711)); } 
{ /* ./BackEnd/c-proto.scm 206 */
obj_t BgL_arg4612z00_1712;
BgL_arg4612z00_1712 = 
CDR(BgL_targsz00_1701); 
BgL_arg4605z00_1710 = 
BGl_loopz00zzbackend_c_prototypez00(BgL_arityz00_2216, BgL_arg4612z00_1712); } 
return 
string_append_3(BgL_arg4603z00_1708, BGl_string5061z00zzbackend_c_prototypez00, BgL_arg4605z00_1710);} } } 
}



/* emit-prototype-sfun3318 */
obj_t BGl_emitzd2prototypezd2sfun3318z00zzbackend_c_prototypez00(obj_t BgL_envz00_2202, obj_t BgL_valuez00_2203, obj_t BgL_variablez00_2204)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 129 */
{ 
BgL_sfunz00_bglt BgL_valuez00_1661;obj_t BgL_variablez00_1662;
BgL_valuez00_1661 = 
(BgL_sfunz00_bglt)(BgL_valuez00_2203); 
BgL_variablez00_1662 = BgL_variablez00_2204; 
BGl_setzd2variablezd2namez12z12zzbackend_c_prototypez00(BgL_variablez00_1662); 
{ /* ./BackEnd/c-proto.scm 132 */
obj_t BgL_port3280z00_1666;
BgL_port3280z00_1666 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-proto.scm 133 */
obj_t BgL_arg4525z00_1667;
{ /* ./BackEnd/c-proto.scm 133 */
obj_t BgL_res4723z00_2078;
{ /* ./BackEnd/c-proto.scm 133 */
BgL_variablez00_bglt BgL_variablez00_2052;
BgL_variablez00_2052 = 
(BgL_variablez00_bglt)(BgL_variablez00_1662); 
{ /* ./BackEnd/c-proto.scm 133 */
obj_t BgL_method3324z00_2053;
{ /* ./BackEnd/c-proto.scm 133 */
BgL_objectz00_bglt BgL_objz00_2054;
BgL_objz00_2054 = 
(BgL_objectz00_bglt)(BgL_variablez00_2052); 
{ /* ./BackEnd/c-proto.scm 133 */
long BgL_objzd2classzd2numz00_2055;
BgL_objzd2classzd2numz00_2055 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2054); 
{ /* ./BackEnd/c-proto.scm 133 */
obj_t BgL_arg2017z00_2056;
{ /* ./BackEnd/c-proto.scm 133 */
int BgL_auxz00_2962;
BgL_auxz00_2962 = 
(int)(((long)1)); 
BgL_arg2017z00_2056 = 
PROCEDURE_REF(BGl_getzd2czd2scopezd2envzd2zzbackend_c_prototypez00, BgL_auxz00_2962); } 
{ /* ./BackEnd/c-proto.scm 133 */
int BgL_offsetz00_2059;
BgL_offsetz00_2059 = 
(int)(BgL_objzd2classzd2numz00_2055); 
{ /* ./BackEnd/c-proto.scm 133 */
long BgL_offsetz00_2060;
{ /* ./BackEnd/c-proto.scm 133 */
long BgL_auxz00_2966;
BgL_auxz00_2966 = 
(long)(BgL_offsetz00_2059); 
BgL_offsetz00_2060 = 
(BgL_auxz00_2966-OBJECT_TYPE); } 
{ /* ./BackEnd/c-proto.scm 133 */
long BgL_modz00_2061;
{ /* ./BackEnd/c-proto.scm 133 */
int BgL_arg2028z00_2062;
BgL_arg2028z00_2062 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 133 */
long BgL_n2z00_2070;
BgL_n2z00_2070 = 
(long)(BgL_arg2028z00_2062); 
BgL_modz00_2061 = 
(BgL_offsetz00_2060/BgL_n2z00_2070); } } 
{ /* ./BackEnd/c-proto.scm 133 */
long BgL_restz00_2063;
{ /* ./BackEnd/c-proto.scm 133 */
int BgL_arg2024z00_2064;
BgL_arg2024z00_2064 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 133 */
long BgL_n2z00_2073;
BgL_n2z00_2073 = 
(long)(BgL_arg2024z00_2064); 
BgL_restz00_2063 = 
(BgL_offsetz00_2060%BgL_n2z00_2073); } } 
{ /* ./BackEnd/c-proto.scm 133 */

{ /* ./BackEnd/c-proto.scm 133 */
obj_t BgL_bucketz00_2065;
{ /* ./BackEnd/c-proto.scm 133 */
int BgL_kz00_2075;
BgL_kz00_2075 = 
(int)(BgL_modz00_2061); 
BgL_bucketz00_2065 = 
VECTOR_REF(BgL_arg2017z00_2056,BgL_kz00_2075); } 
{ /* ./BackEnd/c-proto.scm 133 */
int BgL_kz00_2077;
BgL_kz00_2077 = 
(int)(BgL_restz00_2063); 
BgL_method3324z00_2053 = 
VECTOR_REF(BgL_bucketz00_2065,BgL_kz00_2077); } } } } } } } } } } 
BgL_res4723z00_2078 = 
PROCEDURE_ENTRY(BgL_method3324z00_2053)(BgL_method3324z00_2053, 
(obj_t)(BgL_variablez00_2052), BEOA); } } 
BgL_arg4525z00_1667 = BgL_res4723z00_2078; } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg4525z00_1667, BgL_port3280z00_1666); } 
{ /* ./BackEnd/c-proto.scm 132 */
obj_t BgL_auxz00_2983;
BgL_auxz00_2983 = 
BCHAR(((unsigned char)' ')); 
display_char(BgL_auxz00_2983, BgL_port3280z00_1666); } 
{ /* ./BackEnd/c-proto.scm 135 */
obj_t BgL_arg4530z00_1668;
{ /* ./BackEnd/c-proto.scm 135 */
BgL_typez00_bglt BgL_arg4533z00_1669;obj_t BgL_arg4534z00_1670;
{ /* ./BackEnd/c-proto.scm 135 */
BgL_variablez00_bglt BgL_obj1117z00_2079;
BgL_obj1117z00_2079 = 
(BgL_variablez00_bglt)(BgL_variablez00_1662); 
BgL_arg4533z00_1669 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_2079))->BgL_typez00); } 
{ /* ./BackEnd/c-proto.scm 137 */
obj_t BgL_arg4538z00_1671;obj_t BgL_arg4539z00_1672;
{ /* ./BackEnd/c-proto.scm 137 */
BgL_variablez00_bglt BgL_obj1114z00_2080;
BgL_obj1114z00_2080 = 
(BgL_variablez00_bglt)(BgL_variablez00_1662); 
BgL_arg4538z00_1671 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1114z00_2080))->BgL_namez00); } 
{ /* ./BackEnd/c-proto.scm 139 */
obj_t BgL_argsz00_1673;
BgL_argsz00_1673 = 
(((BgL_sfunz00_bglt)CREF(BgL_valuez00_1661))->BgL_argsz00); 
{ /* ./BackEnd/c-proto.scm 140 */
bool_t BgL_test4542z00_1674;
{ /* ./BackEnd/c-proto.scm 140 */
bool_t BgL_test4545z00_1675;
BgL_test4545z00_1675 = 
PAIRP(BgL_argsz00_1673); 
if(BgL_test4545z00_1675)
{ /* ./BackEnd/c-proto.scm 140 */
obj_t BgL_arg4547z00_1676;
BgL_arg4547z00_1676 = 
CAR(BgL_argsz00_1673); 
BgL_test4542z00_1674 = 
BGl_iszd2azf3z21zz__objectz00(BgL_arg4547z00_1676, BGl_typez00zztype_typez00); }  else 
{ /* ./BackEnd/c-proto.scm 140 */
BgL_test4542z00_1674 = ((bool_t)0); } } 
if(BgL_test4542z00_1674)
{ /* ./BackEnd/c-proto.scm 140 */
BgL_arg4539z00_1672 = 
BGl_emitzd2prototypezd2formalzd2typeszd2zzbackend_c_prototypez00(BgL_argsz00_1673); }  else 
{ /* ./BackEnd/c-proto.scm 140 */
BgL_arg4539z00_1672 = 
BGl_emitzd2prototypezd2formalsz00zzbackend_c_prototypez00(BgL_argsz00_1673); } } } 
BgL_arg4534z00_1670 = 
string_append(BgL_arg4538z00_1671, BgL_arg4539z00_1672); } 
BgL_arg4530z00_1668 = 
BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_arg4533z00_1669, BgL_arg4534z00_1670); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg4530z00_1668, BgL_port3280z00_1666); } 
display_string(BGl_string5103z00zzbackend_c_prototypez00, BgL_port3280z00_1666); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3280z00_1666);} } } 
}



/* emit-prototype-scnst3316 */
obj_t BGl_emitzd2prototypezd2scnst3316z00zzbackend_c_prototypez00(obj_t BgL_envz00_2205, obj_t BgL_valuez00_2206, obj_t BgL_variablez00_2207)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 98 */
{ 
BgL_scnstz00_bglt BgL_valuez00_1655;obj_t BgL_variablez00_1656;
BgL_valuez00_1655 = 
(BgL_scnstz00_bglt)(BgL_valuez00_2206); 
BgL_variablez00_1656 = BgL_variablez00_2207; 
return 
BGl_emitzd2prototypezf2svarzf2scnstzd2zzbackend_c_prototypez00(
(obj_t)(BgL_valuez00_1655), BgL_variablez00_1656);} } 
}



/* emit-prototype-svar3314 */
obj_t BGl_emitzd2prototypezd2svar3314z00zzbackend_c_prototypez00(obj_t BgL_envz00_2208, obj_t BgL_valuez00_2209, obj_t BgL_variablez00_2210)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 92 */
{ 
BgL_svarz00_bglt BgL_valuez00_1649;obj_t BgL_variablez00_1650;
BgL_valuez00_1649 = 
(BgL_svarz00_bglt)(BgL_valuez00_2209); 
BgL_variablez00_1650 = BgL_variablez00_2210; 
return 
BGl_emitzd2prototypezf2svarzf2scnstzd2zzbackend_c_prototypez00(
(obj_t)(BgL_valuez00_1649), BgL_variablez00_1650);} } 
}



/* emit-prototype */
obj_t BGl_emitzd2prototypezd2zzbackend_c_prototypez00(BgL_valuez00_bglt BgL_valuez00_12, BgL_variablez00_bglt BgL_variablez00_13)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 87 */
{ /* ./BackEnd/c-proto.scm 87 */
obj_t BgL_method3312z00_2112;
{ /* ./BackEnd/c-proto.scm 87 */
BgL_objectz00_bglt BgL_objz00_2113;
BgL_objz00_2113 = 
(BgL_objectz00_bglt)(BgL_valuez00_12); 
{ /* ./BackEnd/c-proto.scm 87 */
long BgL_objzd2classzd2numz00_2114;
BgL_objzd2classzd2numz00_2114 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2113); 
{ /* ./BackEnd/c-proto.scm 87 */
obj_t BgL_arg2017z00_2115;
{ /* ./BackEnd/c-proto.scm 87 */
int BgL_auxz00_3012;
BgL_auxz00_3012 = 
(int)(((long)1)); 
BgL_arg2017z00_2115 = 
PROCEDURE_REF(BGl_emitzd2prototypezd2envz00zzbackend_c_prototypez00, BgL_auxz00_3012); } 
{ /* ./BackEnd/c-proto.scm 87 */
int BgL_offsetz00_2118;
BgL_offsetz00_2118 = 
(int)(BgL_objzd2classzd2numz00_2114); 
{ /* ./BackEnd/c-proto.scm 87 */
long BgL_offsetz00_2119;
{ /* ./BackEnd/c-proto.scm 87 */
long BgL_auxz00_3016;
BgL_auxz00_3016 = 
(long)(BgL_offsetz00_2118); 
BgL_offsetz00_2119 = 
(BgL_auxz00_3016-OBJECT_TYPE); } 
{ /* ./BackEnd/c-proto.scm 87 */
long BgL_modz00_2120;
{ /* ./BackEnd/c-proto.scm 87 */
int BgL_arg2028z00_2121;
BgL_arg2028z00_2121 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 87 */
long BgL_n2z00_2129;
BgL_n2z00_2129 = 
(long)(BgL_arg2028z00_2121); 
BgL_modz00_2120 = 
(BgL_offsetz00_2119/BgL_n2z00_2129); } } 
{ /* ./BackEnd/c-proto.scm 87 */
long BgL_restz00_2122;
{ /* ./BackEnd/c-proto.scm 87 */
int BgL_arg2024z00_2123;
BgL_arg2024z00_2123 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 87 */
long BgL_n2z00_2132;
BgL_n2z00_2132 = 
(long)(BgL_arg2024z00_2123); 
BgL_restz00_2122 = 
(BgL_offsetz00_2119%BgL_n2z00_2132); } } 
{ /* ./BackEnd/c-proto.scm 87 */

{ /* ./BackEnd/c-proto.scm 87 */
obj_t BgL_bucketz00_2124;
{ /* ./BackEnd/c-proto.scm 87 */
int BgL_kz00_2134;
BgL_kz00_2134 = 
(int)(BgL_modz00_2120); 
BgL_bucketz00_2124 = 
VECTOR_REF(BgL_arg2017z00_2115,BgL_kz00_2134); } 
{ /* ./BackEnd/c-proto.scm 87 */
int BgL_kz00_2136;
BgL_kz00_2136 = 
(int)(BgL_restz00_2122); 
BgL_method3312z00_2112 = 
VECTOR_REF(BgL_bucketz00_2124,BgL_kz00_2136); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method3312z00_2112)(BgL_method3312z00_2112, 
(obj_t)(BgL_valuez00_12), 
(obj_t)(BgL_variablez00_13), BEOA);} } 
}



/* _emit-prototype */
obj_t BGl__emitzd2prototypezd2zzbackend_c_prototypez00(obj_t BgL_envz00_2171, obj_t BgL_valuez00_2172, obj_t BgL_variablez00_2173)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 87 */
return 
BGl_emitzd2prototypezd2zzbackend_c_prototypez00(
(BgL_valuez00_bglt)(BgL_valuez00_2172), 
(BgL_variablez00_bglt)(BgL_variablez00_2173));} 
}



/* emit-prototype-default3311 */
obj_t BGl_emitzd2prototypezd2default3311z00zzbackend_c_prototypez00(BgL_valuez00_bglt BgL_valuez00_14, BgL_variablez00_bglt BgL_variablez00_15)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
{ /* ./BackEnd/c-proto.scm 15 */
obj_t BgL_procz00_2137;obj_t BgL_objectz00_2139;
BgL_procz00_2137 = 
CNST_TABLE_REF(((long)9)); 
BgL_objectz00_2139 = 
(obj_t)(BgL_valuez00_14); 
FAILURE(BgL_procz00_2137,BGl_string5105z00zzbackend_c_prototypez00,BgL_objectz00_2139);} } 
}



/* _emit-prototype-default3311 */
obj_t BGl__emitzd2prototypezd2default3311z00zzbackend_c_prototypez00(obj_t BgL_envz00_2211, obj_t BgL_valuez00_2212, obj_t BgL_variablez00_2213)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
return 
BGl_emitzd2prototypezd2default3311z00zzbackend_c_prototypez00(
(BgL_valuez00_bglt)(BgL_valuez00_2212), 
(BgL_variablez00_bglt)(BgL_variablez00_2213));} 
}



/* get-c-scope */
obj_t BGl_getzd2czd2scopez00zzbackend_c_prototypez00(BgL_variablez00_bglt BgL_variablez00_45)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 398 */
{ /* ./BackEnd/c-proto.scm 398 */
obj_t BgL_method3324z00_2140;
{ /* ./BackEnd/c-proto.scm 398 */
BgL_objectz00_bglt BgL_objz00_2141;
BgL_objz00_2141 = 
(BgL_objectz00_bglt)(BgL_variablez00_45); 
{ /* ./BackEnd/c-proto.scm 398 */
long BgL_objzd2classzd2numz00_2142;
BgL_objzd2classzd2numz00_2142 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_2141); 
{ /* ./BackEnd/c-proto.scm 398 */
obj_t BgL_arg2017z00_2143;
{ /* ./BackEnd/c-proto.scm 398 */
int BgL_auxz00_3044;
BgL_auxz00_3044 = 
(int)(((long)1)); 
BgL_arg2017z00_2143 = 
PROCEDURE_REF(BGl_getzd2czd2scopezd2envzd2zzbackend_c_prototypez00, BgL_auxz00_3044); } 
{ /* ./BackEnd/c-proto.scm 398 */
int BgL_offsetz00_2146;
BgL_offsetz00_2146 = 
(int)(BgL_objzd2classzd2numz00_2142); 
{ /* ./BackEnd/c-proto.scm 398 */
long BgL_offsetz00_2147;
{ /* ./BackEnd/c-proto.scm 398 */
long BgL_auxz00_3048;
BgL_auxz00_3048 = 
(long)(BgL_offsetz00_2146); 
BgL_offsetz00_2147 = 
(BgL_auxz00_3048-OBJECT_TYPE); } 
{ /* ./BackEnd/c-proto.scm 398 */
long BgL_modz00_2148;
{ /* ./BackEnd/c-proto.scm 398 */
int BgL_arg2028z00_2149;
BgL_arg2028z00_2149 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 398 */
long BgL_n2z00_2157;
BgL_n2z00_2157 = 
(long)(BgL_arg2028z00_2149); 
BgL_modz00_2148 = 
(BgL_offsetz00_2147/BgL_n2z00_2157); } } 
{ /* ./BackEnd/c-proto.scm 398 */
long BgL_restz00_2150;
{ /* ./BackEnd/c-proto.scm 398 */
int BgL_arg2024z00_2151;
BgL_arg2024z00_2151 = 
(int)(((long)8)); 
{ /* ./BackEnd/c-proto.scm 398 */
long BgL_n2z00_2160;
BgL_n2z00_2160 = 
(long)(BgL_arg2024z00_2151); 
BgL_restz00_2150 = 
(BgL_offsetz00_2147%BgL_n2z00_2160); } } 
{ /* ./BackEnd/c-proto.scm 398 */

{ /* ./BackEnd/c-proto.scm 398 */
obj_t BgL_bucketz00_2152;
{ /* ./BackEnd/c-proto.scm 398 */
int BgL_kz00_2162;
BgL_kz00_2162 = 
(int)(BgL_modz00_2148); 
BgL_bucketz00_2152 = 
VECTOR_REF(BgL_arg2017z00_2143,BgL_kz00_2162); } 
{ /* ./BackEnd/c-proto.scm 398 */
int BgL_kz00_2164;
BgL_kz00_2164 = 
(int)(BgL_restz00_2150); 
BgL_method3324z00_2140 = 
VECTOR_REF(BgL_bucketz00_2152,BgL_kz00_2164); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method3324z00_2140)(BgL_method3324z00_2140, 
(obj_t)(BgL_variablez00_45), BEOA);} } 
}



/* _get-c-scope */
obj_t BGl__getzd2czd2scopez00zzbackend_c_prototypez00(obj_t BgL_envz00_2181, obj_t BgL_variablez00_2182)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 398 */
return 
BGl_getzd2czd2scopez00zzbackend_c_prototypez00(
(BgL_variablez00_bglt)(BgL_variablez00_2182));} 
}



/* get-c-scope-default3323 */
obj_t BGl_getzd2czd2scopezd2default3323zd2zzbackend_c_prototypez00(BgL_variablez00_bglt BgL_variablez00_46)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
{ /* ./BackEnd/c-proto.scm 15 */
obj_t BgL_procz00_2165;obj_t BgL_objectz00_2167;
BgL_procz00_2165 = 
CNST_TABLE_REF(((long)10)); 
BgL_objectz00_2167 = 
(obj_t)(BgL_variablez00_46); 
FAILURE(BgL_procz00_2165,BGl_string5105z00zzbackend_c_prototypez00,BgL_objectz00_2167);} } 
}



/* _get-c-scope-default3323 */
obj_t BGl__getzd2czd2scopezd2default3323zd2zzbackend_c_prototypez00(obj_t BgL_envz00_2214, obj_t BgL_variablez00_2215)
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
return 
BGl_getzd2czd2scopezd2default3323zd2zzbackend_c_prototypez00(
(BgL_variablez00_bglt)(BgL_variablez00_2215));} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzbackend_c_prototypez00()
{ AN_OBJECT;
{ /* ./BackEnd/c-proto.scm 15 */
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zztvector_tvectorz00(((long)32501), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zztvector_cnstz00(((long)21355), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzcnst_allocz00(((long)26410), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzcgen_copz00(((long)5379), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzbackend_c_emitz00(((long)11970), "backend_c_prototype"); 
BGl_modulezd2initializa7ationz75zzcgen_emitzd2copzd2(((long)54156), "backend_c_prototype"); 
return 
BGl_modulezd2initializa7ationz75zzcnst_nodez00(((long)44711), "backend_c_prototype");} 
}

