#include "opendylan/run-time.h"

/* Generated by Open Dylan 2014.1 for x86_64-linux */

/* Typedefs for referenced classes */

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
  dylan_value incremental_gf_module_;
  dylan_value incremental_gf_domain_info_;
  dylan_value incremental_gf_method_libraries_;
  dylan_value incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLfunction_classGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value mm_wrapper_implementation_class_; \
    dylan_value mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    dylan_value mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  dylan_value wrapper;
  dylan_value mangler_;
  dylan_value lambda_stream_;
} _KLc_back_endGVdfmc_c_back_end;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
} _KLsealed_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
} _KLsimple_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
} _KLobject_signatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLempty_listGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value properties_;
  dylan_value engine_node_callback_;
  dylan_value engine_node_entry_point_;
} _KLabsent_engine_nodeGVKg;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(11);

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLpairGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
} _KLsignatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value PinstanceQ_iep_;
  dylan_value CinstanceQ_function_;
  dylan_value Cdebug_name_;
  dylan_value Craw_type_supertype_;
  dylan_value raw_type_descriptor_function_;
} _KLBraw_typeGVdfmc_modeling;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value PinstanceQ_iep_;
  dylan_value CinstanceQ_function_;
  dylan_value private_Cdebug_name_;
  dylan_value Cclass_implementation_class_;
  dylan_value Cclass_subtype_bit_;
  dylan_value Pclass_module_;
} _KLBclassGVdfmc_modeling;

typedef struct {
  dylan_value wrapper;
  dylan_value symbol_name_;
} _KLsymbolGVKd;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLc_back_endGVdfmc_c_back_end;
extern _KLmm_wrapperGVKi_0 KLc_back_endGVdfmc_c_back_endW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLsealed_generic_functionGVKe Kcurrent_back_endVdfmc_common;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLsealed_generic_functionGVKe Klocal_mangleVdfmc_back_end;
extern _KLsimple_methodGVKe Kraw_mangleVdfmc_back_end_protocolMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsealed_generic_functionGVKe Kglobal_mangleVdfmc_back_end;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLsealed_generic_functionGVKe Kraw_type_c_nameVdfmc_modeling;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLBraw_typeGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBraw_typeGVdfmc_modelingW;
extern _KLclassGVKd KLBclassGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBclassGVdfmc_modelingW;
dylan_value Kdylan_valueVdfmc_namespaceI (dylan_value);
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern dylan_value Ddylan_type_stringVdfmc_c_back_end;

/* Defined object declarations */

dylan_value Kc_raw_mangleVdfmc_c_back_endMM0I (dylan_value);
dylan_value Kc_local_mangleVdfmc_c_back_endMM0I (dylan_value);
extern _KLsimple_methodGVKe Kc_global_mangleVdfmc_c_back_endMM0;
dylan_value Kc_global_mangleVdfmc_c_back_endMM0I (dylan_value);
extern _KLsimple_methodGVKe Kc_local_mangleVdfmc_c_back_endMM0;
extern _KLsimple_methodGVKe Kc_raw_mangleVdfmc_c_back_endMM0;
extern _KLsealed_generic_functionGVKe Kc_type_nameVdfmc_c_back_end;
extern _KLsimple_methodGVKe Kc_type_nameVdfmc_c_back_endMM0;
dylan_value Kc_type_nameVdfmc_c_back_endMM0I (dylan_value);
extern _KLsimple_methodGVKe Kc_type_nameVdfmc_c_back_endMM1;
dylan_value Kc_type_nameVdfmc_c_back_endMM1I (dylan_value);
extern _KLsimple_methodGVKe Kc_type_nameVdfmc_c_back_endMM2;
dylan_value Kc_type_nameVdfmc_c_back_endMM2I (dylan_value);
static _KLpairGVKd K14;
static _KLpairGVKd K15;
static _KLpairGVKd K16;
static _KLbyte_stringGVKd_11 K17;
static _KLsignatureGVKe K18;
static _KLsimple_object_vectorGVKd_1 K19;
static _KLsignatureGVKe K20;
static _KLsimple_object_vectorGVKd_1 K21;
extern _KLsealed_generic_functionGVKe Kc_repeated_type_nameVdfmc_c_back_end;
extern _KLsimple_methodGVKe Kc_repeated_type_nameVdfmc_c_back_endMM0;
dylan_value Kc_repeated_type_nameVdfmc_c_back_endMM0I (dylan_value);
extern _KLsimple_methodGVKe Kc_repeated_type_nameVdfmc_c_back_endMM1;
dylan_value Kc_repeated_type_nameVdfmc_c_back_endMM1I (dylan_value);
static _KLpairGVKd K27;
static _KLpairGVKd K28;
static _KLbyte_stringGVKd_20 K29;
static _KLsymbolGVKd KJLbyte_characterG_;
static _KLbyte_stringGVKd_4 K31;
static _KLbyte_stringGVKd_16 K32;

/* Indirection variables */

static dylan_value IKJLbyte_characterG_ = &KJLbyte_characterG_;

/* Variables */

dylan_value c_repeated_type_nameVdfmc_c_back_end = &Kc_repeated_type_nameVdfmc_c_back_end;
dylan_value c_type_nameVdfmc_c_back_end = &Kc_type_nameVdfmc_c_back_end;
dylan_value c_raw_mangleVdfmc_c_back_end = &Kc_raw_mangleVdfmc_c_back_endMM0;
dylan_value c_local_mangleVdfmc_c_back_end = &Kc_local_mangleVdfmc_c_back_endMM0;
dylan_value c_global_mangleVdfmc_c_back_end = &Kc_global_mangleVdfmc_c_back_endMM0;
dylan_value Ddummy_c_back_endVdfmc_c_back_end = &KPunboundVKi;

/* Objects */

_KLsimple_methodGVKe Kc_global_mangleVdfmc_c_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kc_global_mangleVdfmc_c_back_endMM0I
};

_KLsimple_methodGVKe Kc_local_mangleVdfmc_c_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kc_local_mangleVdfmc_c_back_endMM0I
};

_KLsimple_methodGVKe Kc_raw_mangleVdfmc_c_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kc_raw_mangleVdfmc_c_back_endMM0I
};

_KLsealed_generic_functionGVKe Kc_type_nameVdfmc_c_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K17,
  &K14,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kc_type_nameVdfmc_c_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K20,
  &Kc_type_nameVdfmc_c_back_endMM0I
};

_KLsimple_methodGVKe Kc_type_nameVdfmc_c_back_endMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K18,
  &Kc_type_nameVdfmc_c_back_endMM1I
};

_KLsimple_methodGVKe Kc_type_nameVdfmc_c_back_endMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kc_type_nameVdfmc_c_back_endMM2I
};

static _KLpairGVKd K14 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_type_nameVdfmc_c_back_endMM0,
  &K15
};

static _KLpairGVKd K15 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_type_nameVdfmc_c_back_endMM1,
  &K16
};

static _KLpairGVKd K16 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_type_nameVdfmc_c_back_endMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_11 K17 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "c-type-name"
};

static _KLsignatureGVKe K18 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040197,
  &K19
};

static _KLsimple_object_vectorGVKd_1 K19 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLBraw_typeGVdfmc_modeling
};

static _KLsignatureGVKe K20 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040197,
  &K21
};

static _KLsimple_object_vectorGVKd_1 K21 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLBclassGVdfmc_modeling
};

_KLsealed_generic_functionGVKe Kc_repeated_type_nameVdfmc_c_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K29,
  &K27,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kc_repeated_type_nameVdfmc_c_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kc_repeated_type_nameVdfmc_c_back_endMM0I
};

_KLsimple_methodGVKe Kc_repeated_type_nameVdfmc_c_back_endMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K20,
  &Kc_repeated_type_nameVdfmc_c_back_endMM1I
};

static _KLpairGVKd K27 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_repeated_type_nameVdfmc_c_back_endMM0,
  &K28
};

static _KLpairGVKd K28 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_repeated_type_nameVdfmc_c_back_endMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K29 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "c-repeated-type-name"
};

static _KLsymbolGVKd KJLbyte_characterG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K32
};

static _KLbyte_stringGVKd_4 K31 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "char"
};

static _KLbyte_stringGVKd_16 K32 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "<byte-character>"
};

/* Code */

dylan_value Kc_raw_mangleVdfmc_c_back_endMM0I (dylan_value name_) {
  dylan_value Utmp_;
  dylan_value T3;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:18
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:19
  CONGRUENT_CALL_PROLOG(&Kcurrent_back_endVdfmc_common, 0);
  Utmp_ = CONGRUENT_CALL0();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:19
  if (Utmp_ != &KPfalseVKi) {
    T3 = Utmp_;
  } else {
    T3 = Ddummy_c_back_endVdfmc_c_back_end;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:19
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:19
  T4 = CALL2(&Kraw_mangleVdfmc_back_end_protocolMM0, T3, name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:18
  return(T4);
}

dylan_value Kc_local_mangleVdfmc_c_back_endMM0I (dylan_value name_) {
  dylan_value Utmp_;
  dylan_value T3;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:14
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:15
  CONGRUENT_CALL_PROLOG(&Kcurrent_back_endVdfmc_common, 0);
  Utmp_ = CONGRUENT_CALL0();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:15
  if (Utmp_ != &KPfalseVKi) {
    T3 = Utmp_;
  } else {
    T3 = Ddummy_c_back_endVdfmc_c_back_end;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:15
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:15
  T4 = CALL2(&Klocal_mangleVdfmc_back_end, T3, name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:14
  return(T4);
}

dylan_value Kc_global_mangleVdfmc_c_back_endMM0I (dylan_value name_) {
  dylan_value Utmp_;
  dylan_value T3;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:10
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:11
  CONGRUENT_CALL_PROLOG(&Kcurrent_back_endVdfmc_common, 0);
  Utmp_ = CONGRUENT_CALL0();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:11
  if (Utmp_ != &KPfalseVKi) {
    T3 = Utmp_;
  } else {
    T3 = Ddummy_c_back_endVdfmc_c_back_end;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:11
  T4 = CALL2(&Kglobal_mangleVdfmc_back_end, T3, name_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:10
  return(T4);
}

dylan_value Kc_type_nameVdfmc_c_back_endMM0I (dylan_value o_) {
  dylan_value T2;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:22
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:23
  T2 = Ddylan_type_stringVdfmc_c_back_end;
  MV_SET_ELT(0, Ddylan_type_stringVdfmc_c_back_end);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:22
  return(T2);
}

dylan_value Kc_type_nameVdfmc_c_back_endMM1I (dylan_value o_) {
  dylan_value T2;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:26
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:27
  CONGRUENT_CALL_PROLOG(&Kraw_type_c_nameVdfmc_modeling, 1);
  T2 = CONGRUENT_CALL1(o_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:26
  return(T2);
}

dylan_value Kc_type_nameVdfmc_c_back_endMM2I (dylan_value o_) {
  dylan_value T2;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:44
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:45
  T2 = Ddylan_type_stringVdfmc_c_back_end;
  MV_SET_ELT(0, Ddylan_type_stringVdfmc_c_back_end);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:44
  return(T2);
}

dylan_value Kc_repeated_type_nameVdfmc_c_back_endMM0I (dylan_value o_) {
  dylan_value T2;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:30
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:31
  CONGRUENT_CALL_PROLOG(&Kc_type_nameVdfmc_c_back_end, 1);
  T2 = CONGRUENT_CALL1(o_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:30
  return(T2);
}

dylan_value Kc_repeated_type_nameVdfmc_c_back_endMM1I (dylan_value o_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:34
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:35
  T2 = Kdylan_valueVdfmc_namespaceI(IKJLbyte_characterG_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:35
  T5 = primitive_idQ(o_,T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:35
  if (T5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:36
    T3 = &K31;
    MV_SET_ELT(0, &K31);
    MV_SET_COUNT(1);
    T4 = T3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:38
    T6 = Kc_type_nameVdfmc_c_back_endMM0I(o_);
    T4 = T6;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:35
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:34
  return(T4);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_c_back_end__X_c_mangle_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLbyte_characterG_);
    if (T0 != &KJLbyte_characterG_) {
      IKJLbyte_characterG_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_c_back_end__X_c_mangle_for_user () {
{
  dylan_value T0;
  dylan_value T1;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:8
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLc_back_endGVdfmc_c_back_end, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:8
  Ddummy_c_back_endVdfmc_c_back_end = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-back-end/c-mangle.dylan:8
  T1 = &KPfalseVKi;
  goto I0;
}
I0:

  return;
}


/* eof */
