#include "run-time.h"

/* Typedefs for referenced classes */

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

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

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    D vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(0);

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

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

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

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(7);

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

typedef struct {
  D wrapper;
  D virtual_register_id_;
  D virtual_register_name_;
  D virtual_register_named_indirections_;
  D virtual_register_colour_;
  D virtual_register_available_colours_;
  D virtual_register_clash_start_;
  D virtual_register_colour_pref_;
  D virtual_register_spill_set_;
  D virtual_register_clash_count_;
  D virtual_register_virtual_pref_;
  D virtual_register_vreg_state_;
} _KLgregGYharp_registersVharp;

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

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

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  D wrapper;
} _KLregisterGYharp_registersVharp;

typedef struct {
  D wrapper;
  D mangler_;
  D cg_variables_;
  D registers_;
  D variables_;
} _KLharp_back_endGYbase_harpVharp;

typedef struct {
  D wrapper;
  D virtual_register_id_;
  D virtual_register_name_;
  D virtual_register_named_indirections_;
  D virtual_register_colour_;
  D virtual_register_available_colours_;
  D virtual_register_clash_start_;
  D virtual_register_colour_pref_;
  D virtual_register_spill_set_;
  D virtual_register_clash_count_;
  D virtual_register_virtual_pref_;
  D virtual_register_vreg_state_;
} _KLvirtual_registerGYharp_registersVharp;

typedef struct {
  D wrapper;
} _KLintegerGVKd;

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

typedef struct {
  D wrapper;
  D tag_no_;
  D tag_bb_;
  D tag_variables_;
} _KLtagGYbase_harpVharp;

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

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

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D type_error_value_;
  D type_error_expected_type_;
} _KLtype_errorGVKd;

typedef struct {
  D wrapper;
} _KLbyte_characterGVKe;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
  D iep_;
  D keyword_specifiers_;
} _KLkeyword_methodGVKe;

typedef struct {
  D wrapper;
  D namespace_name_;
  D home_library_;
} _KLmoduleGVKe;

typedef struct {
  D wrapper;
  D virtual_register_id_;
  D virtual_register_name_;
  D virtual_register_named_indirections_;
  D virtual_register_colour_;
  D virtual_register_available_colours_;
  D virtual_register_clash_start_;
  D virtual_register_colour_pref_;
  D virtual_register_spill_set_;
  D virtual_register_clash_count_;
  D virtual_register_virtual_pref_;
  D virtual_register_vreg_state_;
} _KLnregGYharp_registersVharp;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
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;
D Kmake_n_registerYbase_harpVharpMM0I (D, D, D, D);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
D Kins__addYharp_instructionsVharpMM0I (D, D, D, D);
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
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;
D Kmake_registerYbase_harpVharpMM0I (D, D, D, D, D);
extern _KLclassGVKd KLgregGYharp_registersVharp;
extern _KLmm_wrapperGVKi_0 KLgregGYharp_registersVharpW;
extern _KLsimple_methodGVKe Kins__aslYnative_instructionsVharp_nativeMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLregisterGYharp_registersVharp;
extern _KLmm_wrapperGVKi_0 KLregisterGYharp_registersVharpW;
extern _KLclassGVKd KLharp_back_endGYbase_harpVharp;
extern _KLmm_wrapperGVKi_0 KLharp_back_endGYbase_harpVharpW;
extern _KLclassGVKd KLvirtual_registerGYharp_registersVharp;
extern _KLmm_wrapperGVKi_0 KLvirtual_registerGYharp_registersVharpW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LintegerG_typesVKi;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_4VKi;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
D Kmake_df_registerYbase_harpVharpMM0I (D, D, D, D);
extern _KLsimple_methodGVKe Kins__dldYnative_instructionsVharp_nativeMM0;
D Kmake_sf_registerYbase_harpVharpMM0I (D, D, D, D);
extern _KLsimple_methodGVKe Kins__fldYnative_instructionsVharp_nativeMM0;
D Kmake_g_registerYbase_harpVharpMM0I (D, D, D, D);
extern _KLsimple_methodGVKe Kins__orYnative_instructionsVharp_nativeMM0;
D KgethashVKiI (D, D, D, D);
extern _KLclassGVKd KLtagGYbase_harpVharp;
extern _KLmm_wrapperGVKi_0 KLtagGYbase_harpVharpW;
extern _KLincremental_generic_functionGVKe Kmake_tagYbase_harpVharp;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLsymbolGVKd KJvalue_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLsymbolGVKd KJtype_;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLclassGVKd KLtype_errorGVKd;
extern _KLmm_wrapperGVKi_0 KLtype_errorGVKdW;
extern _KLsealed_generic_functionGVKe KerrorVKd;
D KputhashVKiI (D, D, D);
extern _KLincremental_generic_functionGVKe Kteb_mv_area_offsetYthread_environmentVharp_native;
extern _KLsimple_methodGVKe Kins__ld_teb_addressYnative_instructionsVharp_nativeMM0;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
D Kins__moveYharp_instructionsVharpMM0I (D, D, D);
extern _KLclassGVKd KLbyte_characterGVKe;
extern _KLmm_wrapperGVKi_0 KLbyte_characterGVKeW;
extern _KLincremental_generic_functionGVKe KasVKd;
D Kruntime_referenceVdfmc_harp_cgI (D);
extern _KLkeyword_methodGVKe Kins__callYnative_instructionsVharp_nativeMM0;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLsimple_methodGVKe Kins__control_flow_linkYnative_instructionsVharp_nativeMM0;
D Kins__braYharp_instructionsVharpMM0I (D, D);
D Kins__remYharp_instructionsVharpMM0I (D, D);
extern _KLsimple_methodGVKe Kins__load_nlx_addressYnative_instructionsVharp_nativeMM0;
extern _KLsealed_generic_functionGVKe Kemit_objectVdfmc_back_end;
D Kbind_exit_frameQ_setterYharp_varsVharpMM1I (D, D);
extern _KLsimple_methodGVKe Kins__force_dYnative_instructionsVharp_nativeMM0;
extern _KLsimple_methodGVKe Kteb_mv_count_offsetYthread_environmentVharp_nativeMM0;
extern _KLsimple_methodGVKe Kins__ld_tebYnative_instructionsVharp_nativeMM0;
extern _KLsimple_methodGVKe Kins__asrYnative_instructionsVharp_nativeMM0;
extern _KLmoduleGVKe Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLsimple_methodGVKe Kins__ldYnative_instructionsVharp_nativeMM0;
extern _KLsimple_methodGVKe Kins__stYnative_instructionsVharp_nativeMM0;
extern _KLclassGVKd KLnregGYharp_registersVharp;
extern _KLmm_wrapperGVKi_0 KLnregGYharp_registersVharpW;
extern _KLsimple_methodGVKe Kins__st_tebYnative_instructionsVharp_nativeMM0;
extern D Dprimitive_unwind_protect_cleanupVdfmc_harp_cg;
extern D Tharp_outputterTVdfmc_harp_cg;
extern D Dprimitive_build_unwind_protect_frameVdfmc_harp_cg;
extern D Dprimitive_build_bind_exit_frameVdfmc_harp_cg;

/* Defined object declarations */

D KbytesPVdfmc_harp_cgMM0I (D, D);
D Kins__storeVdfmc_harp_cgMM0I (D, D, D, D);
D Kins__loadVdfmc_harp_cgMM0I (D, D, D, D);
extern _KLsealed_generic_functionGVKe KbytesPVdfmc_harp_cg;
extern _KLincremental_generic_functionGVKe Kop__store_multiple_values_countVdfmc_harp_cg;
D Kop__rawVdfmc_harp_cgMM0I (D, D, D);
D Kop__ld_mv_countVdfmc_harp_cgMM0I (D);
D KbytesPVdfmc_harp_cgMM1I (D, D);
extern _KLsealed_generic_functionGVKe Kop__integerVdfmc_harp_cg;
D Kop__start_bind_exitVdfmc_harp_cgMM0I (D, D, D);
D Kop__start_unwind_protectVdfmc_harp_cgMM0I (D, D, D);
D Kop__unwind_protect_cleanupVdfmc_harp_cgMM0I (D, D, D, D);
extern _KLsealed_generic_functionGVKe Kop__rawVdfmc_harp_cg;
D Kop__ld_mv_area_addressVdfmc_harp_cgMM0I (D);
D Kop__integerVdfmc_harp_cgMM1I (D, D, D);
extern _KLsimple_methodGVKe Kop__tagVdfmc_harp_cgMM0;
D Kop__tagVdfmc_harp_cgMM0I (D, D);
D Kop__integerVdfmc_harp_cgMM0I (D, D, D);
extern _KLsimple_methodGVKe Kop__characterVdfmc_harp_cgMM0;
D Kop__characterVdfmc_harp_cgMM0I (D, D, D);
extern _KLsimple_methodGVKe Kop__unicode_characterVdfmc_harp_cgMM0;
D Kop__unicode_characterVdfmc_harp_cgMM0I (D, D, D);
extern _KLsimple_methodGVKe Kop__as_rawVdfmc_harp_cgMM0;
D Kop__as_rawVdfmc_harp_cgMM0I (D, D, D);
extern _KLsimple_methodGVKe Kop__sf_as_rawVdfmc_harp_cgMM0;
D Kop__sf_as_rawVdfmc_harp_cgMM0I (D, D, D);
extern _KLsimple_methodGVKe Kop__df_as_rawVdfmc_harp_cgMM0;
D Kop__df_as_rawVdfmc_harp_cgMM0I (D, D, D);
extern _KLsealed_generic_functionGVKe Kop__addVdfmc_harp_cg;
extern _KLsealed_generic_functionGVKe KhalfPVdfmc_harp_cg;
extern _KLsealed_generic_functionGVKe KdoublePVdfmc_harp_cg;
D Kop__slotsVdfmc_harp_cgMM0I (D, D);
extern _KLsimple_methodGVKe KdoublePVdfmc_harp_cgMM0;
D KdoublePVdfmc_harp_cgMM0I (D, D);
extern _KLsimple_methodGVKe KdoublePVdfmc_harp_cgMM1;
D KdoublePVdfmc_harp_cgMM1I (D, D);
static _KLpairGVKd K36;
static _KLpairGVKd K37;
static _KLbyte_stringGVKd_7 K38;
static _KLsignatureAvaluesGVKi K39;
static _KLsimple_object_vectorGVKd_2 K40;
static _KLsimple_object_vectorGVKd_1 K41;
static _KLsignatureAvaluesGVKi K42;
static _KLsimple_object_vectorGVKd_2 K43;
extern _KLsimple_methodGVKe KhalfPVdfmc_harp_cgMM0;
D KhalfPVdfmc_harp_cgMM0I (D, D);
extern _KLsimple_methodGVKe KhalfPVdfmc_harp_cgMM1;
D KhalfPVdfmc_harp_cgMM1I (D, D);
static _KLpairGVKd K48;
static _KLpairGVKd K49;
static _KLbyte_stringGVKd_5 K50;
extern _KLsimple_methodGVKe Kop__addVdfmc_harp_cgMM0;
D Kop__addVdfmc_harp_cgMM0I (D, D, D, D);
extern _KLsimple_methodGVKe Kop__addVdfmc_harp_cgMM1;
D Kop__addVdfmc_harp_cgMM1I (D, D, D, D);
static _KLpairGVKd K55;
static _KLpairGVKd K56;
static _KLbyte_stringGVKd_7 K57;
static _KLsignatureAvaluesGVKi K58;
static _KLsimple_object_vectorGVKd_4 K59;
static _KLsignatureGVKe K60;
static _KLsimple_object_vectorGVKd_4 K61;
static _KLsignatureGVKe K62;
static _KLsimple_object_vectorGVKd_3 K63;
static _KLsignatureAvaluesGVKi K64;
static _KLsimple_object_vectorGVKd_1 K65;
extern _KLsimple_methodGVKe Kop__rawVdfmc_harp_cgMM0;
extern _KLsimple_methodGVKe Kop__rawVdfmc_harp_cgMM1;
D Kop__rawVdfmc_harp_cgMM1I (D, D, D);
extern _KLsimple_methodGVKe Kop__rawVdfmc_harp_cgMM2;
D Kop__rawVdfmc_harp_cgMM2I (D, D, D);
static _KLpairGVKd K71;
static _KLpairGVKd K72;
static _KLpairGVKd K73;
static _KLbyte_stringGVKd_7 K74;
static _KLsignatureAvaluesGVKi K75;
static _KLsimple_object_vectorGVKd_3 K76;
static _KLsignatureAvaluesGVKi K77;
static _KLsimple_object_vectorGVKd_3 K78;
static _KLbyte_stringGVKd_20 K79;
static _KLbyte_stringGVKd_15 K80;
extern _KLsimple_methodGVKe Kop__integerVdfmc_harp_cgMM0;
extern _KLsimple_methodGVKe Kop__integerVdfmc_harp_cgMM1;
static _KLpairGVKd K83;
static _KLpairGVKd K84;
static _KLbyte_stringGVKd_11 K85;
static _KLsignatureGVKe K86;
static _KLbyte_stringGVKd_31 K87;
static _KLsimple_object_vectorGVKd_2 K88;
extern _KLsimple_methodGVKe KbytesPVdfmc_harp_cgMM0;
extern _KLsimple_methodGVKe KbytesPVdfmc_harp_cgMM1;
static _KLpairGVKd K91;
static _KLpairGVKd K92;
static _KLbyte_stringGVKd_6 K93;
extern _KLsimple_methodGVKe Kop__ld_mv_countVdfmc_harp_cgMM0;
static _KLsignatureAvaluesGVKi K95;
static _KLsimple_object_vectorGVKd_1 K96;
static _KLsimple_object_vectorGVKd_1 K97;
extern _KLsimple_methodGVKe Kop__st_mv_countVdfmc_harp_cgMM0;
D Kop__st_mv_countVdfmc_harp_cgMM0I (D, D);

/* Indirection variables */


/* Variables */

D op__st_mv_countVdfmc_harp_cg = &Kop__st_mv_countVdfmc_harp_cgMM0;
D op__ld_mv_countVdfmc_harp_cg = &Kop__ld_mv_countVdfmc_harp_cgMM0;
D op__addVdfmc_harp_cg = &Kop__addVdfmc_harp_cg;
D op__df_as_rawVdfmc_harp_cg = &Kop__df_as_rawVdfmc_harp_cgMM0;
D op__sf_as_rawVdfmc_harp_cg = &Kop__sf_as_rawVdfmc_harp_cgMM0;
D op__as_rawVdfmc_harp_cg = &Kop__as_rawVdfmc_harp_cgMM0;
D op__integerVdfmc_harp_cg = &Kop__integerVdfmc_harp_cg;
D op__unicode_characterVdfmc_harp_cg = &Kop__unicode_characterVdfmc_harp_cgMM0;
D op__characterVdfmc_harp_cg = &Kop__characterVdfmc_harp_cgMM0;
D op__rawVdfmc_harp_cg = &Kop__rawVdfmc_harp_cg;
D doublePVdfmc_harp_cg = &KdoublePVdfmc_harp_cg;
D halfPVdfmc_harp_cg = &KhalfPVdfmc_harp_cg;
D bytesPVdfmc_harp_cg = &KbytesPVdfmc_harp_cg;
D op__tagVdfmc_harp_cg = &Kop__tagVdfmc_harp_cgMM0;
D op__store_multiple_values_countVdfmc_harp_cg = &Kop__store_multiple_values_countVdfmc_harp_cg;

/* Objects */

_KLsealed_generic_functionGVKe KbytesPVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 5,
  &K93,
  &K91,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLincremental_generic_functionGVKe Kop__store_multiple_values_countVdfmc_harp_cg = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K86,
  (D) 1,
  &K87,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 25
};

_KLsealed_generic_functionGVKe Kop__integerVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 5,
  &K85,
  &K83,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kop__rawVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 5,
  &K74,
  &K71,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kop__tagVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K64,
  &Kop__tagVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__characterVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K62,
  &Kop__characterVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__unicode_characterVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K62,
  &Kop__unicode_characterVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__as_rawVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K62,
  &Kop__as_rawVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__sf_as_rawVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K62,
  &Kop__sf_as_rawVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__df_as_rawVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K62,
  &Kop__df_as_rawVdfmc_harp_cgMM0I
};

_KLsealed_generic_functionGVKe Kop__addVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_4,
  &KDsignature_LobjectG_object_rest_value_4VKi,
  (D) 5,
  &K57,
  &K55,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe KhalfPVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 5,
  &K50,
  &K48,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe KdoublePVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 5,
  &K38,
  &K36,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe KdoublePVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K42,
  &KdoublePVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe KdoublePVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K39,
  &KdoublePVdfmc_harp_cgMM1I
};

static _KLpairGVKd K36 = {
  &KLpairGVKdW /* wrapper */,
  &KdoublePVdfmc_harp_cgMM0,
  &K37
};

static _KLpairGVKd K37 = {
  &KLpairGVKdW /* wrapper */,
  &KdoublePVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_7 K38 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "double%"
};

static _KLsignatureAvaluesGVKi K39 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K40,
  &K41
};

static _KLsimple_object_vectorGVKd_2 K40 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLharp_back_endGYbase_harpVharp,
  &KLvirtual_registerGYharp_registersVharp
};

static _KLsimple_object_vectorGVKd_1 K41 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLregisterGYharp_registersVharp
};

static _KLsignatureAvaluesGVKi K42 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K43,
  &KDsignature_LintegerG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K43 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLharp_back_endGYbase_harpVharp,
  &KLintegerGVKd
};

_KLsimple_methodGVKe KhalfPVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K42,
  &KhalfPVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe KhalfPVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K39,
  &KhalfPVdfmc_harp_cgMM1I
};

static _KLpairGVKd K48 = {
  &KLpairGVKdW /* wrapper */,
  &KhalfPVdfmc_harp_cgMM0,
  &K49
};

static _KLpairGVKd K49 = {
  &KLpairGVKdW /* wrapper */,
  &KhalfPVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_5 K50 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "half%"
};

_KLsimple_methodGVKe Kop__addVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K60,
  &Kop__addVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__addVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K58,
  &Kop__addVdfmc_harp_cgMM1I
};

static _KLpairGVKd K55 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__addVdfmc_harp_cgMM0,
  &K56
};

static _KLpairGVKd K56 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__addVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_7 K57 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "op--add"
};

static _KLsignatureAvaluesGVKi K58 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555473,
  &K59,
  &KDsignature_LintegerG_typesVKi
};

static _KLsimple_object_vectorGVKd_4 K59 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KLharp_back_endGYbase_harpVharp,
  &KLobjectGVKd,
  &KLintegerGVKd,
  &KLintegerGVKd
};

static _KLsignatureGVKe K60 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944081,
  &K61
};

static _KLsimple_object_vectorGVKd_4 K61 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KLharp_back_endGYbase_harpVharp,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &KLobjectGVKd
};

static _KLsignatureGVKe K62 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944077,
  &K63
};

static _KLsimple_object_vectorGVKd_3 K63 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLharp_back_endGYbase_harpVharp,
  &KLobjectGVKd,
  &KLobjectGVKd
};

static _KLsignatureAvaluesGVKi K64 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K43,
  &K65
};

static _KLsimple_object_vectorGVKd_1 K65 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLtagGYbase_harpVharp
};

_KLsimple_methodGVKe Kop__rawVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K62,
  &Kop__rawVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__rawVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K77,
  &Kop__rawVdfmc_harp_cgMM1I
};

_KLsimple_methodGVKe Kop__rawVdfmc_harp_cgMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K75,
  &Kop__rawVdfmc_harp_cgMM2I
};

static _KLpairGVKd K71 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__rawVdfmc_harp_cgMM0,
  &K72
};

static _KLpairGVKd K72 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__rawVdfmc_harp_cgMM1,
  &K73
};

static _KLpairGVKd K73 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__rawVdfmc_harp_cgMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_7 K74 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "op--raw"
};

static _KLsignatureAvaluesGVKi K75 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K76,
  &KDsignature_LintegerG_typesVKi
};

static _KLsimple_object_vectorGVKd_3 K76 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLharp_back_endGYbase_harpVharp,
  &KLobjectGVKd,
  &KLbyte_characterGVKe
};

static _KLsignatureAvaluesGVKi K77 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K78,
  &KDsignature_LintegerG_typesVKi
};

static _KLsimple_object_vectorGVKd_3 K78 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLharp_back_endGYbase_harpVharp,
  &KLobjectGVKd,
  &KLintegerGVKd
};

static _KLbyte_stringGVKd_20 K79 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "start unwind protect"
};

static _KLbyte_stringGVKd_15 K80 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "start bind exit"
};

_KLsimple_methodGVKe Kop__integerVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K62,
  &Kop__integerVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kop__integerVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K77,
  &Kop__integerVdfmc_harp_cgMM1I
};

static _KLpairGVKd K83 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__integerVdfmc_harp_cgMM0,
  &K84
};

static _KLpairGVKd K84 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__integerVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_11 K85 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "op--integer"
};

static _KLsignatureGVKe K86 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943049,
  &K88
};

static _KLbyte_stringGVKd_31 K87 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 125,
  "op--store-multiple-values-count"
};

static _KLsimple_object_vectorGVKd_2 K88 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLharp_back_endGYbase_harpVharp,
  &KLobjectGVKd
};

_KLsimple_methodGVKe KbytesPVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K42,
  &KbytesPVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe KbytesPVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K39,
  &KbytesPVdfmc_harp_cgMM1I
};

static _KLpairGVKd K91 = {
  &KLpairGVKdW /* wrapper */,
  &KbytesPVdfmc_harp_cgMM0,
  &K92
};

static _KLpairGVKd K92 = {
  &KLpairGVKdW /* wrapper */,
  &KbytesPVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_6 K93 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "bytes%"
};

_KLsimple_methodGVKe Kop__ld_mv_countVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K95,
  &Kop__ld_mv_countVdfmc_harp_cgMM0I
};

static _KLsignatureAvaluesGVKi K95 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K96,
  &K97
};

static _KLsimple_object_vectorGVKd_1 K96 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLharp_back_endGYbase_harpVharp
};

static _KLsimple_object_vectorGVKd_1 K97 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLnregGYharp_registersVharp
};

_KLsimple_methodGVKe Kop__st_mv_countVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K86,
  &Kop__st_mv_countVdfmc_harp_cgMM0I
};

/* Code */

D KbytesPVdfmc_harp_cgMM0I (D back_end_, D word_) {
  DWORD T3;
  DWORD T4;
  DWORD T5;
  DWORD T6;
  D T7;
  D T8_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:81
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:82
  T3 = primitive_cast_integer_as_raw(word_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:82
  T4 = primitive_machine_word_shift_right(T3,2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:82
  T5 = primitive_machine_word_multiply_signal_overflow(16,T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:82
  T6 = primitive_machine_word_logior(T5,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:82
  T7 = primitive_cast_raw_as_integer(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:82
  T8_0 = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:81
  MV_SET_COUNT(1);
  return(T8_0);
}

D Kins__storeVdfmc_harp_cgMM0I (D back_end_, D val_, D s1_, D s2_) {
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:16
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:17
  T5 = CALL4(&Kins__stYnative_instructionsVharp_nativeMM0, back_end_, val_, s1_, s2_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:16
  MV_SET_COUNT(0);
  return(T5);
}

D Kins__loadVdfmc_harp_cgMM0I (D back_end_, D dregister_, D s1_, D s2_) {
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:12
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:13
  T5 = CALL4(&Kins__ldYnative_instructionsVharp_nativeMM0, back_end_, dregister_, s1_, s2_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:12
  MV_SET_COUNT(0);
  return(T5);
}

D Kop__rawVdfmc_harp_cgMM0I (D back_end_, D result_, D object_) {
  D T4;
  D resultF5;
  D T6_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:111
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:113
  if (result_ != &KPfalseVKi) {
    resultF5 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:113
    T4 = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:113
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:115
  CALL4(&Kins__asrYnative_instructionsVharp_nativeMM0, back_end_, resultF5, object_, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:117
  T6_0 = resultF5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:111
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__ld_mv_countVdfmc_harp_cgMM0I (D back_end_) {
  D count_;
  D T3;
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:243
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:245
  count_ = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:246
  T3 = CALL1(&Kteb_mv_count_offsetYthread_environmentVharp_nativeMM0, back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:246
  CALL3(&Kins__ld_tebYnative_instructionsVharp_nativeMM0, back_end_, count_, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:247
  T4_0 = count_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:243
  MV_SET_COUNT(1);
  return(T4_0);
}

D KbytesPVdfmc_harp_cgMM1I (D back_end_, D word_) {
  D T3_0;
  D new_register_;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:85
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:86
  new_register_ = Kmake_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KLgregGYharp_registersVharp, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:87
  CALL4(&Kins__aslYnative_instructionsVharp_nativeMM0, back_end_, new_register_, word_, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:88
  T3_0 = new_register_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:85
  MV_SET_COUNT(1);
  return(T3_0);
}

D Kop__start_bind_exitVdfmc_harp_cgMM0I (D back_end_, D c_, D tag_) {
  D be_ref_;
  D T5;
  D bind_exit_frame_;
  D T7_0;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:35
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:37
  be_ref_ = Kruntime_referenceVdfmc_harp_cgI(Dprimitive_build_bind_exit_frameVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:39
  Kbind_exit_frameQ_setterYharp_varsVharpMM1I(&KPtrueVKi, back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:40
  Kins__remYharp_instructionsVharpMM0I(back_end_, &K80);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:41
  T5 = primitive_read_thread_variable(Tharp_outputterTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:41
  T8 = SLOT_VALUE_INITD(c_, 7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:41
  CONGRUENT_CALL_PROLOG(&Kemit_objectVdfmc_back_end, 3);
  bind_exit_frame_ = CONGRUENT_CALL3(back_end_, T5, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:42
  CALL2(&Kins__force_dYnative_instructionsVharp_nativeMM0, back_end_, bind_exit_frame_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:43
  T9 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:43
  T10 = SLOT_VALUE_INITD(T9, 11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:43
  CALL3(&Kins__load_nlx_addressYnative_instructionsVharp_nativeMM0, back_end_, T10, tag_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:44
  CALL3(&Kins__callYnative_instructionsVharp_nativeMM0, back_end_, be_ref_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:45
  T11 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:45
  T12 = SLOT_VALUE_INITD(T11, 11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:45
  Kins__moveYharp_instructionsVharpMM0I(back_end_, bind_exit_frame_, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:46
  T7_0 = bind_exit_frame_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:35
  MV_SET_COUNT(1);
  return(T7_0);
}

D Kop__start_unwind_protectVdfmc_harp_cgMM0I (D back_end_, D c_, D cleanup_tag_) {
  D up_ref_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:49
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:51
  up_ref_ = Kruntime_referenceVdfmc_harp_cgI(Dprimitive_build_unwind_protect_frameVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:53
  Kins__remYharp_instructionsVharpMM0I(back_end_, &K79);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:54
  T8 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:54
  T9 = SLOT_VALUE_INITD(T8, 11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:54
  CALL3(&Kins__load_nlx_addressYnative_instructionsVharp_nativeMM0, back_end_, T9, cleanup_tag_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:55
  CALL3(&Kins__callYnative_instructionsVharp_nativeMM0, back_end_, up_ref_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:56
  T5 = primitive_read_thread_variable(Tharp_outputterTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:56
  T10 = SLOT_VALUE_INITD(c_, 7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:56
  CONGRUENT_CALL_PROLOG(&Kemit_objectVdfmc_back_end, 3);
  T6 = CONGRUENT_CALL3(back_end_, T5, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:56
  T11 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:56
  T12 = SLOT_VALUE_INITD(T11, 11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:56
  T7 = Kins__moveYharp_instructionsVharpMM0I(back_end_, T6, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:49
  MV_SET_COUNT(0);
  return(T7);
}

D Kop__unwind_protect_cleanupVdfmc_harp_cgMM0I (D back_end_, D c_, D cleanup_tag_, D continue_tag_) {
  D up_ref_;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:59
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:61
  up_ref_ = Kruntime_referenceVdfmc_harp_cgI(Dprimitive_unwind_protect_cleanupVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:63
  CALL3(&Kins__callYnative_instructionsVharp_nativeMM0, back_end_, up_ref_, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:64
  CALL2(&Kins__control_flow_linkYnative_instructionsVharp_nativeMM0, back_end_, cleanup_tag_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:65
  T6 = Kins__braYharp_instructionsVharpMM0I(back_end_, continue_tag_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:59
  MV_SET_COUNT(0);
  return(T6);
}

D Kop__ld_mv_area_addressVdfmc_harp_cgMM0I (D back_end_) {
  D Dmultiple_values_area_;
  D T3;
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:257
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:259
  Dmultiple_values_area_ = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:261
  T3 = CALL1(&Kteb_mv_area_offsetYthread_environmentVharp_native, back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:261
  CALL3(&Kins__ld_teb_addressYnative_instructionsVharp_nativeMM0, back_end_, Dmultiple_values_area_, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:263
  T4_0 = Dmultiple_values_area_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:257
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kop__integerVdfmc_harp_cgMM1I (D back_end_, D result_, D object_) {
  DWORD T4;
  DWORD T5;
  DWORD T6;
  DWORD T7;
  DWORD T8;
  D T9;
  D T10_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:174
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:176
  T4 = primitive_cast_integer_as_raw(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:176
  T5 = primitive_machine_word_shift_right(T4,2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:176
  T6 = primitive_machine_word_multiply_signal_overflow(16,T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:176
  T7 = primitive_machine_word_logior(T6,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:176
  T8 = primitive_machine_word_add_signal_overflow(T7,4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:176
  T9 = primitive_cast_raw_as_integer(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:176
  T10_0 = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:174
  MV_SET_COUNT(1);
  return(T10_0);
}

D Kop__tagVdfmc_harp_cgMM0I (D back_end_, D label_) {
  D T3_0;
  D T4;
  D T5_0;
  D T6_0;
  D T7;
  D T8;
  D T9_0;
  D Utmp_;
  D T11;
  D T12;
  D T13;
  D T14;
  _KLsimple_object_vectorGVKd_4 T15 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T16;
  D T17_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:30
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
  T7 = SLOT_VALUE(back_end_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
  T8 = SLOT_VALUE(T7, 13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
  T9_0 = KgethashVKiI(T8, label_, &KPfalseVKi, &KPtrueVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
  Utmp_ = T9_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
  if (Utmp_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
    T3_0 = Utmp_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
    T17_0 = T3_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T3_0);
      primitive_type_check(T17_0, &KLtagGYbase_harpVharp);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T17_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    CONGRUENT_CALL_PROLOG(&Kmake_tagYbase_harpVharp, 1);
    T4 = CONGRUENT_CALL1(back_end_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    T11 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    T12 = SLOT_VALUE(T11, 13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    T13 = SLOT_VALUE_INITD(T12, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    T14 = primitive_instanceQ(T4,T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    if (T14 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
      T15.vector_element_[0] = &KJvalue_;
      T15.vector_element_[1] = T4;
      T15.vector_element_[2] = &KJtype_;
      T15.vector_element_[3] = T13;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T16 = CONGRUENT_CALL2(&KLtype_errorGVKd, &T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
      CONGRUENT_CALL_PROLOG(&KerrorVKd, 2);
      CONGRUENT_CALL2(T16, &KPempty_vectorVKi);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    KputhashVKiI(T4, T12, label_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:32
    T5_0 = T4;
    T6_0 = T5_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:31
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:30
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__integerVdfmc_harp_cgMM0I (D back_end_, D result_, D object_) {
  D T4;
  D resultF5;
  D T6_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:163
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:165
  if (result_ != &KPfalseVKi) {
    resultF5 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:165
    T4 = Kmake_g_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:165
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:167
  CALL4(&Kins__aslYnative_instructionsVharp_nativeMM0, back_end_, resultF5, object_, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:168
  CALL4(&Kins__orYnative_instructionsVharp_nativeMM0, back_end_, resultF5, resultF5, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:170
  T6_0 = resultF5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:163
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__characterVdfmc_harp_cgMM0I (D back_end_, D result_, D object_) {
  D T4;
  D resultF5;
  D T6_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:140
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:142
  if (result_ != &KPfalseVKi) {
    resultF5 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:142
    T4 = Kmake_g_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:142
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:144
  CALL4(&Kins__aslYnative_instructionsVharp_nativeMM0, back_end_, resultF5, object_, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:145
  CALL4(&Kins__orYnative_instructionsVharp_nativeMM0, back_end_, resultF5, resultF5, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:147
  T6_0 = resultF5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:140
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__unicode_characterVdfmc_harp_cgMM0I (D back_end_, D result_, D object_) {
  D T4;
  D resultF5;
  D T6_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:151
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:153
  if (result_ != &KPfalseVKi) {
    resultF5 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:153
    T4 = Kmake_g_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:153
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:155
  CALL4(&Kins__aslYnative_instructionsVharp_nativeMM0, back_end_, resultF5, object_, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:156
  CALL4(&Kins__orYnative_instructionsVharp_nativeMM0, back_end_, resultF5, resultF5, (D) 13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:158
  T6_0 = resultF5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:151
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__as_rawVdfmc_harp_cgMM0I (D back_end_, D result_, D object_) {
  D T4;
  D resultF5;
  D T6_0;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:181
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:183
  if (result_ != &KPfalseVKi) {
    resultF5 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:183
    T4 = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:183
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:185
  T7 = KbytesPVdfmc_harp_cgMM0I(back_end_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:185
  Kins__loadVdfmc_harp_cgMM0I(back_end_, resultF5, object_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:187
  T6_0 = resultF5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:181
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__sf_as_rawVdfmc_harp_cgMM0I (D back_end_, D result_, D object_) {
  D T4;
  D resultF5;
  D T6_0;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:192
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:194
  if (result_ != &KPfalseVKi) {
    resultF5 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:194
    T4 = Kmake_sf_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:194
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:196
  T7 = KbytesPVdfmc_harp_cgMM0I(back_end_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:196
  CALL4(&Kins__fldYnative_instructionsVharp_nativeMM0, back_end_, resultF5, object_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:198
  T6_0 = resultF5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:192
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__df_as_rawVdfmc_harp_cgMM0I (D back_end_, D result_, D object_) {
  D T4;
  D resultF5;
  D T6_0;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:203
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:205
  if (result_ != &KPfalseVKi) {
    resultF5 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:205
    T4 = Kmake_df_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:205
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:207
  T7 = KbytesPVdfmc_harp_cgMM0I(back_end_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:207
  CALL4(&Kins__dldYnative_instructionsVharp_nativeMM0, back_end_, resultF5, object_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:209
  T6_0 = resultF5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:203
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__slotsVdfmc_harp_cgMM0I (D back_end_, D x_) {
  D result_;
  D T4_0;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:232
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:234
  result_ = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:236
  T5 = KbytesPVdfmc_harp_cgMM0I(back_end_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:236
  Kins__addYharp_instructionsVharpMM0I(back_end_, result_, x_, T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:238
  T4_0 = result_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:232
  MV_SET_COUNT(1);
  return(T4_0);
}

D KdoublePVdfmc_harp_cgMM0I (D back_end_, D word_) {
  DWORD T3;
  DWORD T4;
  DWORD T5;
  DWORD T6;
  D T7;
  D T8_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:101
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:102
  T3 = primitive_cast_integer_as_raw(word_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:102
  T4 = primitive_machine_word_shift_right(T3,2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:102
  T5 = primitive_machine_word_multiply_signal_overflow(32,T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:102
  T6 = primitive_machine_word_logior(T5,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:102
  T7 = primitive_cast_raw_as_integer(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:102
  T8_0 = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:101
  MV_SET_COUNT(1);
  return(T8_0);
}

D KdoublePVdfmc_harp_cgMM1I (D back_end_, D word_) {
  D T3_0;
  D new_register_;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:105
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:106
  new_register_ = Kmake_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KLgregGYharp_registersVharp, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:107
  CALL4(&Kins__aslYnative_instructionsVharp_nativeMM0, back_end_, new_register_, word_, (D) 13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:108
  T3_0 = new_register_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:105
  MV_SET_COUNT(1);
  return(T3_0);
}

D KhalfPVdfmc_harp_cgMM0I (D back_end_, D word_) {
  DWORD T3;
  DWORD T4;
  DWORD T5;
  DWORD T6;
  D T7;
  D T8_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:91
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:92
  T3 = primitive_cast_integer_as_raw(word_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:92
  T4 = primitive_machine_word_shift_right(T3,2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:92
  T5 = primitive_machine_word_multiply_signal_overflow(8,T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:92
  T6 = primitive_machine_word_logior(T5,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:92
  T7 = primitive_cast_raw_as_integer(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:92
  T8_0 = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:91
  MV_SET_COUNT(1);
  return(T8_0);
}

D KhalfPVdfmc_harp_cgMM1I (D back_end_, D word_) {
  D T3_0;
  D new_register_;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:95
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:96
  new_register_ = Kmake_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KLgregGYharp_registersVharp, &KPfalseVKi, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:97
  CALL4(&Kins__aslYnative_instructionsVharp_nativeMM0, back_end_, new_register_, word_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:98
  T3_0 = new_register_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:95
  MV_SET_COUNT(1);
  return(T3_0);
}

D Kop__addVdfmc_harp_cgMM0I (D back_end_, D result_, D x_, D y_) {
  D T5;
  D resultF6;
  D T7_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:214
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:216
  if (result_ != &KPfalseVKi) {
    resultF6 = result_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:216
    T5 = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    resultF6 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:216
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:218
  Kins__addYharp_instructionsVharpMM0I(back_end_, resultF6, x_, y_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:220
  T7_0 = resultF6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:214
  MV_SET_COUNT(1);
  return(T7_0);
}

D Kop__addVdfmc_harp_cgMM1I (D back_end_, D result_, D x_, D y_) {
  DWORD T5;
  DWORD T6;
  DWORD T7;
  DWORD T8;
  D T9;
  D T10_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:225
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:227
  T5 = primitive_cast_integer_as_raw(x_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:227
  T6 = primitive_cast_integer_as_raw(y_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:227
  T7 = primitive_machine_word_logxor(T6,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:227
  T8 = primitive_machine_word_add_signal_overflow(T5,T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:227
  T9 = primitive_cast_raw_as_integer(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:227
  T10_0 = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:225
  MV_SET_COUNT(1);
  return(T10_0);
}

D Kop__rawVdfmc_harp_cgMM1I (D back_end_, D result_, D object_) {
  D value_;
  D T5_0;
  D T6_0;
  DWORD T7;
  DWORD T8;
  DWORD T9_0;
  DWORD T9_1;
  DWORD quotient_;
  DWORD T11;
  DWORD T12;
  D T13;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:121
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  T7 = primitive_cast_integer_as_raw(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  T8 = primitive_machine_word_shift_right(T7,2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  T9_0 = primitive_machine_word_truncateS_byref(T8,4,(DWORD*)&T9_1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  quotient_ = T9_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  T11 = primitive_machine_word_shift_left_signal_overflow(quotient_,2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  T12 = primitive_machine_word_logior(T11,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  T13 = primitive_cast_raw_as_integer(T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:122
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  value_ = CONGRUENT_CALL2(&KLintegerGVKd, T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:124
  if (result_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:125
    Kins__moveYharp_instructionsVharpMM0I(back_end_, result_, value_);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:124
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:127
  T5_0 = value_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:121
  T6_0 = T5_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T5_0);
    primitive_type_check(T6_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:121
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kop__rawVdfmc_harp_cgMM2I (D back_end_, D result_, D object_) {
  D T4_0;
  DSINT T5;
  DWORD T6;
  DWORD T7;
  D T8;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:130
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:131
  T5 = primitive_byte_character_as_raw(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:131
  T6 = primitive_machine_word_shift_left_signal_overflow(T5,2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:131
  T7 = primitive_machine_word_logior(T6,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:131
  T8 = primitive_cast_raw_as_integer(T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:133
  if (result_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:134
    Kins__moveYharp_instructionsVharpMM0I(back_end_, result_, T8);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:133
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:136
  T4_0 = T8;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:130
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kop__st_mv_countVdfmc_harp_cgMM0I (D back_end_, D data_) {
  D T3;
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:251
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:253
  T3 = CALL1(&Kteb_mv_count_offsetYthread_environmentVharp_nativeMM0, back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:253
  T4 = CALL3(&Kins__st_tebYnative_instructionsVharp_nativeMM0, back_end_, data_, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-ops.dylan:251
  MV_SET_COUNT(0);
  return(T4);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_harp_cg__X_harp_ops_for_system () {
  extern D KPresolve_symbolVKiI(D);
  return;
}

/* USER INIT CODE */

void _Init_dfmc_harp_cg__X_harp_ops_for_user () {
  return;
}


/* eof */
