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

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

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

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

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

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

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

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

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

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

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

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

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

typedef struct BgL_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_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;


extern obj_t BGl_za2charza2z00zztype_cachez00;
extern obj_t BGl_bigloozd2licensezd2zztools_licensez00();
static obj_t BGl_methodzd2initzd2zzbackend_c_emitz00();
BGL_EXPORTED_DECL obj_t BGl_emitzd2mainzd2zzbackend_c_emitz00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_za2srczd2filesza2zd2zzengine_paramz00;
BGL_IMPORT obj_t display_char(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readzd2linezd2zz__r4_input_6_10_2z00(obj_t);
static obj_t BGl_emitzd2licensezd2zzbackend_c_emitz00();
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
extern obj_t BGl_za2bigloozd2licensingzf3za2z21zzengine_paramz00;
static obj_t BGl__emitzd2headerzd2zzbackend_c_emitz00(obj_t);
BGL_IMPORT obj_t string_to_bstring(char *);
static obj_t BGl__stopzd2emissionz12zc0zzbackend_c_emitz00(obj_t);
static obj_t BGl__untrigraph4236z00zzbackend_c_emitz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_untrigraphz00zzbackend_c_emitz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2debugzd2activationz00zzbackend_c_emitz00();
BGL_IMPORT obj_t BGl_commandzd2linezd2zz__osz00();
static obj_t BGl__emitzd2debugzd2activationz00zzbackend_c_emitz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2commentzd2zzbackend_c_emitz00(obj_t, char);
static long BGl_za2maxzd2colza2zd2zzbackend_c_emitz00;
extern obj_t BGl_za2bigloozd2dateza2zd2zzengine_paramz00;
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
static obj_t BGl_cnstzd2initzd2zzbackend_c_emitz00();
BGL_EXPORTED_DECL obj_t BGl_emitzd2dlopenzd2initz00zzbackend_c_emitz00(obj_t);
BGL_IMPORT obj_t c_substring(obj_t, int, int);
BGL_IMPORT obj_t BGl_displayzd22zd2zz__r4_output_6_10_3z00(obj_t, obj_t);
BGL_IMPORT obj_t open_output_string();
static obj_t BGl_importedzd2moduleszd2initz00zzbackend_c_emitz00();
static obj_t BGl_za2destzd2prefixza2zd2zzbackend_c_emitz00 = BUNSPEC;
extern obj_t BGl_emitzd2bdbzd2locz00zzcgen_emitzd2copzd2(obj_t);
static obj_t BGl__emitzd2mainzd2zzbackend_c_emitz00(obj_t);
extern obj_t BGl_stringzd2sanszd2z42z42zztype_toolsz00(obj_t);
static obj_t BGl__emitzd2garbagezd2collectorzd2selectionzd2zzbackend_c_emitz00(obj_t);
static obj_t BGl__emitzd2comment4227zd2zzbackend_c_emitz00(obj_t, obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzbackend_c_emitz00();
BGL_IMPORT obj_t BGl_2zb2zb2zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_IMPORT obj_t string_append_3(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_emitz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_configurez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_licensez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcgen_copz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzcgen_emitzd2copzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__osz00(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_pairs_and_lists_6_3z00(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_input_6_10_2z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
BGL_IMPORT obj_t make_string(int, unsigned char);
BGL_IMPORT obj_t close_output_port(obj_t);
extern obj_t BGl_za2additionalzd2includezd2foreignza2z00zzengine_paramz00;
extern obj_t BGl_za2garbagezd2collectorza2zd2zzengine_paramz00;
extern obj_t BGl_za2longza2z00zztype_cachez00;
BGL_IMPORT obj_t string_append(obj_t, obj_t);
extern obj_t BGl_za2includezd2foreignza2zd2zzengine_paramz00;
extern obj_t BGl_za2boolza2z00zztype_cachez00;
BGL_EXPORTED_DEF obj_t BGl_za2czd2portza2zd2zzbackend_c_emitz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl__emitzd2atomzd2valuez00zzbackend_c_emitz00(obj_t, obj_t);
extern obj_t BGl_za2userzd2heapzd2siza7eza2za7zzengine_paramz00;
BGL_IMPORT obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long, obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2garbagezd2collectorzd2selectionzd2zzbackend_c_emitz00();
extern obj_t BGl_za2bigloozd2authorza2zd2zzengine_paramz00;
extern obj_t BGl_za2destza2z00zzengine_paramz00;
BGL_IMPORT obj_t display_string(obj_t, obj_t);
static obj_t BGl__emitzd2includezd2zzbackend_c_emitz00(obj_t);
extern obj_t BGl_za2bigloozd2nameza2zd2zzengine_paramz00;
extern obj_t BGl_za2passza2z00zzengine_paramz00;
BGL_EXPORTED_DECL obj_t BGl_startzd2emissionz12zc0zzbackend_c_emitz00(obj_t);
static obj_t BGl__emitzd2dlopenzd2initz00zzbackend_c_emitz00(obj_t, obj_t);
BGL_IMPORT obj_t open_output_file(obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2headerzd2zzbackend_c_emitz00();
BGL_IMPORT obj_t string_for_read(obj_t);
BGL_IMPORT obj_t close_input_port(obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2atomzd2valuez00zzbackend_c_emitz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_emitzd2includezd2zzbackend_c_emitz00();
static obj_t BGl_requirezd2initializa7ationz75zzbackend_c_emitz00 = BUNSPEC;
static obj_t BGl__startzd2emissionz124224zc0zzbackend_c_emitz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_prefixz00zz__osz00(obj_t);
extern obj_t BGl_za2realza2z00zztype_cachez00;
extern obj_t BGl_za2profilezd2modeza2zd2zzengine_paramz00;
BGL_IMPORT bool_t BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzbackend_c_emitz00();
BGL_EXPORTED_DECL obj_t BGl_stopzd2emissionz12zc0zzbackend_c_emitz00();
static obj_t __cnst[ 4 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_stopzd2emissionz12zd2envz12zzbackend_c_emitz00, BgL_bgl__stopza7d2emissionza712za7c0za7za7backend_c_emitza7004434z00, BGl__stopzd2emissionz12zc0zzbackend_c_emitz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2headerzd2envz00zzbackend_c_emitz00, BgL_bgl__emitza7d2headerza7d2za7za7backend_c_emitza7004435za7, BGl__emitzd2headerzd2zzbackend_c_emitz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2dlopenzd2initzd2envzd2zzbackend_c_emitz00, BgL_bgl__emitza7d2dlopenza7d2initza700za7za7backend_c_emitza7004436z00, BGl__emitzd2dlopenzd2initz00zzbackend_c_emitz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2mainzd2envz00zzbackend_c_emitz00, BgL_bgl__emitza7d2mainza7d2za7za7backend_c_emitza7004437za7, BGl__emitzd2mainzd2zzbackend_c_emitz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2commentzd2envz00zzbackend_c_emitz00, BgL_bgl__emitza7d2comment4227za7d2za7za7backend_c_emitza7004438za7, BGl__emitzd2comment4227zd2zzbackend_c_emitz00, 0L, 2 );
DEFINE_STRING( BGl_string4399z00zzbackend_c_emitz00, BgL_bgl_string4399za700za7za7backend_c_emitza7004439z00, "\\''", 3 );
DEFINE_STRING( BGl_string4398z00zzbackend_c_emitz00, BgL_bgl_string4398za700za7za7backend_c_emitza7004440z00, "'\\000'", 6 );
DEFINE_STRING( BGl_string4397z00zzbackend_c_emitz00, BgL_bgl_string4397za700za7za7backend_c_emitza7004441z00, "BNIL", 4 );
DEFINE_STRING( BGl_string4396z00zzbackend_c_emitz00, BgL_bgl_string4396za700za7za7backend_c_emitza7004442z00, "((", 2 );
DEFINE_EXPORT_PROCEDURE( BGl_startzd2emissionz12zd2envz12zzbackend_c_emitz00, BgL_bgl__startza7d2emissionza7124224za7c0za7za7backend_c_emitza7004443z00, BGl__startzd2emissionz124224zc0zzbackend_c_emitz00, 0L, 1 );
DEFINE_STRING( BGl_string4395z00zzbackend_c_emitz00, BgL_bgl_string4395za700za7za7backend_c_emitza7004444z00, ")", 1 );
DEFINE_STRING( BGl_string4394z00zzbackend_c_emitz00, BgL_bgl_string4394za700za7za7backend_c_emitza7004445z00, "( ", 2 );
DEFINE_STRING( BGl_string4393z00zzbackend_c_emitz00, BgL_bgl_string4393za700za7za7backend_c_emitza7004446z00, "}", 1 );
DEFINE_STRING( BGl_string4402z00zzbackend_c_emitz00, BgL_bgl_string4402za700za7za7backend_c_emitza7004447z00, "bumpy boehm --to-stdout (cgen distrib cc cindent hgen) ", 55 );
DEFINE_STRING( BGl_string4392z00zzbackend_c_emitz00, BgL_bgl_string4392za700za7za7backend_c_emitza7004448z00, "( 0, \"dload\" );", 15 );
DEFINE_STRING( BGl_string4401z00zzbackend_c_emitz00, BgL_bgl_string4401za700za7za7backend_c_emitza7004449z00, "BCNST(", 6 );
DEFINE_STRING( BGl_string4391z00zzbackend_c_emitz00, BgL_bgl_string4391za700za7za7backend_c_emitza7004450z00, "  return ", 9 );
DEFINE_STRING( BGl_string4400z00zzbackend_c_emitz00, BgL_bgl_string4400za700za7za7backend_c_emitza7004451z00, "BUNSPEC", 7 );
DEFINE_STRING( BGl_string4390z00zzbackend_c_emitz00, BgL_bgl_string4390za700za7za7backend_c_emitza7004452z00, "() {", 4 );
DEFINE_STRING( BGl_string4389z00zzbackend_c_emitz00, BgL_bgl_string4389za700za7za7backend_c_emitza7004453z00, "obj_t ", 6 );
DEFINE_STRING( BGl_string4388z00zzbackend_c_emitz00, BgL_bgl_string4388za700za7za7backend_c_emitza7004454z00, "_bigloo_main(argc, argv,env, &bigloo_main);}", 44 );
DEFINE_STRING( BGl_string4387z00zzbackend_c_emitz00, BgL_bgl_string4387za700za7za7backend_c_emitza7004455z00, ";", 1 );
DEFINE_STRING( BGl_string4386z00zzbackend_c_emitz00, BgL_bgl_string4386za700za7za7backend_c_emitza7004456z00, "extern long heap_size; heap_size = ", 35 );
DEFINE_STRING( BGl_string4385z00zzbackend_c_emitz00, BgL_bgl_string4385za700za7za7backend_c_emitza7004457z00, "{", 1 );
DEFINE_STRING( BGl_string4384z00zzbackend_c_emitz00, BgL_bgl_string4384za700za7za7backend_c_emitza7004458z00, "int BIGLOO_MAIN(int argc, char *argv[], char *env[])", 52 );
DEFINE_STRING( BGl_string4383z00zzbackend_c_emitz00, BgL_bgl_string4383za700za7za7backend_c_emitza7004459z00, "long bigloo_abort(long n) { return n; }", 39 );
DEFINE_STRING( BGl_string4382z00zzbackend_c_emitz00, BgL_bgl_string4382za700za7za7backend_c_emitza7004460z00, "#define BIGLOO_DEBUG 1", 22 );
DEFINE_STRING( BGl_string4381z00zzbackend_c_emitz00, BgL_bgl_string4381za700za7za7backend_c_emitza7004461z00, "/* debug mode */", 16 );
DEFINE_STRING( BGl_string4380z00zzbackend_c_emitz00, BgL_bgl_string4380za700za7za7backend_c_emitza7004462z00, ">", 1 );
DEFINE_STRING( BGl_string4379z00zzbackend_c_emitz00, BgL_bgl_string4379za700za7za7backend_c_emitza7004463z00, "#include <", 10 );
DEFINE_STRING( BGl_string4378z00zzbackend_c_emitz00, BgL_bgl_string4378za700za7za7backend_c_emitza7004464z00, "Can't emit code for gc", 22 );
DEFINE_STRING( BGl_string4377z00zzbackend_c_emitz00, BgL_bgl_string4377za700za7za7backend_c_emitza7004465z00, "emit-garbage-collector-selection", 32 );
DEFINE_STRING( BGl_string4376z00zzbackend_c_emitz00, BgL_bgl_string4376za700za7za7backend_c_emitza7004466z00, "#define BUMPY_GC\n", 17 );
DEFINE_STRING( BGl_string4375z00zzbackend_c_emitz00, BgL_bgl_string4375za700za7za7backend_c_emitza7004467z00, "#define THE_GC BOEHM_GC", 23 );
DEFINE_STRING( BGl_string4374z00zzbackend_c_emitz00, BgL_bgl_string4374za700za7za7backend_c_emitza7004468z00, "#define THE_GC BOEHM_GC\n", 24 );
DEFINE_STRING( BGl_string4373z00zzbackend_c_emitz00, BgL_bgl_string4373za700za7za7backend_c_emitza7004469z00, "/* GC selection */", 18 );
DEFINE_STRING( BGl_string4372z00zzbackend_c_emitz00, BgL_bgl_string4372za700za7za7backend_c_emitza7004470z00, "/* COMPILATION: ", 16 );
DEFINE_STRING( BGl_string4371z00zzbackend_c_emitz00, BgL_bgl_string4371za700za7za7backend_c_emitza7004471z00, " (c)      ", 10 );
DEFINE_STRING( BGl_string4370z00zzbackend_c_emitz00, BgL_bgl_string4370za700za7za7backend_c_emitza7004472z00, "", 0 );
DEFINE_STRING( BGl_string4369z00zzbackend_c_emitz00, BgL_bgl_string4369za700za7za7backend_c_emitza7004473z00, "*/", 2 );
DEFINE_STRING( BGl_string4368z00zzbackend_c_emitz00, BgL_bgl_string4368za700za7za7backend_c_emitza7004474z00, "/*", 2 );
DEFINE_STRING( BGl_string4367z00zzbackend_c_emitz00, BgL_bgl_string4367za700za7za7backend_c_emitza7004475z00, "Can't open file for output", 26 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2garbagezd2collectorzd2selectionzd2envz00zzbackend_c_emitz00, BgL_bgl__emitza7d2garbageza7d2collectorza7d2selectionza7d2za7za7backend_c_emitza7004476za7, BGl__emitzd2garbagezd2collectorzd2selectionzd2zzbackend_c_emitz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2debugzd2activationzd2envzd2zzbackend_c_emitz00, BgL_bgl__emitza7d2debugza7d2activationza700za7za7backend_c_emitza7004477z00, BGl__emitzd2debugzd2activationz00zzbackend_c_emitz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2includezd2envz00zzbackend_c_emitz00, BgL_bgl__emitza7d2includeza7d2za7za7backend_c_emitza7004478za7, BGl__emitzd2includezd2zzbackend_c_emitz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_emitzd2atomzd2valuezd2envzd2zzbackend_c_emitz00, BgL_bgl__emitza7d2atomza7d2valueza700za7za7backend_c_emitza7004479z00, BGl__emitzd2atomzd2valuez00zzbackend_c_emitz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_untrigraphzd2envzd2zzbackend_c_emitz00, BgL_bgl__untrigraph4236za700za7za7backend_c_emitza7004480z00, BGl__untrigraph4236z00zzbackend_c_emitz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzbackend_c_emitz00(long BgL_checksumz00_1808, char * BgL_fromz00_1809)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzbackend_c_emitz00))
{ 
BGl_requirezd2initializa7ationz75zzbackend_c_emitz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzbackend_c_emitz00(); 
BGl_cnstzd2initzd2zzbackend_c_emitz00(); 
BGl_importedzd2moduleszd2initz00zzbackend_c_emitz00(); 
BGl_toplevelzd2initzd2zzbackend_c_emitz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_input_6_10_2z00(((long)0), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zz__osz00(((long)0), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)0), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)0), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(((long)0), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)0), "backend_c_emit"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 15 */
{ /* ./BackEnd/c-emit.scm 15 */
obj_t BgL_cportz00_1801;
BgL_cportz00_1801 = 
open_input_string(BGl_string4402z00zzbackend_c_emitz00); 
{ 
long BgL_iz00_1802;
BgL_iz00_1802 = ((long)3); 
BgL_loopz00_1803:
{ /* ./BackEnd/c-emit.scm 15 */
bool_t BgL_test4404z00_1804;
BgL_test4404z00_1804 = 
(BgL_iz00_1802==((long)-1)); 
if(BgL_test4404z00_1804)
{ /* ./BackEnd/c-emit.scm 15 */
return BUNSPEC;}  else 
{ /* ./BackEnd/c-emit.scm 15 */
{ /* ./BackEnd/c-emit.scm 15 */
obj_t BgL_arg4406z00_1805;
{ /* ./BackEnd/c-emit.scm 15 */
obj_t BgL_list4409z00_1806;
BgL_list4409z00_1806 = 
MAKE_PAIR(BgL_cportz00_1801, BNIL); 
BgL_arg4406z00_1805 = 
BGl_readz00zz__readerz00(BgL_list4409z00_1806); } 
{ /* ./BackEnd/c-emit.scm 15 */
int BgL_auxz00_1830;
BgL_auxz00_1830 = 
(int)(BgL_iz00_1802); 
CNST_TABLE_SET(BgL_auxz00_1830, BgL_arg4406z00_1805); } } 
{ /* ./BackEnd/c-emit.scm 15 */
int BgL_auxz00_1807;
{ /* ./BackEnd/c-emit.scm 15 */
long BgL_auxz00_1833;
BgL_auxz00_1833 = 
(BgL_iz00_1802-((long)1)); 
BgL_auxz00_1807 = 
(int)(BgL_auxz00_1833); } 
{ 
long BgL_iz00_1836;
BgL_iz00_1836 = 
(long)(BgL_auxz00_1807); 
BgL_iz00_1802 = BgL_iz00_1836; 
goto BgL_loopz00_1803;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 15 */
BGl_za2destzd2prefixza2zd2zzbackend_c_emitz00 = BFALSE; 
BGl_za2czd2portza2zd2zzbackend_c_emitz00 = BFALSE; 
return ( 
BGl_za2maxzd2colza2zd2zzbackend_c_emitz00 = ((long)79), BUNSPEC) ;} 
}



/* start-emission! */
BGL_EXPORTED_DEF obj_t BGl_startzd2emissionz12zc0zzbackend_c_emitz00(obj_t BgL_suffixz00_1)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 48 */
{ /* ./BackEnd/c-emit.scm 49 */
obj_t BgL_prefixz00_848;
{ /* ./BackEnd/c-emit.scm 50 */
bool_t BgL_test3219z00_854;
{ /* ./BackEnd/c-emit.scm 50 */
bool_t BgL_test3232z00_859;
{ /* ./BackEnd/c-emit.scm 50 */
obj_t BgL_objz00_1513;
BgL_objz00_1513 = BGl_za2destza2z00zzengine_paramz00; 
BgL_test3232z00_859 = 
STRINGP(BgL_objz00_1513); } 
if(BgL_test3232z00_859)
{ /* ./BackEnd/c-emit.scm 51 */
obj_t BgL_auxz00_1840;
BgL_auxz00_1840 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BGl_za2passza2z00zzengine_paramz00, 
CNST_TABLE_REF(((long)0))); 
BgL_test3219z00_854 = 
CBOOL(BgL_auxz00_1840); }  else 
{ /* ./BackEnd/c-emit.scm 50 */
BgL_test3219z00_854 = ((bool_t)0); } } 
if(BgL_test3219z00_854)
{ /* ./BackEnd/c-emit.scm 50 */
BgL_prefixz00_848 = 
BGl_prefixz00zz__osz00(BGl_za2destza2z00zzengine_paramz00); }  else 
{ /* ./BackEnd/c-emit.scm 53 */
bool_t BgL_test3221z00_855;
{ /* ./BackEnd/c-emit.scm 53 */
bool_t BgL_test3226z00_857;
{ /* ./BackEnd/c-emit.scm 53 */
obj_t BgL_objz00_1514;
BgL_objz00_1514 = BGl_za2srczd2filesza2zd2zzengine_paramz00; 
BgL_test3226z00_857 = 
PAIRP(BgL_objz00_1514); } 
if(BgL_test3226z00_857)
{ /* ./BackEnd/c-emit.scm 53 */
obj_t BgL_arg3228z00_858;
{ /* ./BackEnd/c-emit.scm 53 */
obj_t BgL_pairz00_1515;
BgL_pairz00_1515 = BGl_za2srczd2filesza2zd2zzengine_paramz00; 
BgL_arg3228z00_858 = 
CAR(BgL_pairz00_1515); } 
BgL_test3221z00_855 = 
STRINGP(BgL_arg3228z00_858); }  else 
{ /* ./BackEnd/c-emit.scm 53 */
BgL_test3221z00_855 = ((bool_t)0); } } 
if(BgL_test3221z00_855)
{ /* ./BackEnd/c-emit.scm 53 */
{ /* ./BackEnd/c-emit.scm 54 */
obj_t BgL_arg3223z00_856;
{ /* ./BackEnd/c-emit.scm 54 */
obj_t BgL_pairz00_1517;
BgL_pairz00_1517 = BGl_za2srczd2filesza2zd2zzengine_paramz00; 
BgL_arg3223z00_856 = 
CAR(BgL_pairz00_1517); } 
BgL_prefixz00_848 = 
BGl_prefixz00zz__osz00(BgL_arg3223z00_856); } }  else 
{ /* ./BackEnd/c-emit.scm 53 */
BgL_prefixz00_848 = BFALSE; } } } 
{ /* ./BackEnd/c-emit.scm 49 */

{ /* ./BackEnd/c-emit.scm 57 */
bool_t BgL_test3208z00_849;
{ /* ./BackEnd/c-emit.scm 57 */
bool_t BgL_test3215z00_852;
{ /* ./BackEnd/c-emit.scm 57 */
obj_t BgL_auxz00_1853;
BgL_auxz00_1853 = 
CNST_TABLE_REF(((long)1)); 
BgL_test3215z00_852 = 
(BGl_za2destza2z00zzengine_paramz00==BgL_auxz00_1853); } 
if(BgL_test3215z00_852)
{ /* ./BackEnd/c-emit.scm 57 */
BgL_test3208z00_849 = ((bool_t)1); }  else 
{ /* ./BackEnd/c-emit.scm 57 */
if(
STRINGP(BgL_prefixz00_848))
{ /* ./BackEnd/c-emit.scm 57 */
BgL_test3208z00_849 = ((bool_t)0); }  else 
{ /* ./BackEnd/c-emit.scm 57 */
BgL_test3208z00_849 = ((bool_t)1); } } } 
if(BgL_test3208z00_849)
{ /* ./BackEnd/c-emit.scm 57 */
return ( 
BGl_za2czd2portza2zd2zzbackend_c_emitz00 = 
BGL_CURRENT_OUTPUT_PORT(), BUNSPEC) ;}  else 
{ /* ./BackEnd/c-emit.scm 59 */
obj_t BgL_fzd2namezd2_850;
BgL_fzd2namezd2_850 = 
string_append(BgL_prefixz00_848, BgL_suffixz00_1); 
BGl_za2destzd2prefixza2zd2zzbackend_c_emitz00 = BgL_prefixz00_848; 
BGl_za2czd2portza2zd2zzbackend_c_emitz00 = 
open_output_file(BgL_fzd2namezd2_850); 
{ /* ./BackEnd/c-emit.scm 62 */
bool_t BgL_test3211z00_851;
{ /* ./BackEnd/c-emit.scm 62 */
obj_t BgL_objz00_1520;
BgL_objz00_1520 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
BgL_test3211z00_851 = 
OUTPUT_PORTP(BgL_objz00_1520); } 
if(BgL_test3211z00_851)
{ /* ./BackEnd/c-emit.scm 62 */
return BUNSPEC;}  else 
{ /* ./BackEnd/c-emit.scm 63 */
obj_t BgL_procz00_1521;
BgL_procz00_1521 = BGl_za2bigloozd2nameza2zd2zzengine_paramz00; 
FAILURE(BgL_procz00_1521,BGl_string4367z00zzbackend_c_emitz00,BgL_fzd2namezd2_850);} } } } } } } 
}



/* _start-emission!4224 */
obj_t BGl__startzd2emissionz124224zc0zzbackend_c_emitz00(obj_t BgL_envz00_1784, obj_t BgL_suffixz00_1785)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 48 */
return 
BGl_startzd2emissionz12zc0zzbackend_c_emitz00(BgL_suffixz00_1785);} 
}



/* stop-emission! */
BGL_EXPORTED_DEF obj_t BGl_stopzd2emissionz12zc0zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 69 */
{ /* ./BackEnd/c-emit.scm 71 */
bool_t BgL_test3235z00_860;
{ /* ./BackEnd/c-emit.scm 71 */
obj_t BgL_objz00_1524;
BgL_objz00_1524 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
BgL_test3235z00_860 = 
OUTPUT_PORTP(BgL_objz00_1524); } 
if(BgL_test3235z00_860)
{ /* ./BackEnd/c-emit.scm 73 */
bool_t BgL_test3236z00_861;
{ /* ./BackEnd/c-emit.scm 73 */
obj_t BgL_arg3240z00_862;
BgL_arg3240z00_862 = 
BGL_CURRENT_OUTPUT_PORT(); 
BgL_test3236z00_861 = 
(BGl_za2czd2portza2zd2zzbackend_c_emitz00==BgL_arg3240z00_862); } 
if(BgL_test3236z00_861)
{ /* ./BackEnd/c-emit.scm 73 */
return BFALSE;}  else 
{ /* ./BackEnd/c-emit.scm 73 */
{ /* ./BackEnd/c-emit.scm 76 */
obj_t BgL_portz00_1525;
BgL_portz00_1525 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
FLUSH_OUTPUT_PORT(BgL_portz00_1525); } 
{ /* ./BackEnd/c-emit.scm 77 */
obj_t BgL_portz00_1526;
BgL_portz00_1526 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
close_output_port(BgL_portz00_1526); } 
BGl_za2czd2portza2zd2zzbackend_c_emitz00 = BFALSE; 
return BGl_za2destzd2prefixza2zd2zzbackend_c_emitz00;} }  else 
{ /* ./BackEnd/c-emit.scm 71 */
return BFALSE;} } } 
}



/* _stop-emission! */
obj_t BGl__stopzd2emissionz12zc0zzbackend_c_emitz00(obj_t BgL_envz00_1786)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 69 */
return 
BGl_stopzd2emissionz12zc0zzbackend_c_emitz00();} 
}



/* emit-comment */
BGL_EXPORTED_DEF obj_t BGl_emitzd2commentzd2zzbackend_c_emitz00(obj_t BgL_stringz00_2, char BgL_fillz00_3)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 89 */
{ /* ./BackEnd/c-emit.scm 90 */
obj_t BgL_stringz00_863;
{ /* ./BackEnd/c-emit.scm 90 */
bool_t BgL_test3284z00_877;
{ /* ./BackEnd/c-emit.scm 90 */
long BgL_auxz00_1879;long BgL_auxz00_1875;
BgL_auxz00_1879 = 
(((long)79)-((long)8)); 
{ /* ./BackEnd/c-emit.scm 90 */
int BgL_auxz00_1876;
BgL_auxz00_1876 = 
STRING_LENGTH(BgL_stringz00_2); 
BgL_auxz00_1875 = 
(long)(BgL_auxz00_1876); } 
BgL_test3284z00_877 = 
(BgL_auxz00_1875>BgL_auxz00_1879); } 
if(BgL_test3284z00_877)
{ /* ./BackEnd/c-emit.scm 91 */
long BgL_arg3287z00_879;
BgL_arg3287z00_879 = 
(((long)79)-((long)9)); 
{ /* ./BackEnd/c-emit.scm 91 */
int BgL_startz00_1535;int BgL_endz00_1536;
BgL_startz00_1535 = 
(int)(((long)0)); 
BgL_endz00_1536 = 
(int)(BgL_arg3287z00_879); 
BgL_stringz00_863 = 
c_substring(BgL_stringz00_2, BgL_startz00_1535, BgL_endz00_1536); } }  else 
{ /* ./BackEnd/c-emit.scm 90 */
BgL_stringz00_863 = BgL_stringz00_2; } } 
display_string(BGl_string4368z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 94 */
int BgL_lenz00_864;
BgL_lenz00_864 = 
STRING_LENGTH(BgL_stringz00_863); 
{ /* ./BackEnd/c-emit.scm 95 */
bool_t BgL_test3245z00_865;
{ /* ./BackEnd/c-emit.scm 95 */
long BgL_auxz00_1889;
BgL_auxz00_1889 = 
(long)(BgL_lenz00_864); 
BgL_test3245z00_865 = 
(BgL_auxz00_1889==((long)0)); } 
if(BgL_test3245z00_865)
{ /* ./BackEnd/c-emit.scm 96 */
obj_t BgL_port3186z00_866;
BgL_port3186z00_866 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-emit.scm 96 */
obj_t BgL_arg3247z00_867;
{ /* ./BackEnd/c-emit.scm 96 */
long BgL_arg3250z00_868;
BgL_arg3250z00_868 = 
(((long)79)-((long)4)); 
{ /* ./BackEnd/c-emit.scm 96 */
obj_t BgL_list3252z00_869;
{ /* ./BackEnd/c-emit.scm 96 */
obj_t BgL_auxz00_1894;
BgL_auxz00_1894 = 
BCHAR(BgL_fillz00_3); 
BgL_list3252z00_869 = 
MAKE_PAIR(BgL_auxz00_1894, BNIL); } 
{ /* ./BackEnd/c-emit.scm 96 */
obj_t BgL_res4218z00_1548;
{ /* ./BackEnd/c-emit.scm 96 */
int BgL_kz00_1542;
BgL_kz00_1542 = 
(int)(BgL_arg3250z00_868); 
{ /* ./BackEnd/c-emit.scm 96 */
obj_t BgL_arg1236z00_1545;
BgL_arg1236z00_1545 = 
CAR(BgL_list3252z00_869); 
{ /* ./BackEnd/c-emit.scm 96 */
unsigned char BgL_auxz00_1899;
BgL_auxz00_1899 = 
(unsigned char)CCHAR(BgL_arg1236z00_1545); 
BgL_res4218z00_1548 = 
make_string(BgL_kz00_1542, BgL_auxz00_1899); } } } 
BgL_arg3247z00_867 = BgL_res4218z00_1548; } } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3247z00_867, BgL_port3186z00_866); } 
display_string(BGl_string4369z00zzbackend_c_emitz00, BgL_port3186z00_866); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3186z00_866);}  else 
{ /* ./BackEnd/c-emit.scm 95 */
{ /* ./BackEnd/c-emit.scm 98 */
obj_t BgL_arg3259z00_870;
{ /* ./BackEnd/c-emit.scm 98 */
obj_t BgL_list3262z00_871;
{ /* ./BackEnd/c-emit.scm 98 */
obj_t BgL_auxz00_1905;
BgL_auxz00_1905 = 
BCHAR(BgL_fillz00_3); 
BgL_list3262z00_871 = 
MAKE_PAIR(BgL_auxz00_1905, BNIL); } 
{ /* ./BackEnd/c-emit.scm 98 */
obj_t BgL_res4219z00_1556;
{ /* ./BackEnd/c-emit.scm 98 */
int BgL_kz00_1550;
BgL_kz00_1550 = 
(int)(((long)2)); 
{ /* ./BackEnd/c-emit.scm 98 */
obj_t BgL_arg1236z00_1553;
BgL_arg1236z00_1553 = 
CAR(BgL_list3262z00_871); 
{ /* ./BackEnd/c-emit.scm 98 */
unsigned char BgL_auxz00_1910;
BgL_auxz00_1910 = 
(unsigned char)CCHAR(BgL_arg1236z00_1553); 
BgL_res4219z00_1556 = 
make_string(BgL_kz00_1550, BgL_auxz00_1910); } } } 
BgL_arg3259z00_870 = BgL_res4219z00_1556; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3259z00_870, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 99 */
obj_t BgL_auxz00_1914;
BgL_auxz00_1914 = 
BCHAR(((unsigned char)' ')); 
display_char(BgL_auxz00_1914, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_stringz00_863, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 101 */
obj_t BgL_auxz00_1918;
BgL_auxz00_1918 = 
BCHAR(((unsigned char)' ')); 
display_char(BgL_auxz00_1918, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 102 */
obj_t BgL_port3187z00_872;
BgL_port3187z00_872 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
{ /* ./BackEnd/c-emit.scm 103 */
obj_t BgL_arg3268z00_873;
{ /* ./BackEnd/c-emit.scm 103 */
long BgL_arg3272z00_874;
{ /* ./BackEnd/c-emit.scm 103 */
long BgL_auxz00_1921;
{ /* ./BackEnd/c-emit.scm 103 */
obj_t BgL_auxz00_1922;
BgL_auxz00_1922 = 
BGl_2zb2zb2zz__r4_numbers_6_5z00(
BINT(((long)8)), 
BINT(BgL_lenz00_864)); 
BgL_auxz00_1921 = 
(long)CINT(BgL_auxz00_1922); } 
BgL_arg3272z00_874 = 
(((long)79)-BgL_auxz00_1921); } 
{ /* ./BackEnd/c-emit.scm 103 */
obj_t BgL_list3274z00_875;
{ /* ./BackEnd/c-emit.scm 103 */
obj_t BgL_auxz00_1928;
BgL_auxz00_1928 = 
BCHAR(BgL_fillz00_3); 
BgL_list3274z00_875 = 
MAKE_PAIR(BgL_auxz00_1928, BNIL); } 
{ /* ./BackEnd/c-emit.scm 103 */
obj_t BgL_res4220z00_1565;
{ /* ./BackEnd/c-emit.scm 103 */
int BgL_kz00_1559;
BgL_kz00_1559 = 
(int)(BgL_arg3272z00_874); 
{ /* ./BackEnd/c-emit.scm 103 */
obj_t BgL_arg1236z00_1562;
BgL_arg1236z00_1562 = 
CAR(BgL_list3274z00_875); 
{ /* ./BackEnd/c-emit.scm 103 */
unsigned char BgL_auxz00_1933;
BgL_auxz00_1933 = 
(unsigned char)CCHAR(BgL_arg1236z00_1562); 
BgL_res4220z00_1565 = 
make_string(BgL_kz00_1559, BgL_auxz00_1933); } } } 
BgL_arg3268z00_873 = BgL_res4220z00_1565; } } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3268z00_873, BgL_port3187z00_872); } 
display_string(BGl_string4369z00zzbackend_c_emitz00, BgL_port3187z00_872); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3187z00_872);} } } } } } 
}



/* _emit-comment4227 */
obj_t BGl__emitzd2comment4227zd2zzbackend_c_emitz00(obj_t BgL_envz00_1787, obj_t BgL_stringz00_1788, obj_t BgL_fillz00_1789)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 89 */
return 
BGl_emitzd2commentzd2zzbackend_c_emitz00(BgL_stringz00_1788, 
CCHAR(BgL_fillz00_1789));} 
}



/* emit-license */
obj_t BGl_emitzd2licensezd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 109 */
{ /* ./BackEnd/c-emit.scm 110 */
obj_t BgL_inz00_882;
{ /* ./BackEnd/c-emit.scm 110 */
obj_t BgL_arg3313z00_890;
BgL_arg3313z00_890 = 
BGl_bigloozd2licensezd2zztools_licensez00(); 
BgL_inz00_882 = 
open_input_string(BgL_arg3313z00_890); } 
{ 
obj_t BgL_strz00_883;
{ /* ./BackEnd/c-emit.scm 111 */
obj_t BgL_arg3297z00_885;
{ /* ./BackEnd/c-emit.scm 111 */
obj_t BgL_list3300z00_886;
BgL_list3300z00_886 = 
MAKE_PAIR(BgL_inz00_882, BNIL); 
BgL_arg3297z00_885 = 
BGl_readzd2linezd2zz__r4_input_6_10_2z00(BgL_list3300z00_886); } 
BgL_strz00_883 = BgL_arg3297z00_885; 
BgL_loopz00_884:
{ /* ./BackEnd/c-emit.scm 112 */
bool_t BgL_test3302z00_887;
BgL_test3302z00_887 = 
EOF_OBJECTP(BgL_strz00_883); 
if(BgL_test3302z00_887)
{ /* ./BackEnd/c-emit.scm 112 */
return 
close_input_port(BgL_inz00_882);}  else 
{ /* ./BackEnd/c-emit.scm 112 */
BGl_emitzd2commentzd2zzbackend_c_emitz00(BgL_strz00_883, 
(char)(((unsigned char)' '))); 
{ /* ./BackEnd/c-emit.scm 116 */
obj_t BgL_arg3306z00_888;
{ /* ./BackEnd/c-emit.scm 116 */
obj_t BgL_list3309z00_889;
BgL_list3309z00_889 = 
MAKE_PAIR(BgL_inz00_882, BNIL); 
BgL_arg3306z00_888 = 
BGl_readzd2linezd2zz__r4_input_6_10_2z00(BgL_list3309z00_889); } 
{ 
obj_t BgL_strz00_1952;
BgL_strz00_1952 = BgL_arg3306z00_888; 
BgL_strz00_883 = BgL_strz00_1952; 
goto BgL_loopz00_884;} } } } } } } } 
}



/* emit-header */
BGL_EXPORTED_DEF obj_t BGl_emitzd2headerzd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 121 */
BGl_emitzd2commentzd2zzbackend_c_emitz00(BGl_string4370z00zzbackend_c_emitz00, 
(char)(((unsigned char)'='))); 
{ /* ./BackEnd/c-emit.scm 123 */
obj_t BgL_arg3319z00_891;
{ /* ./BackEnd/c-emit.scm 123 */
obj_t BgL_pz00_892;
BgL_pz00_892 = 
open_output_string(); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BGl_za2srczd2filesza2zd2zzengine_paramz00, BgL_pz00_892); 
BgL_arg3319z00_891 = 
close_output_port(BgL_pz00_892); } 
BGl_emitzd2commentzd2zzbackend_c_emitz00(BgL_arg3319z00_891, 
(char)(((unsigned char)' '))); } 
BGl_emitzd2commentzd2zzbackend_c_emitz00(BGl_za2bigloozd2nameza2zd2zzengine_paramz00, 
(char)(((unsigned char)' '))); 
{ /* ./BackEnd/c-emit.scm 128 */
obj_t BgL_arg3326z00_893;
BgL_arg3326z00_893 = 
string_append_3(BGl_za2bigloozd2authorza2zd2zzengine_paramz00, BGl_string4371z00zzbackend_c_emitz00, BGl_za2bigloozd2dateza2zd2zzengine_paramz00); 
BGl_emitzd2commentzd2zzbackend_c_emitz00(BgL_arg3326z00_893, 
(char)(((unsigned char)' '))); } 
if(
CBOOL(BGl_za2bigloozd2licensingzf3za2z21zzengine_paramz00))
{ /* ./BackEnd/c-emit.scm 130 */
BGl_emitzd2licensezd2zzbackend_c_emitz00(); }  else 
{ /* ./BackEnd/c-emit.scm 130 */BFALSE; } 
BGl_emitzd2commentzd2zzbackend_c_emitz00(BGl_string4370z00zzbackend_c_emitz00, 
(char)(((unsigned char)'='))); 
display_string(BGl_string4372z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 133 */
obj_t BgL_arg3333z00_894;
BgL_arg3333z00_894 = 
BGl_commandzd2linezd2zz__osz00(); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3333z00_894, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
display_string(BGl_string4369z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 135 */
obj_t BgL_portz00_1571;
BgL_portz00_1571 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_portz00_1571);} } 
}



/* _emit-header */
obj_t BGl__emitzd2headerzd2zzbackend_c_emitz00(obj_t BgL_envz00_1790)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 121 */
return 
BGl_emitzd2headerzd2zzbackend_c_emitz00();} 
}



/* emit-garbage-collector-selection */
BGL_EXPORTED_DEF obj_t BGl_emitzd2garbagezd2collectorzd2selectionzd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 140 */
{ /* ./BackEnd/c-emit.scm 141 */
obj_t BgL_port3188z00_895;
BgL_port3188z00_895 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4373z00zzbackend_c_emitz00, BgL_port3188z00_895); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3188z00_895); } 
{ /* ./BackEnd/c-emit.scm 142 */
obj_t BgL_casezd2valuezd2_896;
BgL_casezd2valuezd2_896 = BGl_za2garbagezd2collectorza2zd2zzengine_paramz00; 
{ /* ./BackEnd/c-emit.scm 142 */
bool_t BgL_test3340z00_897;
BgL_test3340z00_897 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_896, 
CNST_TABLE_REF(((long)2))); 
if(BgL_test3340z00_897)
{ /* ./BackEnd/c-emit.scm 144 */
obj_t BgL_port3189z00_898;
BgL_port3189z00_898 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4374z00zzbackend_c_emitz00, BgL_port3189z00_898); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3189z00_898);}  else 
{ /* ./BackEnd/c-emit.scm 142 */
bool_t BgL_test3343z00_899;
BgL_test3343z00_899 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_896, 
CNST_TABLE_REF(((long)3))); 
if(BgL_test3343z00_899)
{ /* ./BackEnd/c-emit.scm 142 */
{ /* ./BackEnd/c-emit.scm 146 */
obj_t BgL_port3190z00_900;
BgL_port3190z00_900 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4375z00zzbackend_c_emitz00, BgL_port3190z00_900); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3190z00_900); } 
{ /* ./BackEnd/c-emit.scm 147 */
obj_t BgL_port3191z00_901;
BgL_port3191z00_901 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4376z00zzbackend_c_emitz00, BgL_port3191z00_901); 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3191z00_901);} }  else 
{ /* ./BackEnd/c-emit.scm 149 */
obj_t BgL_objectz00_1578;
BgL_objectz00_1578 = BGl_za2garbagezd2collectorza2zd2zzengine_paramz00; 
FAILURE(BGl_string4377z00zzbackend_c_emitz00,BGl_string4378z00zzbackend_c_emitz00,BgL_objectz00_1578);} } } } } 
}



/* _emit-garbage-collector-selection */
obj_t BGl__emitzd2garbagezd2collectorzd2selectionzd2zzbackend_c_emitz00(obj_t BgL_envz00_1791)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 140 */
return 
BGl_emitzd2garbagezd2collectorzd2selectionzd2zzbackend_c_emitz00();} 
}



/* emit-include */
BGL_EXPORTED_DEF obj_t BGl_emitzd2includezd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 156 */
{ 
obj_t BgL_l3192z00_902;
{ /* ./BackEnd/c-emit.scm 159 */
obj_t BgL_arg3352z00_904;
BgL_arg3352z00_904 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BGl_za2includezd2foreignza2zd2zzengine_paramz00); 
BgL_l3192z00_902 = BgL_arg3352z00_904; 
BgL_forzd2each3193zd2_903:
{ /* ./BackEnd/c-emit.scm 158 */
bool_t BgL_test3355z00_905;
BgL_test3355z00_905 = 
PAIRP(BgL_l3192z00_902); 
if(BgL_test3355z00_905)
{ /* ./BackEnd/c-emit.scm 158 */
{ /* ./BackEnd/c-emit.scm 158 */
obj_t BgL_iz00_906;
BgL_iz00_906 = 
CAR(BgL_l3192z00_902); 
{ /* ./BackEnd/c-emit.scm 158 */
obj_t BgL_port3194z00_907;
BgL_port3194z00_907 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4379z00zzbackend_c_emitz00, BgL_port3194z00_907); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_iz00_906, BgL_port3194z00_907); 
display_string(BGl_string4380z00zzbackend_c_emitz00, BgL_port3194z00_907); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3194z00_907); } } 
{ /* ./BackEnd/c-emit.scm 158 */
obj_t BgL_arg3362z00_908;
BgL_arg3362z00_908 = 
CDR(BgL_l3192z00_902); 
{ 
obj_t BgL_l3192z00_2001;
BgL_l3192z00_2001 = BgL_arg3362z00_908; 
BgL_l3192z00_902 = BgL_l3192z00_2001; 
goto BgL_forzd2each3193zd2_903;} } }  else 
{ /* ./BackEnd/c-emit.scm 158 */((bool_t)1); } } } } 
{ 
obj_t BgL_l3195z00_909;
{ /* ./BackEnd/c-emit.scm 162 */
obj_t BgL_arg3367z00_911;
BgL_arg3367z00_911 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BGl_za2additionalzd2includezd2foreignza2z00zzengine_paramz00); 
BgL_l3195z00_909 = BgL_arg3367z00_911; 
BgL_forzd2each3196zd2_910:
{ /* ./BackEnd/c-emit.scm 161 */
bool_t BgL_test3370z00_912;
BgL_test3370z00_912 = 
PAIRP(BgL_l3195z00_909); 
if(BgL_test3370z00_912)
{ /* ./BackEnd/c-emit.scm 161 */
{ /* ./BackEnd/c-emit.scm 161 */
obj_t BgL_iz00_913;
BgL_iz00_913 = 
CAR(BgL_l3195z00_909); 
{ /* ./BackEnd/c-emit.scm 161 */
obj_t BgL_port3197z00_914;
BgL_port3197z00_914 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4379z00zzbackend_c_emitz00, BgL_port3197z00_914); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_iz00_913, BgL_port3197z00_914); 
display_string(BGl_string4380z00zzbackend_c_emitz00, BgL_port3197z00_914); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3197z00_914); } } 
{ /* ./BackEnd/c-emit.scm 161 */
obj_t BgL_arg3377z00_915;
BgL_arg3377z00_915 = 
CDR(BgL_l3195z00_909); 
{ 
obj_t BgL_l3195z00_2011;
BgL_l3195z00_2011 = BgL_arg3377z00_915; 
BgL_l3195z00_909 = BgL_l3195z00_2011; 
goto BgL_forzd2each3196zd2_910;} } }  else 
{ /* ./BackEnd/c-emit.scm 161 */((bool_t)1); } } } } 
{ /* ./BackEnd/c-emit.scm 163 */
obj_t BgL_portz00_1587;
BgL_portz00_1587 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_portz00_1587);} } 
}



/* _emit-include */
obj_t BGl__emitzd2includezd2zzbackend_c_emitz00(obj_t BgL_envz00_1792)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 156 */
return 
BGl_emitzd2includezd2zzbackend_c_emitz00();} 
}



/* emit-debug-activation */
BGL_EXPORTED_DEF obj_t BGl_emitzd2debugzd2activationz00zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 168 */
{ /* ./BackEnd/c-emit.scm 169 */
obj_t BgL_port3198z00_916;
BgL_port3198z00_916 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4381z00zzbackend_c_emitz00, BgL_port3198z00_916); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3198z00_916); } 
{ /* ./BackEnd/c-emit.scm 170 */
obj_t BgL_port3199z00_917;
BgL_port3199z00_917 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4382z00zzbackend_c_emitz00, BgL_port3199z00_917); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3199z00_917); } 
{ /* ./BackEnd/c-emit.scm 171 */
obj_t BgL_portz00_1590;
BgL_portz00_1590 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_portz00_1590);} } 
}



/* _emit-debug-activation */
obj_t BGl__emitzd2debugzd2activationz00zzbackend_c_emitz00(obj_t BgL_envz00_1793)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 168 */
return 
BGl_emitzd2debugzd2activationz00zzbackend_c_emitz00();} 
}



/* emit-main */
BGL_EXPORTED_DEF obj_t BGl_emitzd2mainzd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 176 */
BGl_emitzd2bdbzd2locz00zzcgen_emitzd2copzd2(BUNSPEC); 
{ /* ./BackEnd/c-emit.scm 183 */
obj_t BgL_port3200z00_918;
BgL_port3200z00_918 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4383z00zzbackend_c_emitz00, BgL_port3200z00_918); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3200z00_918); } 
BGl_emitzd2bdbzd2locz00zzcgen_emitzd2copzd2(BUNSPEC); 
{ /* ./BackEnd/c-emit.scm 185 */
obj_t BgL_port3201z00_919;
BgL_port3201z00_919 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4384z00zzbackend_c_emitz00, BgL_port3201z00_919); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3201z00_919); } 
{ /* ./BackEnd/c-emit.scm 186 */
obj_t BgL_port3202z00_920;
BgL_port3202z00_920 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4385z00zzbackend_c_emitz00, BgL_port3202z00_920); 
{ /* ./BackEnd/c-emit.scm 188 */
obj_t BgL_arg3395z00_921;
{ /* ./BackEnd/c-emit.scm 188 */
bool_t BgL_test3397z00_922;
{ /* ./BackEnd/c-emit.scm 188 */
bool_t BgL_res4221z00_1597;
{ /* ./BackEnd/c-emit.scm 188 */
obj_t BgL_objz00_1593;
BgL_objz00_1593 = BGl_za2userzd2heapzd2siza7eza2za7zzengine_paramz00; 
if(
INTEGERP(BgL_objz00_1593))
{ /* ./BackEnd/c-emit.scm 188 */
BgL_res4221z00_1597 = ((bool_t)1); }  else 
{ /* ./BackEnd/c-emit.scm 188 */
BgL_res4221z00_1597 = 
REALP(BgL_objz00_1593); } } 
BgL_test3397z00_922 = BgL_res4221z00_1597; } 
if(BgL_test3397z00_922)
{ /* ./BackEnd/c-emit.scm 189 */
obj_t BgL_arg3400z00_924;
BgL_arg3400z00_924 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
(long)CINT(BGl_za2userzd2heapzd2siza7eza2za7zzengine_paramz00), BNIL); 
BgL_arg3395z00_921 = 
string_append_3(BGl_string4386z00zzbackend_c_emitz00, BgL_arg3400z00_924, BGl_string4387z00zzbackend_c_emitz00); }  else 
{ /* ./BackEnd/c-emit.scm 188 */
BgL_arg3395z00_921 = BGl_string4370z00zzbackend_c_emitz00; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3395z00_921, BgL_port3202z00_920); } 
{ /* ./BackEnd/c-emit.scm 193 */
char * BgL_arg3407z00_927;
{ /* ./BackEnd/c-emit.scm 193 */
bool_t BgL_test3409z00_928;
{ /* ./BackEnd/c-emit.scm 193 */
bool_t BgL_test3410z00_929;
{ /* ./BackEnd/c-emit.scm 193 */
bool_t BgL_res4222z00_1602;
{ /* ./BackEnd/c-emit.scm 193 */
obj_t BgL_objz00_1598;
BgL_objz00_1598 = BGl_za2profilezd2modeza2zd2zzengine_paramz00; 
if(
INTEGERP(BgL_objz00_1598))
{ /* ./BackEnd/c-emit.scm 193 */
BgL_res4222z00_1602 = ((bool_t)1); }  else 
{ /* ./BackEnd/c-emit.scm 193 */
BgL_res4222z00_1602 = 
REALP(BgL_objz00_1598); } } 
BgL_test3410z00_929 = BgL_res4222z00_1602; } 
if(BgL_test3410z00_929)
{ /* ./BackEnd/c-emit.scm 193 */
BgL_test3409z00_928 = 
BGl_2ze3ze3zz__r4_numbers_6_5z00(BGl_za2profilezd2modeza2zd2zzengine_paramz00, 
BINT(((long)0))); }  else 
{ /* ./BackEnd/c-emit.scm 193 */
BgL_test3409z00_928 = ((bool_t)0); } } 
if(BgL_test3409z00_928)
{ /* ./BackEnd/c-emit.scm 193 */
BgL_arg3407z00_927 = "GC_profile_start();"; }  else 
{ /* ./BackEnd/c-emit.scm 193 */
BgL_arg3407z00_927 = ""; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BgL_arg3407z00_927), BgL_port3202z00_920); } 
display_string(BGl_string4388z00zzbackend_c_emitz00, BgL_port3202z00_920); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3202z00_920); } 
{ /* ./BackEnd/c-emit.scm 197 */
obj_t BgL_portz00_1604;
BgL_portz00_1604 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_portz00_1604);} } 
}



/* _emit-main */
obj_t BGl__emitzd2mainzd2zzbackend_c_emitz00(obj_t BgL_envz00_1794)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 176 */
return 
BGl_emitzd2mainzd2zzbackend_c_emitz00();} 
}



/* emit-dlopen-init */
BGL_EXPORTED_DEF obj_t BGl_emitzd2dlopenzd2initz00zzbackend_c_emitz00(obj_t BgL_globalz00_4)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 202 */
BGl_emitzd2bdbzd2locz00zzcgen_emitzd2copzd2(BUNSPEC); 
{ /* ./BackEnd/c-emit.scm 204 */
obj_t BgL_port3203z00_930;
BgL_port3203z00_930 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4389z00zzbackend_c_emitz00, BgL_port3203z00_930); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BGL_DYNAMIC_LOAD_INIT), BgL_port3203z00_930); 
display_string(BGl_string4390z00zzbackend_c_emitz00, BgL_port3203z00_930); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3203z00_930); } 
BGl_emitzd2bdbzd2locz00zzcgen_emitzd2copzd2(BUNSPEC); 
{ /* ./BackEnd/c-emit.scm 206 */
obj_t BgL_port3204z00_931;
BgL_port3204z00_931 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4391z00zzbackend_c_emitz00, BgL_port3204z00_931); 
{ /* ./BackEnd/c-emit.scm 206 */
obj_t BgL_arg3424z00_932;
{ /* ./BackEnd/c-emit.scm 206 */
BgL_variablez00_bglt BgL_obj1094z00_1606;
BgL_obj1094z00_1606 = 
(BgL_variablez00_bglt)(BgL_globalz00_4); 
BgL_arg3424z00_932 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1094z00_1606))->BgL_namez00); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3424z00_932, BgL_port3204z00_931); } 
display_string(BGl_string4392z00zzbackend_c_emitz00, BgL_port3204z00_931); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3204z00_931); } 
BGl_emitzd2bdbzd2locz00zzcgen_emitzd2copzd2(BUNSPEC); 
{ /* ./BackEnd/c-emit.scm 208 */
obj_t BgL_port3205z00_933;
BgL_port3205z00_933 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
display_string(BGl_string4393z00zzbackend_c_emitz00, BgL_port3205z00_933); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port3205z00_933); } 
{ /* ./BackEnd/c-emit.scm 209 */
obj_t BgL_portz00_1609;
BgL_portz00_1609 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)'\n'), BgL_portz00_1609);} } 
}



/* _emit-dlopen-init */
obj_t BGl__emitzd2dlopenzd2initz00zzbackend_c_emitz00(obj_t BgL_envz00_1795, obj_t BgL_globalz00_1796)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 202 */
return 
BGl_emitzd2dlopenzd2initz00zzbackend_c_emitz00(BgL_globalz00_1796);} 
}



/* emit-atom-value */
BGL_EXPORTED_DEF obj_t BGl_emitzd2atomzd2valuez00zzbackend_c_emitz00(obj_t BgL_valuez00_5)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 214 */
{ 
obj_t BgL_valuez00_966;char * BgL_macroz00_967;
{ /* ./BackEnd/c-emit.scm 224 */
bool_t BgL_test3433z00_935;
BgL_test3433z00_935 = 
BOOLEANP(BgL_valuez00_5); 
if(BgL_test3433z00_935)
{ /* ./BackEnd/c-emit.scm 224 */
display_string(BGl_string4396z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 226 */
obj_t BgL_arg3436z00_936;
{ /* ./BackEnd/c-emit.scm 226 */
obj_t BgL_arg3439z00_937;
{ /* ./BackEnd/c-emit.scm 226 */
BgL_typez00_bglt BgL_obj1004z00_1611;
BgL_obj1004z00_1611 = 
(BgL_typez00_bglt)(BGl_za2boolza2z00zztype_cachez00); 
BgL_arg3439z00_937 = 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_1611))->BgL_namez00); } 
BgL_arg3436z00_936 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_arg3439z00_937); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3436z00_936, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 227 */
obj_t BgL_auxz00_2073;
BgL_auxz00_2073 = 
BCHAR(((unsigned char)')')); 
display_char(BgL_auxz00_2073, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 228 */
long BgL_arg3444z00_938;
if(
CBOOL(BgL_valuez00_5))
{ /* ./BackEnd/c-emit.scm 228 */
BgL_arg3444z00_938 = ((long)1); }  else 
{ /* ./BackEnd/c-emit.scm 228 */
BgL_arg3444z00_938 = ((long)0); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
BINT(BgL_arg3444z00_938), BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 229 */
obj_t BgL_auxz00_2080;
BgL_auxz00_2080 = 
BCHAR(((unsigned char)')')); 
return 
display_char(BgL_auxz00_2080, BGl_za2czd2portza2zd2zzbackend_c_emitz00);} }  else 
{ /* ./BackEnd/c-emit.scm 230 */
bool_t BgL_test3447z00_939;
BgL_test3447z00_939 = 
NULLP(BgL_valuez00_5); 
if(BgL_test3447z00_939)
{ /* ./BackEnd/c-emit.scm 230 */
return 
display_string(BGl_string4397z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00);}  else 
{ /* ./BackEnd/c-emit.scm 232 */
bool_t BgL_test3449z00_940;
BgL_test3449z00_940 = 
CHARP(BgL_valuez00_5); 
if(BgL_test3449z00_940)
{ /* ./BackEnd/c-emit.scm 232 */
display_string(BGl_string4396z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 234 */
obj_t BgL_arg3452z00_941;
{ /* ./BackEnd/c-emit.scm 234 */
obj_t BgL_arg3455z00_942;
{ /* ./BackEnd/c-emit.scm 234 */
BgL_typez00_bglt BgL_obj1004z00_1614;
BgL_obj1004z00_1614 = 
(BgL_typez00_bglt)(BGl_za2charza2z00zztype_cachez00); 
BgL_arg3455z00_942 = 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_1614))->BgL_namez00); } 
BgL_arg3452z00_941 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_arg3455z00_942); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3452z00_941, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
display_string(BGl_string4395z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 236 */
bool_t BgL_test3459z00_943;
{ /* ./BackEnd/c-emit.scm 236 */
long BgL_auxz00_2094;
{ /* ./BackEnd/c-emit.scm 236 */
unsigned char BgL_auxz00_2095;
BgL_auxz00_2095 = 
(unsigned char)CCHAR(BgL_valuez00_5); 
BgL_auxz00_2094 = 
(BgL_auxz00_2095); } 
BgL_test3459z00_943 = 
(BgL_auxz00_2094==((long)0)); } 
if(BgL_test3459z00_943)
{ /* ./BackEnd/c-emit.scm 236 */
display_string(BGl_string4398z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); }  else 
{ /* ./BackEnd/c-emit.scm 236 */
{ /* ./BackEnd/c-emit.scm 239 */
obj_t BgL_portz00_1619;
BgL_portz00_1619 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'\''), BgL_portz00_1619); } 
{ /* ./BackEnd/c-emit.scm 240 */
bool_t BgL_test3462z00_944;
{ /* ./BackEnd/c-emit.scm 240 */
long BgL_auxz00_2102;
{ /* ./BackEnd/c-emit.scm 240 */
unsigned char BgL_auxz00_2103;
BgL_auxz00_2103 = 
(unsigned char)CCHAR(BgL_valuez00_5); 
BgL_auxz00_2102 = 
(BgL_auxz00_2103); } 
BgL_test3462z00_944 = 
(BgL_auxz00_2102==((long)39)); } 
if(BgL_test3462z00_944)
{ /* ./BackEnd/c-emit.scm 240 */
display_string(BGl_string4399z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); }  else 
{ /* ./BackEnd/c-emit.scm 240 */
{ /* ./BackEnd/c-emit.scm 246 */
bool_t BgL_test3464z00_947;
BgL_test3464z00_947 = 
CHARP(BgL_valuez00_5); 
if(BgL_test3464z00_947)
{ /* ./BackEnd/c-emit.scm 246 */
switch( 
(unsigned char)CCHAR(BgL_valuez00_5)) { case ((unsigned char)'\r') : 

{ /* ./BackEnd/c-emit.scm 245 */
obj_t BgL_portz00_1624;
BgL_portz00_1624 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'\\'), BgL_portz00_1624); } 
{ /* ./BackEnd/c-emit.scm 246 */
obj_t BgL_portz00_1626;
BgL_portz00_1626 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'r'), BgL_portz00_1626); } break;case ((unsigned char)'\t') : 

{ /* ./BackEnd/c-emit.scm 248 */
obj_t BgL_portz00_1628;
BgL_portz00_1628 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'\\'), BgL_portz00_1628); } 
{ /* ./BackEnd/c-emit.scm 249 */
obj_t BgL_portz00_1630;
BgL_portz00_1630 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'t'), BgL_portz00_1630); } break;case ((unsigned char)'\n') : 

{ /* ./BackEnd/c-emit.scm 251 */
obj_t BgL_portz00_1632;
BgL_portz00_1632 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'\\'), BgL_portz00_1632); } 
{ /* ./BackEnd/c-emit.scm 252 */
obj_t BgL_portz00_1634;
BgL_portz00_1634 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'n'), BgL_portz00_1634); } break;case ((unsigned char)'\\') : 

{ /* ./BackEnd/c-emit.scm 254 */
obj_t BgL_portz00_1636;
BgL_portz00_1636 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'\\'), BgL_portz00_1636); } 
{ /* ./BackEnd/c-emit.scm 255 */
obj_t BgL_portz00_1638;
BgL_portz00_1638 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'\\'), BgL_portz00_1638); } break;
default: 
{ /* ./BackEnd/c-emit.scm 246 */
unsigned char BgL_charz00_1639;obj_t BgL_portz00_1640;
BgL_charz00_1639 = 
(unsigned char)CCHAR(BgL_valuez00_5); 
BgL_portz00_1640 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(BgL_charz00_1639, BgL_portz00_1640); } } }  else 
{ /* ./BackEnd/c-emit.scm 246 */
unsigned char BgL_charz00_1641;obj_t BgL_portz00_1642;
BgL_charz00_1641 = 
(unsigned char)CCHAR(BgL_valuez00_5); 
BgL_portz00_1642 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(BgL_charz00_1641, BgL_portz00_1642); } } 
{ /* ./BackEnd/c-emit.scm 258 */
obj_t BgL_portz00_1646;
BgL_portz00_1646 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
WRITE_CHAR(((unsigned char)'\''), BgL_portz00_1646); } } } } } 
{ /* ./BackEnd/c-emit.scm 259 */
obj_t BgL_portz00_1648;
BgL_portz00_1648 = BGl_za2czd2portza2zd2zzbackend_c_emitz00; 
return 
WRITE_CHAR(((unsigned char)')'), BgL_portz00_1648);} }  else 
{ /* ./BackEnd/c-emit.scm 260 */
bool_t BgL_test3489z00_952;
BgL_test3489z00_952 = 
(BgL_valuez00_5==BUNSPEC); 
if(BgL_test3489z00_952)
{ /* ./BackEnd/c-emit.scm 260 */
return 
display_string(BGl_string4400z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00);}  else 
{ /* ./BackEnd/c-emit.scm 262 */
bool_t BgL_test3491z00_953;
BgL_test3491z00_953 = 
CNSTP(BgL_valuez00_5); 
if(BgL_test3491z00_953)
{ /* ./BackEnd/c-emit.scm 262 */
display_string(BGl_string4401z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 264 */
long BgL_arg3495z00_954;
BgL_arg3495z00_954 = 
CCNST(BgL_valuez00_5); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
BINT(BgL_arg3495z00_954), BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 265 */
obj_t BgL_auxz00_2136;
BgL_auxz00_2136 = 
BCHAR(((unsigned char)')')); 
return 
display_char(BgL_auxz00_2136, BGl_za2czd2portza2zd2zzbackend_c_emitz00);} }  else 
{ /* ./BackEnd/c-emit.scm 266 */
bool_t BgL_test3499z00_955;
BgL_test3499z00_955 = 
STRINGP(BgL_valuez00_5); 
if(BgL_test3499z00_955)
{ /* ./BackEnd/c-emit.scm 266 */
{ /* ./BackEnd/c-emit.scm 267 */
obj_t BgL_auxz00_2141;
BgL_auxz00_2141 = 
BCHAR(((unsigned char)'"')); 
display_char(BgL_auxz00_2141, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 268 */
obj_t BgL_arg3502z00_956;
{ /* ./BackEnd/c-emit.scm 268 */
obj_t BgL_arg3506z00_957;
BgL_arg3506z00_957 = 
string_for_read(BgL_valuez00_5); 
BgL_arg3502z00_956 = 
BGl_untrigraphz00zzbackend_c_emitz00(BgL_arg3506z00_957); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3502z00_956, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
{ /* ./BackEnd/c-emit.scm 269 */
obj_t BgL_auxz00_2147;
BgL_auxz00_2147 = 
BCHAR(((unsigned char)'"')); 
return 
display_char(BgL_auxz00_2147, BGl_za2czd2portza2zd2zzbackend_c_emitz00);} }  else 
{ /* ./BackEnd/c-emit.scm 270 */
bool_t BgL_test3510z00_958;
BgL_test3510z00_958 = 
INTEGERP(BgL_valuez00_5); 
if(BgL_test3510z00_958)
{ /* ./BackEnd/c-emit.scm 270 */
display_string(BGl_string4396z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 272 */
obj_t BgL_arg3513z00_959;
{ /* ./BackEnd/c-emit.scm 272 */
obj_t BgL_arg3517z00_960;
{ /* ./BackEnd/c-emit.scm 272 */
BgL_typez00_bglt BgL_obj1004z00_1653;
BgL_obj1004z00_1653 = 
(BgL_typez00_bglt)(BGl_za2longza2z00zztype_cachez00); 
BgL_arg3517z00_960 = 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_1653))->BgL_namez00); } 
BgL_arg3513z00_959 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_arg3517z00_960); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3513z00_959, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
display_string(BGl_string4395z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_valuez00_5, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
return 
display_string(BGl_string4395z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00);}  else 
{ /* ./BackEnd/c-emit.scm 276 */
bool_t BgL_test3523z00_961;
BgL_test3523z00_961 = 
REALP(BgL_valuez00_5); 
if(BgL_test3523z00_961)
{ /* ./BackEnd/c-emit.scm 276 */
display_string(BGl_string4396z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 278 */
obj_t BgL_arg3526z00_962;
{ /* ./BackEnd/c-emit.scm 278 */
obj_t BgL_arg3529z00_963;
{ /* ./BackEnd/c-emit.scm 278 */
BgL_typez00_bglt BgL_obj1004z00_1655;
BgL_obj1004z00_1655 = 
(BgL_typez00_bglt)(BGl_za2realza2z00zztype_cachez00); 
BgL_arg3529z00_963 = 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_1655))->BgL_namez00); } 
BgL_arg3526z00_962 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_arg3529z00_963); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3526z00_962, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
display_string(BGl_string4395z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_valuez00_5, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
return 
display_string(BGl_string4395z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00);}  else 
{ /* ./BackEnd/c-emit.scm 282 */
bool_t BgL_test3535z00_964;
BgL_test3535z00_964 = 
ELONGP(BgL_valuez00_5); 
if(BgL_test3535z00_964)
{ /* ./BackEnd/c-emit.scm 282 */
BgL_valuez00_966 = BgL_valuez00_5; 
BgL_macroz00_967 = "ELONG_TO_BELONG"; 
BgL_zc3anonymousza33550ze3z83_968:
{ /* ./BackEnd/c-emit.scm 216 */
obj_t BgL_dispz00_969;
BgL_dispz00_969 = 
open_output_string(); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_valuez00_966, BgL_dispz00_969); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BgL_macroz00_967), BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
display_string(BGl_string4394z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00); 
{ /* ./BackEnd/c-emit.scm 220 */
obj_t BgL_strz00_970;
BgL_strz00_970 = 
close_output_port(BgL_dispz00_969); 
{ /* ./BackEnd/c-emit.scm 221 */
obj_t BgL_arg3556z00_971;
{ /* ./BackEnd/c-emit.scm 221 */
int BgL_arg3560z00_973;
BgL_arg3560z00_973 = 
STRING_LENGTH(BgL_strz00_970); 
{ /* ./BackEnd/c-emit.scm 221 */
int BgL_startz00_1661;
BgL_startz00_1661 = 
(int)(((long)2)); 
BgL_arg3556z00_971 = 
c_substring(BgL_strz00_970, BgL_startz00_1661, BgL_arg3560z00_973); } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_arg3556z00_971, BGl_za2czd2portza2zd2zzbackend_c_emitz00); } 
return 
display_string(BGl_string4395z00zzbackend_c_emitz00, BGl_za2czd2portza2zd2zzbackend_c_emitz00);} } }  else 
{ /* ./BackEnd/c-emit.scm 284 */
bool_t BgL_test3537z00_965;
BgL_test3537z00_965 = 
LLONGP(BgL_valuez00_5); 
if(BgL_test3537z00_965)
{ /* ./BackEnd/c-emit.scm 284 */
{ 
char * BgL_macroz00_2186;obj_t BgL_valuez00_2185;
BgL_valuez00_2185 = BgL_valuez00_5; 
BgL_macroz00_2186 = "LLONG_TO_BLLONG"; 
BgL_macroz00_967 = BgL_macroz00_2186; 
BgL_valuez00_966 = BgL_valuez00_2185; 
goto BgL_zc3anonymousza33550ze3z83_968;} }  else 
{ /* ./BackEnd/c-emit.scm 284 */
return 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_valuez00_5, BGl_za2czd2portza2zd2zzbackend_c_emitz00);} } } } } } } } } } } } } 
}



/* _emit-atom-value */
obj_t BGl__emitzd2atomzd2valuez00zzbackend_c_emitz00(obj_t BgL_envz00_1797, obj_t BgL_valuez00_1798)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 214 */
return 
BGl_emitzd2atomzd2valuez00zzbackend_c_emitz00(BgL_valuez00_1798);} 
}



/* untrigraph */
BGL_EXPORTED_DEF obj_t BGl_untrigraphz00zzbackend_c_emitz00(obj_t BgL_fromz00_6)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 295 */
{ /* ./BackEnd/c-emit.scm 296 */
int BgL_lenz00_975;
BgL_lenz00_975 = 
STRING_LENGTH(BgL_fromz00_6); 
{ /* ./BackEnd/c-emit.scm 296 */
long BgL_lenzd22zd2_976;
{ /* ./BackEnd/c-emit.scm 297 */
long BgL_auxz00_2190;
BgL_auxz00_2190 = 
(long)(BgL_lenz00_975); 
BgL_lenzd22zd2_976 = 
(BgL_auxz00_2190-((long)2)); } 
{ /* ./BackEnd/c-emit.scm 297 */

{ /* ./BackEnd/c-emit.scm 299 */
long BgL_nbzd2colzd2_977;
{ 
long BgL_iz00_1013;long BgL_nbzd2colzd2_1014;
BgL_iz00_1013 = ((long)0); 
BgL_nbzd2colzd2_1014 = ((long)0); 
BgL_loopz00_1015:
if(
(BgL_iz00_1013>BgL_lenzd22zd2_976))
{ /* ./BackEnd/c-emit.scm 302 */
BgL_nbzd2colzd2_977 = BgL_nbzd2colzd2_1014; }  else 
{ /* ./BackEnd/c-emit.scm 304 */
bool_t BgL_testz00_2195;
{ /* ./BackEnd/c-emit.scm 304 */
unsigned char BgL_auxz00_2196;
{ /* ./BackEnd/c-emit.scm 304 */
int BgL_auxz00_2197;
BgL_auxz00_2197 = 
(int)(BgL_iz00_1013); 
BgL_auxz00_2196 = 
STRING_REF(BgL_fromz00_6, BgL_auxz00_2197); } 
BgL_testz00_2195 = 
(BgL_auxz00_2196==((unsigned char)'?')); } 
if(BgL_testz00_2195)
{ /* ./BackEnd/c-emit.scm 306 */
bool_t BgL_testz00_2201;
{ /* ./BackEnd/c-emit.scm 306 */
unsigned char BgL_auxz00_2202;
{ /* ./BackEnd/c-emit.scm 306 */
int BgL_auxz00_2203;
{ /* ./BackEnd/c-emit.scm 306 */
long BgL_auxz00_2204;
BgL_auxz00_2204 = 
(BgL_iz00_1013+((long)1)); 
BgL_auxz00_2203 = 
(int)(BgL_auxz00_2204); } 
BgL_auxz00_2202 = 
STRING_REF(BgL_fromz00_6, BgL_auxz00_2203); } 
BgL_testz00_2201 = 
(BgL_auxz00_2202==((unsigned char)'?')); } 
if(BgL_testz00_2201)
{ /* ./BackEnd/c-emit.scm 306 */
{ 
long BgL_nbzd2colzd2_2211;long BgL_iz00_2209;
BgL_iz00_2209 = 
(BgL_iz00_1013+((long)2)); 
BgL_nbzd2colzd2_2211 = 
(BgL_nbzd2colzd2_1014+((long)1)); 
BgL_nbzd2colzd2_1014 = BgL_nbzd2colzd2_2211; 
BgL_iz00_1013 = BgL_iz00_2209; 
goto BgL_loopz00_1015;} }  else 
{ /* ./BackEnd/c-emit.scm 306 */
{ 
long BgL_iz00_2213;
BgL_iz00_2213 = 
(BgL_iz00_1013+((long)2)); 
BgL_iz00_1013 = BgL_iz00_2213; 
goto BgL_loopz00_1015;} } }  else 
{ /* ./BackEnd/c-emit.scm 304 */
{ 
long BgL_iz00_2215;
BgL_iz00_2215 = 
(BgL_iz00_1013+((long)1)); 
BgL_iz00_1013 = BgL_iz00_2215; 
goto BgL_loopz00_1015;} } } } 
{ /* ./BackEnd/c-emit.scm 311 */
bool_t BgL_test3566z00_978;
BgL_test3566z00_978 = 
(BgL_nbzd2colzd2_977==((long)0)); 
if(BgL_test3566z00_978)
{ /* ./BackEnd/c-emit.scm 311 */
return BgL_fromz00_6;}  else 
{ /* ./BackEnd/c-emit.scm 316 */
obj_t BgL_resz00_979;
{ /* ./BackEnd/c-emit.scm 316 */
long BgL_arg3648z00_1008;
{ /* ./BackEnd/c-emit.scm 316 */
long BgL_auxz00_2221;long BgL_auxz00_2219;
{ /* ./BackEnd/c-emit.scm 316 */
long BgL_auxz00_2222;
BgL_auxz00_2222 = 
(BgL_nbzd2colzd2_977*((long)2)); 
BgL_auxz00_2221 = 
(((long)3)*BgL_auxz00_2222); } 
BgL_auxz00_2219 = 
(long)(BgL_lenz00_975); 
BgL_arg3648z00_1008 = 
(BgL_auxz00_2219+BgL_auxz00_2221); } 
{ /* ./BackEnd/c-emit.scm 316 */
obj_t BgL_res4223z00_1700;
{ /* ./BackEnd/c-emit.scm 316 */
int BgL_kz00_1694;
BgL_kz00_1694 = 
(int)(BgL_arg3648z00_1008); 
BgL_res4223z00_1700 = 
make_string(BgL_kz00_1694, ((unsigned char)' ')); } 
BgL_resz00_979 = BgL_res4223z00_1700; } } 
{ 
long BgL_rz00_981;long BgL_wz00_982;
BgL_rz00_981 = ((long)0); 
BgL_wz00_982 = ((long)0); 
BgL_loopz00_983:
{ /* ./BackEnd/c-emit.scm 321 */
bool_t BgL_test3568z00_984;
{ /* ./BackEnd/c-emit.scm 321 */
long BgL_auxz00_2228;
BgL_auxz00_2228 = 
(long)(BgL_lenz00_975); 
BgL_test3568z00_984 = 
(BgL_rz00_981==BgL_auxz00_2228); } 
if(BgL_test3568z00_984)
{ /* ./BackEnd/c-emit.scm 321 */
return BgL_resz00_979;}  else 
{ /* ./BackEnd/c-emit.scm 323 */
bool_t BgL_test3569z00_985;
{ /* ./BackEnd/c-emit.scm 323 */
bool_t BgL_testz00_2232;
{ /* ./BackEnd/c-emit.scm 323 */
unsigned char BgL_auxz00_2233;
{ /* ./BackEnd/c-emit.scm 323 */
int BgL_auxz00_2234;
BgL_auxz00_2234 = 
(int)(BgL_rz00_981); 
BgL_auxz00_2233 = 
STRING_REF(BgL_fromz00_6, BgL_auxz00_2234); } 
BgL_testz00_2232 = 
(BgL_auxz00_2233==((unsigned char)'?')); } 
if(BgL_testz00_2232)
{ /* ./BackEnd/c-emit.scm 323 */
BgL_test3569z00_985 = 
(BgL_rz00_981>BgL_lenzd22zd2_976); }  else 
{ /* ./BackEnd/c-emit.scm 323 */
BgL_test3569z00_985 = ((bool_t)1); } } 
if(BgL_test3569z00_985)
{ /* ./BackEnd/c-emit.scm 323 */
{ /* ./BackEnd/c-emit.scm 325 */
unsigned char BgL_arg3571z00_986;
{ /* ./BackEnd/c-emit.scm 325 */
int BgL_auxz00_2240;
BgL_auxz00_2240 = 
(int)(BgL_rz00_981); 
BgL_arg3571z00_986 = 
STRING_REF(BgL_fromz00_6, BgL_auxz00_2240); } 
{ /* ./BackEnd/c-emit.scm 325 */
int BgL_kz00_1714;
BgL_kz00_1714 = 
(int)(BgL_wz00_982); 
STRING_SET(BgL_resz00_979, BgL_kz00_1714, BgL_arg3571z00_986); } } 
{ /* ./BackEnd/c-emit.scm 326 */
long BgL_arg3575z00_987;long BgL_arg3576z00_988;
BgL_arg3575z00_987 = 
(BgL_rz00_981+((long)1)); 
BgL_arg3576z00_988 = 
(BgL_wz00_982+((long)1)); 
{ 
long BgL_wz00_2248;long BgL_rz00_2247;
BgL_rz00_2247 = BgL_arg3575z00_987; 
BgL_wz00_2248 = BgL_arg3576z00_988; 
BgL_wz00_982 = BgL_wz00_2248; 
BgL_rz00_981 = BgL_rz00_2247; 
goto BgL_loopz00_983;} } }  else 
{ /* ./BackEnd/c-emit.scm 327 */
bool_t BgL_test3580z00_989;
{ /* ./BackEnd/c-emit.scm 327 */
unsigned char BgL_auxz00_2249;
{ /* ./BackEnd/c-emit.scm 327 */
int BgL_auxz00_2250;
{ /* ./BackEnd/c-emit.scm 327 */
long BgL_auxz00_2251;
BgL_auxz00_2251 = 
(BgL_rz00_981+((long)1)); 
BgL_auxz00_2250 = 
(int)(BgL_auxz00_2251); } 
BgL_auxz00_2249 = 
STRING_REF(BgL_fromz00_6, BgL_auxz00_2250); } 
BgL_test3580z00_989 = 
(BgL_auxz00_2249==((unsigned char)'?')); } 
if(BgL_test3580z00_989)
{ /* ./BackEnd/c-emit.scm 327 */
{ /* ./BackEnd/c-emit.scm 333 */
int BgL_kz00_1727;
BgL_kz00_1727 = 
(int)(BgL_wz00_982); 
STRING_SET(BgL_resz00_979, BgL_kz00_1727, ((unsigned char)'\\')); } 
{ /* ./BackEnd/c-emit.scm 334 */
long BgL_arg3583z00_990;
BgL_arg3583z00_990 = 
(BgL_wz00_982+((long)1)); 
{ /* ./BackEnd/c-emit.scm 334 */
int BgL_kz00_1732;
BgL_kz00_1732 = 
(int)(BgL_arg3583z00_990); 
STRING_SET(BgL_resz00_979, BgL_kz00_1732, ((unsigned char)'0')); } } 
{ /* ./BackEnd/c-emit.scm 335 */
long BgL_arg3587z00_991;
BgL_arg3587z00_991 = 
(BgL_wz00_982+((long)2)); 
{ /* ./BackEnd/c-emit.scm 335 */
int BgL_kz00_1737;
BgL_kz00_1737 = 
(int)(BgL_arg3587z00_991); 
STRING_SET(BgL_resz00_979, BgL_kz00_1737, ((unsigned char)'7')); } } 
{ /* ./BackEnd/c-emit.scm 336 */
long BgL_arg3591z00_992;
BgL_arg3591z00_992 = 
(BgL_wz00_982+((long)3)); 
{ /* ./BackEnd/c-emit.scm 336 */
int BgL_kz00_1742;
BgL_kz00_1742 = 
(int)(BgL_arg3591z00_992); 
STRING_SET(BgL_resz00_979, BgL_kz00_1742, ((unsigned char)'7')); } } 
{ /* ./BackEnd/c-emit.scm 337 */
long BgL_arg3595z00_993;
BgL_arg3595z00_993 = 
(BgL_wz00_982+((long)4)); 
{ /* ./BackEnd/c-emit.scm 337 */
int BgL_kz00_1747;
BgL_kz00_1747 = 
(int)(BgL_arg3595z00_993); 
STRING_SET(BgL_resz00_979, BgL_kz00_1747, ((unsigned char)'\\')); } } 
{ /* ./BackEnd/c-emit.scm 338 */
long BgL_arg3599z00_994;
BgL_arg3599z00_994 = 
(BgL_wz00_982+((long)5)); 
{ /* ./BackEnd/c-emit.scm 338 */
int BgL_kz00_1752;
BgL_kz00_1752 = 
(int)(BgL_arg3599z00_994); 
STRING_SET(BgL_resz00_979, BgL_kz00_1752, ((unsigned char)'0')); } } 
{ /* ./BackEnd/c-emit.scm 339 */
long BgL_arg3604z00_995;
BgL_arg3604z00_995 = 
(BgL_wz00_982+((long)6)); 
{ /* ./BackEnd/c-emit.scm 339 */
int BgL_kz00_1757;
BgL_kz00_1757 = 
(int)(BgL_arg3604z00_995); 
STRING_SET(BgL_resz00_979, BgL_kz00_1757, ((unsigned char)'7')); } } 
{ /* ./BackEnd/c-emit.scm 340 */
long BgL_arg3608z00_996;
BgL_arg3608z00_996 = 
(BgL_wz00_982+((long)7)); 
{ /* ./BackEnd/c-emit.scm 340 */
int BgL_kz00_1762;
BgL_kz00_1762 = 
(int)(BgL_arg3608z00_996); 
STRING_SET(BgL_resz00_979, BgL_kz00_1762, ((unsigned char)'7')); } } 
{ /* ./BackEnd/c-emit.scm 341 */
long BgL_arg3612z00_997;long BgL_arg3613z00_998;
BgL_arg3612z00_997 = 
(BgL_rz00_981+((long)2)); 
BgL_arg3613z00_998 = 
(BgL_wz00_982+((long)8)); 
{ 
long BgL_wz00_2283;long BgL_rz00_2282;
BgL_rz00_2282 = BgL_arg3612z00_997; 
BgL_wz00_2283 = BgL_arg3613z00_998; 
BgL_wz00_982 = BgL_wz00_2283; 
BgL_rz00_981 = BgL_rz00_2282; 
goto BgL_loopz00_983;} } }  else 
{ /* ./BackEnd/c-emit.scm 327 */
{ /* ./BackEnd/c-emit.scm 328 */
int BgL_kz00_1769;
BgL_kz00_1769 = 
(int)(BgL_wz00_982); 
STRING_SET(BgL_resz00_979, BgL_kz00_1769, ((unsigned char)'?')); } 
{ /* ./BackEnd/c-emit.scm 329 */
long BgL_arg3619z00_999;unsigned char BgL_arg3620z00_1000;
BgL_arg3619z00_999 = 
(BgL_wz00_982+((long)1)); 
{ /* ./BackEnd/c-emit.scm 329 */
int BgL_auxz00_2287;
{ /* ./BackEnd/c-emit.scm 329 */
long BgL_auxz00_2288;
BgL_auxz00_2288 = 
(BgL_rz00_981+((long)1)); 
BgL_auxz00_2287 = 
(int)(BgL_auxz00_2288); } 
BgL_arg3620z00_1000 = 
STRING_REF(BgL_fromz00_6, BgL_auxz00_2287); } 
{ /* ./BackEnd/c-emit.scm 329 */
int BgL_kz00_1778;
BgL_kz00_1778 = 
(int)(BgL_arg3619z00_999); 
STRING_SET(BgL_resz00_979, BgL_kz00_1778, BgL_arg3620z00_1000); } } 
{ /* ./BackEnd/c-emit.scm 330 */
long BgL_arg3628z00_1002;long BgL_arg3629z00_1003;
BgL_arg3628z00_1002 = 
(BgL_rz00_981+((long)2)); 
BgL_arg3629z00_1003 = 
(BgL_wz00_982+((long)2)); 
{ 
long BgL_wz00_2297;long BgL_rz00_2296;
BgL_rz00_2296 = BgL_arg3628z00_1002; 
BgL_wz00_2297 = BgL_arg3629z00_1003; 
BgL_wz00_982 = BgL_wz00_2297; 
BgL_rz00_981 = BgL_rz00_2296; 
goto BgL_loopz00_983;} } } } } } } } } } } } } } 
}



/* _untrigraph4236 */
obj_t BGl__untrigraph4236z00zzbackend_c_emitz00(obj_t BgL_envz00_1799, obj_t BgL_fromz00_1800)
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 295 */
return 
BGl_untrigraphz00zzbackend_c_emitz00(BgL_fromz00_1800);} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzbackend_c_emitz00()
{ AN_OBJECT;
{ /* ./BackEnd/c-emit.scm 15 */
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zzengine_configurez00(((long)37635), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zztools_licensez00(((long)27689), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zzcgen_copz00(((long)5379), "backend_c_emit"); 
BGl_modulezd2initializa7ationz75zzcgen_emitzd2copzd2(((long)54156), "backend_c_emit"); 
return 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "backend_c_emit");} 
}

