#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;

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_;
} _KLsignatureGVKe;

#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(6);
define__KLsimple_object_vectorGVKd(5);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(0);

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

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 head_;
  D tail_;
} _KLempty_listGVKd;

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(87);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(22);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(10);

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D arguments_;
} _KLcallGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D emitted_name_;
  D function_;
  D code_;
} _KLBiepGVdfmc_modeling;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D users_;
} _KLBmethodGVdfmc_modeling;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D private_Cfunction_signature_;
  D CPgf_cache_;
  D private_Cdebug_name_;
  D private_Pgeneric_function_methods_;
  D Cdiscriminator_;
  D Cgeneric_function_properties_;
  D private_signature_spec_;
  D private_Pgeneric_function_domains_;
  D parameters_dynamic_extent_;
  D Cgeneric_function_cache_info_;
} _KLBgeneric_functionGVdfmc_modeling;

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 item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D arguments_;
} _KLstack_vectorGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D arguments_;
  D function_;
} _KLsimple_callGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D properties_;
  D engine_node_callback_;
  D engine_node_entry_point_;
  D cache_header_engine_node_next_;
  D cache_header_engine_node_parent_;
} _KLsimple_typechecked_cache_header_engine_nodeGVKg;

typedef struct {
  D wrapper;
  D users_;
  D generator_;
  D environment_;
  D temporary_properties_;
  D emitted_name_;
  D name_;
} _KLlexical_rest_variableGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D generator_;
  D environment_;
  D temporary_properties_;
  D number_values_;
} _KLstack_vector_temporaryGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D generator_;
  D environment_;
  D temporary_properties_;
} _KLtemporaryGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_closure_method_;
  D computation_init_closure_;
  D computation_signature_value_;
} _KLmake_closureGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_slot_descriptor_;
  D computation_instance_;
} _KLslot_valueGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D union_type1_;
  D union_type2_;
} _KLunionGVKe;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
} _KLBfunctionGVdfmc_modeling;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D arguments_;
  D function_;
  D next_methods_;
} _KLmethod_callGVdfmc_flow_graph;

typedef struct {
  D wrapper;
} _KLintegerGVKd;

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

typedef struct {
  D wrapper;
} _KLsequenceGVKd;

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

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

#define  define__KLsimple_closure_methodGVKi(nrepeated) \
  typedef struct { \
    D wrapper; \
    D xep_; \
    D function_signature_; \
    D mep_; \
    D environment_size_; \
    D environment_element_[nrepeated+1]; \
  } _KLsimple_closure_methodGVKi_##nrepeated;
define__KLsimple_closure_methodGVKi(0);

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
} _KLcomputationGVdfmc_flow_graph;

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;
} _KLnumberGVKd;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D arguments_;
  D function_;
} _KLfunction_callGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D singleton_object_;
} _KLsingletonGVKd;

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D PinstanceQ_iep_;
  D CinstanceQ_function_;
  D private_Cdebug_name_;
  D private_raw_aggregate_members_;
  D private_raw_aggregate_options_;
} _KLBraw_aggregate_typeGVdfmc_modeling;

typedef struct {
  D wrapper;
  D xep_;
} _KLfunctionGVKd;


/* 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;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLharp_back_endGYbase_harpVharp;
extern _KLmm_wrapperGVKi_0 KLharp_back_endGYbase_harpVharpW;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
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;
extern _KLclassGVKd KLcallGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLcallGVdfmc_flow_graphW;
D Ktail_positionQVdfmc_optimizationMM0I (D);
D Kmultiple_values_requiredVdfmc_harp_cgMM4I (D);
D KEEVKdI (D, D);
extern _KLclassGVKd KLBiepGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBiepGVdfmc_modelingW;
extern _KLclassGVKd KLBmethodGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBmethodGVdfmc_modelingW;
extern _KLclassGVKd KLBgeneric_functionGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBgeneric_functionGVdfmc_modelingW;
extern _KLincremental_generic_functionGVKe Kfind_keyVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLsealed_generic_functionGVKe KfunctionVdfmc_modeling;
extern _KLsealed_generic_functionGVKe Ksignature_specVdfmc_modeling;
extern _KLsimple_methodGVKe Kspec_argument_number_requiredVdfmc_definitions;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLsealed_generic_functionGVKe KgeneratorVdfmc_flow_graph;
extern _KLclassGVKd KLstack_vectorGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLstack_vectorGVdfmc_flow_graphW;
extern _KLclassGVKd KLsimple_callGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLsimple_callGVdfmc_flow_graphW;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLclassGVKd KLlexical_rest_variableGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLlexical_rest_variableGVdfmc_flow_graphW;
extern _KLclassGVKd KLstack_vector_temporaryGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLstack_vector_temporaryGVdfmc_flow_graphW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLtemporaryGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLtemporaryGVdfmc_flow_graphW;
extern _KLclassGVKd KLmake_closureGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLmake_closureGVdfmc_flow_graphW;
extern _KLsimple_methodGVKe Kclosure_has_dynamic_extentQVdfmc_flow_graphMM0;
D Kcall_effective_functionVdfmc_conversionI (D);
extern _KLclassGVKd KLslot_valueGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLslot_valueGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe KenvironmentVdfmc_modeling;
extern _KLsealed_generic_functionGVKe KlambdaVdfmc_flow_graph;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLclassGVKd KLBfunctionGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBfunctionGVdfmc_modelingW;
extern _KLclassGVKd KLmethod_callGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLmethod_callGVdfmc_flow_graphW;
extern _KLsimple_methodGVKe Kcall_effective_functionVdfmc_conversion;
extern _KLincremental_generic_functionGVKe KemptyQVKd;
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
extern _KLmoduleGVKe Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
D Kruntime_referenceVdfmc_harp_cgI (D);
extern _KLkeyword_methodGVKe Kins__callYnative_instructionsVharp_nativeMM0;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
D Kemit_result_assignmentVdfmc_harp_cgMM0I (D, D);
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
D KBobject_classVdfmc_modelingMM0I (D);
extern _KLsealed_generic_functionGVKe KCclass_mm_wrapperVdfmc_modeling;
extern _KLincremental_generic_functionGVKe KAVKd;
extern _KLsealed_generic_functionGVKe KbytesPVdfmc_harp_cg;
D Kins__remYharp_instructionsVharpMM0I (D, D);
D Kins__subYharp_instructionsVharpMM0I (D, D, D, D);
extern _KLsealed_generic_functionGVKe Kemit_referenceVdfmc_back_end;
D Kins__storeVdfmc_harp_cgMM0I (D back_end_, D val_, D s1_, D s2_);
extern _KLsealed_generic_functionGVKe Kemit_objectVdfmc_back_end;
D KbytesPVdfmc_harp_cgMM0I (D back_end_, D word_);
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
D Kins__moveYharp_instructionsVharpMM0I (D, D, D);
extern _KLsealed_generic_functionGVKe Knumber_of_stack_allocated_argumentsVdfmc_harp_cg;
extern _KLincremental_generic_functionGVKe K_VKd;
extern _KLsealed_generic_functionGVKe KusersVdfmc_common;
extern _KLsealed_generic_functionGVKe KanyQVKd;
extern _KLsealed_generic_functionGVKe Kcurrent_back_endVdfmc_common;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLcomputationGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLcomputationGVdfmc_flow_graphW;
extern _KLincremental_generic_functionGVKe Kfunction_xep_offsetYharp_dylan_parameterizationsVharp;
extern _KLkeyword_methodGVKe Kins__call_indirectYnative_instructionsVharp_nativeMM0;
extern _KLincremental_generic_functionGVKe Karg_spill_locationYbase_harpVharp;
extern _KLkeyword_methodGVKe Kins__jmp_indirectYnative_instructionsVharp_nativeMM0;
extern _KLsealed_generic_functionGVKe KargumentsVdfmc_flow_graph;
extern _KLsimple_methodGVKe Kemit_referencesVdfmc_harp_cg;
extern _KLsealed_generic_functionGVKe Knumber_valuesVdfmc_flow_graph;
D Kobject_classVKdI (D);
extern _KLsealed_generic_functionGVKe Kconcatenate_asVKd;
extern _KLsimple_methodGVKe Kins__store_stack_arg_nYnative_instructionsVharp_nativeMM0;
D Kmake_registerYbase_harpVharpMM0I (D, D, D, D, D);
extern _KLclassGVKd KLgregGYharp_registersVharp;
extern _KLmm_wrapperGVKi_0 KLgregGYharp_registersVharpW;
extern _KLclassGVKd KLnumberGVKd;
extern _KLmm_wrapperGVKi_0 KLnumberGVKdW;
D KreverseVKdMM2I (D);
D Knumber_of_stack_allocated_slotsVdfmc_harp_cgMM0I (D, D, D, D);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
extern _KLsimple_methodGVKe KclosureVdfmc_flow_graphMM0;
extern _KLsealed_generic_functionGVKe KCnextQVdfmc_modeling;
extern _KLclassGVKd KLfunction_callGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLfunction_callGVdfmc_flow_graphW;
extern _KLkeyword_methodGVKe Kins__jmpYnative_instructionsVharp_nativeMM0;
D KelementVKdMM11I (D, D, D, D);
extern _KLsealed_generic_functionGVKe Kunsupplied_objectVKi;
extern _KLincremental_generic_functionGVKe Kgeneric_function_engine_offsetYharp_dylan_parameterizationsVharp;
D Kins__loadVdfmc_harp_cgMM0I (D back_end_, D dregister_, D s1_, D s2_);
extern _KLincremental_generic_functionGVKe Kengine_node_entry_point_offsetYharp_dylan_parameterizationsVharp;
D Koptional_argumentsQVdfmc_harp_cgMM4I (D);
extern _KLsimple_methodGVKe Kins__pushYnative_instructionsVharp_nativeMM0;
extern _KLincremental_generic_functionGVKe Kfunction_mep_offsetYharp_dylan_parameterizationsVharp;
extern _KLincremental_generic_functionGVKe KmemberQVKd;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLincremental_generic_functionGVKe Kcopy_sequenceVKd;
extern _KLsymbolGVKd KJend_;
extern _KLsymbolGVKd KJstart_;
extern _KLincremental_generic_functionGVKe KlastVKd;
D Kop__vector_sizeVdfmc_harp_cgMM0I (D back_end_, D result_, D vector_);
extern _KLsealed_generic_functionGVKe Kop__rawVdfmc_harp_cg;
D Kmake_n_registerYbase_harpVharpMM0I (D, D, D, D);
D Kins__addYharp_instructionsVharpMM0I (D, D, D, D);
D Kop__integerVdfmc_harp_cgMM0I (D back_end_, D result_, D object_);
D Kop__vector_as_rawVdfmc_harp_cgMM0I (D back_end_, D result_, D vector_);
extern _KLsimple_methodGVKe Kins__copy_words_down_wYnative_instructionsVharp_nativeMM0;
D KlistVKdI (D);
extern _KLincremental_generic_functionGVKe Ktype_for_copyVKd;
extern _KLsimple_methodGVKe Kins__get_tebYnative_instructionsVharp_nativeMM0;
extern _KLsimple_methodGVKe Kteb_runtime_state_offsetYthread_environmentVharp_nativeMM0;
extern _KLsimple_methodGVKe Kins__stYnative_instructionsVharp_nativeMM0;
extern _KLkeyword_methodGVKe Kins__call_alienYnative_instructionsVharp_nativeMM0;
extern _KLsimple_methodGVKe Kins__set_tebYnative_instructionsVharp_nativeMM0;
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLclassGVKd KLBraw_aggregate_typeGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBraw_aggregate_typeGVdfmc_modelingW;
extern _KLsealed_generic_functionGVKe KtailVKd;
extern _KLsealed_generic_functionGVKe KheadVKd;
D KerrorVKdMM1I (D, D);
extern _KLsealed_generic_functionGVKe Kop__move_into_c_argumentPVdfmc_harp_cg;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLincremental_generic_functionGVKe KreduceVKd;
extern _KLsealed_generic_functionGVKe Kemit_ffi_resultVdfmc_harp_cg;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LintegerG_typesVKi;
extern D Temitting_init_codeQTVdfmc_harp_cg;
extern D Tlive_nlx_tagsTVdfmc_harp_cg;
extern D Ttail_callsTVdfmc_harp_cg;
extern D Dapply_xepsVdfmc_harp_cg;
extern D Dprimitive_mep_applyVdfmc_harp_cg;

/* Defined object declarations */

D Kcall_c_primitiveVdfmc_harp_cgMM0I (D, D, D, D);
D Kcall_foreign_functionVdfmc_harp_cgMM0I (D, D, D, D, D, D, D, D, D);
extern _KLsimple_methodGVKe Kcall_mep_applyVdfmc_harp_cgMM0;
D Kcall_mep_applyVdfmc_harp_cgMM0I (D, D, D, D, D, D);
extern _KLsimple_methodGVKe Kcall_applyVdfmc_harp_cgMM0;
D Kcall_applyVdfmc_harp_cgMM0I (D, D, D, D);
D Ktail_call_optimizableQVdfmc_harp_cgI (D, D);
extern _KLsimple_methodGVKe Ktail_call_mepVdfmc_harp_cgMM0;
D Ktail_call_mepVdfmc_harp_cgMM0I (D, D, D, D, D, D, D);
extern _KLsimple_methodGVKe Kcall_mepVdfmc_harp_cgMM0;
D Kcall_mepVdfmc_harp_cgMM0I (D, D, D, D, D, D, D);
extern _KLsimple_methodGVKe Ktail_call_engine_nodeVdfmc_harp_cgMM0;
D Ktail_call_engine_nodeVdfmc_harp_cgMM0I (D, D, D, D, D);
extern _KLsimple_methodGVKe Kcall_engine_nodeVdfmc_harp_cgMM0;
D Kcall_engine_nodeVdfmc_harp_cgMM0I (D, D, D, D, D);
extern _KLsimple_methodGVKe Ktail_call_iepVdfmc_harp_cgMM0;
D Ktail_call_iepVdfmc_harp_cgMM0I (D, D, D, D, D, D);
extern _KLsimple_methodGVKe Kcall_iepVdfmc_harp_cgMM0;
D Kcall_iepVdfmc_harp_cgMM0I (D, D, D, D, D, D);
extern _KLsimple_methodGVKe Ktail_call_xepVdfmc_harp_cgMM0;
D Ktail_call_xepVdfmc_harp_cgMM0I (D, D, D, D, D);
extern _KLsimple_methodGVKe Kcall_xepVdfmc_harp_cgMM0;
D Kcall_xepVdfmc_harp_cgMM0I (D, D, D, D, D);
D Kstack_allocate_vector_for_tail_callQVdfmc_harp_cgMM0I (D);
D Ktail_call_stack_vector_startVdfmc_harp_cgMM0I (D, D);
D Kstack_allocate_vector_for_normal_callVdfmc_harp_cgMM0I (D, D, D, D);
D Kcall_primitiveVdfmc_harp_cgMM0I (D, D, D, D);
D Kpush_argumentsVdfmc_harp_cgMM0I (D, D);
extern _KLsealed_generic_functionGVKe Kcall_effective_functionPVdfmc_harp_cg;
extern _KLsimple_methodGVKe Kcall_primitiveVdfmc_harp_cgMM0;
D Knew_stack_allocated_dataQVdfmc_harp_cgI (D);
extern _KLsealed_generic_functionGVKe Ktail_callQVdfmc_harp_cg;
extern _KLsimple_methodGVKe Kcall_c_primitiveVdfmc_harp_cgMM0;
static _KLsignatureGVKe K33;
static _KLsimple_object_vectorGVKd_3 K34;
extern _KLsimple_methodGVKe Ktail_callQVdfmc_harp_cgMM0;
D Ktail_callQVdfmc_harp_cgMM0I (D, D);
extern _KLsimple_methodGVKe Ktail_callQVdfmc_harp_cgMM1;
D Ktail_callQVdfmc_harp_cgMM1I (D, D);
extern _KLsimple_methodGVKe Ktail_callQVdfmc_harp_cgMM2;
D Ktail_callQVdfmc_harp_cgMM2I (D, D);
static _KLpairGVKd K41;
static _KLpairGVKd K42;
static _KLpairGVKd K43;
static _KLbyte_stringGVKd_10 K44;
static _KLsignatureGVKe K45;
static _KLsimple_object_vectorGVKd_2 K46;
static _KLsignatureGVKe K47;
static _KLsimple_object_vectorGVKd_2 K48;
D Kstack_allocated_closuresQVdfmc_harp_cgMM0I (D);
D Killegal_stack_allocated_dataQVdfmc_harp_cgMM0I (D, D);
D Kadjust_multiple_valuesQVdfmc_harp_cgMM0I (D, D);
extern _KLsimple_methodGVKe Kstack_allocated_dataQVdfmc_harp_cg;
D Kstack_allocated_dataQVdfmc_harp_cgI (D);
D Knested_stack_allocated_dataQVdfmc_harp_cgMM0I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K55;
extern _KLsealed_generic_functionGVKe Knested_stack_allocated_dataQVdfmc_harp_cg;
extern _KLsimple_methodGVKe Knested_stack_allocated_dataQVdfmc_harp_cgMM0;
extern _KLsimple_methodGVKe Knested_stack_allocated_dataQVdfmc_harp_cgMM1;
D Knested_stack_allocated_dataQVdfmc_harp_cgMM1I (D, D);
static _KLpairGVKd K60;
static _KLpairGVKd K61;
static _KLbyte_stringGVKd_28 K62;
static _KLsignatureGVKe K63;
static _KLsimple_object_vectorGVKd_2 K64;
static _KLsignatureGVKe K65;
static _KLsimple_object_vectorGVKd_2 K66;
D Kstack_allocated_closureQVdfmc_harp_cgMM0I (D);
extern _KLsimple_methodGVKe Kcall_effective_functionPVdfmc_harp_cgMM0;
D Kcall_effective_functionPVdfmc_harp_cgMM0I (D);
extern _KLsimple_methodGVKe Kcall_effective_functionPVdfmc_harp_cgMM1;
D Kcall_effective_functionPVdfmc_harp_cgMM1I (D);
static _KLpairGVKd K72;
static _KLpairGVKd K73;
static _KLbyte_stringGVKd_24 K74;
static _KLunionGVKe K75;
extern _KLsimple_methodGVKe Kdynamic_next_methodVdfmc_harp_cgMM0;
D Kdynamic_next_methodVdfmc_harp_cgMM0I (D);
static _KLsignatureAvaluesGVKi K78;
static _KLsimple_object_vectorGVKd_1 K79;
static _KLsimple_object_vectorGVKd_1 K80;
static _KLsignatureAvaluesGVKi K81;
static _KLsimple_object_vectorGVKd_1 K82;
static _KLsimple_object_vectorGVKd_1 K83;
static _KLsignatureGVKe K84;
static _KLsimple_object_vectorGVKd_1 K85;
extern _KLincremental_generic_functionGVKe Kstack_arguments_set_upVdfmc_harp_cg;
extern _KLincremental_generic_functionGVKe Kregister_arguments_set_upVdfmc_harp_cg;
static _KLsignatureAvaluesGVKi K88;
static _KLbyte_stringGVKd_25 K89;
static _KLsimple_object_vectorGVKd_2 K90;
static _KLsignatureGVKe K91;
static _KLbyte_stringGVKd_22 K92;
static _KLsymbolGVKd KJnlx_tags_;
static _KLbyte_stringGVKd_8 K94;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K95;
static _KLbyte_stringGVKd_12 K96;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K97;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_stack_allocate_vector_for_tail_callQF100;
static D Kanonymous_of_stack_allocate_vector_for_tail_callQF100I (D);
extern _KLsimple_methodGVKe Ktail_call_optimizableQVdfmc_harp_cg;
static _KLsignatureGVKe K102;
static _KLsimple_object_vectorGVKd_1 K103;
static _KLsignatureGVKe K104;
static _KLsimple_object_vectorGVKd_4 K105;
D Ktail_call_prologVdfmc_harp_cgMM0I (D, D, D, D, D);
D Ksame_optionals_as_callerQVdfmc_harp_cgMM0I (D, D);
static _KLsymbolGVKd KJreturn_address_shift_;
static _KLsymbolGVKd KJoptionals_marker_;
static _KLbyte_stringGVKd_16 K110;
static _KLbyte_stringGVKd_20 K111;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_same_optionals_as_callerQF114;
static D Kanonymous_of_same_optionals_as_callerQF114I (D);
D Kreturn_address_shiftVdfmc_harp_cgMM0I (D, D);
D Kmove_stack_arguments_to_virtualsVdfmc_harp_cgMM0I (D, D, D, D);
extern _KLsimple_methodGVKe Kmove_stack_arguments_to_virtualsVdfmc_harp_cgMM0;
extern _KLsimple_methodGVKe Ksafe_registerVdfmc_harp_cgMM0;
D Ksafe_registerVdfmc_harp_cgMM0I (D, D, D, D);
D Kmove_virtuals_to_stack_argumentsVdfmc_harp_cgMM0I (D, D, D);
D Kstack_allocate_vector_for_tail_callVdfmc_harp_cgMM0I (D, D, D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K122;
static _KLbyte_stringGVKd_26 K123;
static _KLsignatureGVKe K124;
static _KLsimple_object_vectorGVKd_4 K125;
static _KLsignatureAvaluesGVKi K126;
static _KLsimple_object_vectorGVKd_4 K127;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K128;
extern _KLincremental_generic_functionGVKe Karguments_set_upVdfmc_harp_cg;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K130;
extern _KLsealed_generic_functionGVKe Kemit_call_prologVdfmc_harp_cg;
extern _KLsimple_methodGVKe Kemit_call_prologVdfmc_harp_cgMM0;
D Kemit_call_prologVdfmc_harp_cgMM0I (D, D, D);
extern _KLsimple_methodGVKe Kemit_call_prologVdfmc_harp_cgMM1;
D Kemit_call_prologVdfmc_harp_cgMM1I (D, D, D);
extern _KLsimple_methodGVKe Kemit_call_prologVdfmc_harp_cgMM2;
D Kemit_call_prologVdfmc_harp_cgMM2I (D, D, D);
static _KLpairGVKd K138;
static _KLpairGVKd K139;
static _KLpairGVKd K140;
static _KLbyte_stringGVKd_16 K141;
static _KLsignatureGVKe K142;
static _KLsimple_object_vectorGVKd_3 K143;
static _KLsignatureGVKe K144;
static _KLsimple_object_vectorGVKd_3 K145;
static _KLsignatureGVKe K146;
static _KLsimple_object_vectorGVKd_3 K147;
static _KLsignatureAvaluesGVKi K148;
static _KLbyte_stringGVKd_16 K149;
static _KLsimple_object_vectorGVKd_3 K150;
static _KLsignatureGVKe K151;
static _KLsimple_object_vectorGVKd_5 K152;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K153;
D Kstacked_vector_arg_spillVdfmc_harp_cgMM0I (D, D, D);
static _KLsymbolGVKd KJpointer_into_stack_;
static _KLbyte_stringGVKd_18 K156;
extern _KLsimple_methodGVKe Knew_stack_allocated_dataQVdfmc_harp_cg;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K158;
static _KLsignatureGVKe K159;
static _KLsimple_object_vectorGVKd_6 K160;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K161;
static _KLsymbolGVKd KJarg_count_;
static _KLbyte_stringGVKd_9 K163;
D Kop__mep_apply_nVdfmc_harp_cgI (D, D, D, D, D);
static _KLbyte_stringGVKd_25 K165;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K166;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K167;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K168;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K169;
static _KLsignatureGVKe K170;
static _KLsimple_object_vectorGVKd_5 K171;
D Kc_ffi_arguments_sizeVdfmc_harp_cgMM0I (D, D, D);
extern _KLincremental_generic_functionGVKe Kop__push_space_for_calleeVdfmc_harp_cg;
D Kc_register_arguments_set_upVdfmc_harp_cgMM0I (D, D, D, D);
D Kc_stack_arguments_set_upVdfmc_harp_cgMM0I (D, D, D, D);
D Kc_arguments_in_registersVdfmc_harp_cgMM1I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K177;
extern _KLsealed_generic_functionGVKe Kpop_stackVdfmc_harp_cg;
extern _KLincremental_generic_functionGVKe Kop__pop_space_for_calleeVdfmc_harp_cg;
extern _KLsimple_methodGVKe Kop__pop_space_for_calleeVdfmc_harp_cgMM0;
D Kop__pop_space_for_calleeVdfmc_harp_cgMM0I (D);
static _KLpairGVKd K182;
static _KLsignatureGVKe K183;
static _KLbyte_stringGVKd_24 K184;
static _KLsimple_object_vectorGVKd_1 K185;
extern _KLsimple_methodGVKe Kpop_stackVdfmc_harp_cgMM0;
D Kpop_stackVdfmc_harp_cgMM0I (D, D, D);
extern _KLsimple_methodGVKe Kpop_stackVdfmc_harp_cgMM1;
D Kpop_stackVdfmc_harp_cgMM1I (D, D, D);
static _KLpairGVKd K190;
static _KLpairGVKd K191;
static _KLbyte_stringGVKd_9 K192;
static _KLsignatureGVKe K193;
static _KLsimple_object_vectorGVKd_3 K194;
static _KLsingletonGVKd K195;
static _KLsymbolGVKd KJstdcall_;
static _KLbyte_stringGVKd_7 K197;
static _KLsignatureGVKe K198;
static _KLsimple_object_vectorGVKd_3 K199;
static _KLsingletonGVKd K200;
static _KLsymbolGVKd KJcdecl_;
static _KLbyte_stringGVKd_5 K202;
D Kc_arguments_in_registersVdfmc_harp_cgMM0I (D, D);
D Kc_ffi_argument_typeVdfmc_harp_cgMM0I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K205;
static _KLbyte_stringGVKd_87 K206;
extern _KLsimple_methodGVKe Kop__push_space_for_calleeVdfmc_harp_cgMM0;
D Kop__push_space_for_calleeVdfmc_harp_cgMM0I (D);
static _KLpairGVKd K209;
static _KLbyte_stringGVKd_25 K210;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_c_ffi_arguments_sizeF213;
static D Kanonymous_of_c_ffi_arguments_sizeF213I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K214;
extern _KLsealed_generic_functionGVKe Karguments_in_registersVdfmc_harp_cg;
extern _KLsimple_methodGVKe Karguments_in_registersVdfmc_harp_cgMM0;
D Karguments_in_registersVdfmc_harp_cgMM0I (D back_end_, D arguments_);
extern _KLsimple_methodGVKe Karguments_in_registersVdfmc_harp_cgMM1;
D Karguments_in_registersVdfmc_harp_cgMM1I (D back_end_, D arguments_);
static _KLpairGVKd K220;
static _KLpairGVKd K221;
static _KLbyte_stringGVKd_22 K222;
static _KLsignatureAvaluesGVKi K223;
static _KLsimple_object_vectorGVKd_2 K224;
static _KLsignatureAvaluesGVKi K225;
extern _KLsimple_methodGVKe Karguments_on_stackVdfmc_harp_cgMM0;
D Karguments_on_stackVdfmc_harp_cgMM0I (D back_end_, D arguments_);
extern _KLsealed_generic_functionGVKe Kc_arguments_in_registersVdfmc_harp_cg;
extern _KLsimple_methodGVKe Kc_arguments_in_registersVdfmc_harp_cgMM0;
extern _KLsimple_methodGVKe Kc_arguments_in_registersVdfmc_harp_cgMM1;
static _KLpairGVKd K231;
static _KLpairGVKd K232;
static _KLbyte_stringGVKd_24 K233;
extern _KLsealed_generic_functionGVKe Kc_arguments_on_stackVdfmc_harp_cg;
extern _KLsimple_methodGVKe Kc_arguments_on_stackVdfmc_harp_cgMM0;
D Kc_arguments_on_stackVdfmc_harp_cgMM0I (D back_end_, D arguments_);
extern _KLsimple_methodGVKe Kc_arguments_on_stackVdfmc_harp_cgMM1;
D Kc_arguments_on_stackVdfmc_harp_cgMM1I (D back_end_, D arguments_);
static _KLpairGVKd K239;
static _KLpairGVKd K240;
static _KLbyte_stringGVKd_20 K241;
extern _KLsimple_methodGVKe Kargument_register_paddingVdfmc_harp_cgMM0;
D Kargument_register_paddingVdfmc_harp_cgMM0I (D back_end_, D arguments_);

/* Indirection variables */

static D IKJnlx_tags_ = &KJnlx_tags_;
static D IKJreturn_address_shift_ = &KJreturn_address_shift_;
static D IKJoptionals_marker_ = &KJoptionals_marker_;
static D IKJpointer_into_stack_ = &KJpointer_into_stack_;
static D IKJarg_count_ = &KJarg_count_;
static D IKJstdcall_ = &KJstdcall_;
static D IKJcdecl_ = &KJcdecl_;

/* Variables */

D call_effective_functionPVdfmc_harp_cg = &Kcall_effective_functionPVdfmc_harp_cg;
D tail_callQVdfmc_harp_cg = &Ktail_callQVdfmc_harp_cg;
D tail_call_mepVdfmc_harp_cg = &Ktail_call_mepVdfmc_harp_cgMM0;
D tail_call_engine_nodeVdfmc_harp_cg = &Ktail_call_engine_nodeVdfmc_harp_cgMM0;
D tail_call_iepVdfmc_harp_cg = &Ktail_call_iepVdfmc_harp_cgMM0;
D tail_call_xepVdfmc_harp_cg = &Ktail_call_xepVdfmc_harp_cgMM0;
D argument_register_paddingVdfmc_harp_cg = &Kargument_register_paddingVdfmc_harp_cgMM0;
D c_arguments_on_stackVdfmc_harp_cg = &Kc_arguments_on_stackVdfmc_harp_cg;
D c_arguments_in_registersVdfmc_harp_cg = &Kc_arguments_in_registersVdfmc_harp_cg;
D arguments_on_stackVdfmc_harp_cg = &Karguments_on_stackVdfmc_harp_cgMM0;
D arguments_in_registersVdfmc_harp_cg = &Karguments_in_registersVdfmc_harp_cg;
D call_mep_applyVdfmc_harp_cg = &Kcall_mep_applyVdfmc_harp_cgMM0;
D call_applyVdfmc_harp_cg = &Kcall_applyVdfmc_harp_cgMM0;
D call_c_primitiveVdfmc_harp_cg = &Kcall_c_primitiveVdfmc_harp_cgMM0;
D call_primitiveVdfmc_harp_cg = &Kcall_primitiveVdfmc_harp_cgMM0;
D call_mepVdfmc_harp_cg = &Kcall_mepVdfmc_harp_cgMM0;
D call_engine_nodeVdfmc_harp_cg = &Kcall_engine_nodeVdfmc_harp_cgMM0;
D call_iepVdfmc_harp_cg = &Kcall_iepVdfmc_harp_cgMM0;
D call_xepVdfmc_harp_cg = &Kcall_xepVdfmc_harp_cgMM0;
D stack_arguments_set_upVdfmc_harp_cg = &Kstack_arguments_set_upVdfmc_harp_cg;
D register_arguments_set_upVdfmc_harp_cg = &Kregister_arguments_set_upVdfmc_harp_cg;
D arguments_set_upVdfmc_harp_cg = &Karguments_set_upVdfmc_harp_cg;
D Ttail_call_optimizeQTVdfmc_harp_cg = &KPtrueVKi;
D op__push_space_for_calleeVdfmc_harp_cg = &Kop__push_space_for_calleeVdfmc_harp_cg;
D op__pop_space_for_calleeVdfmc_harp_cg = &Kop__pop_space_for_calleeVdfmc_harp_cg;

/* Objects */

_KLsimple_methodGVKe Kcall_mep_applyVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_5,
  &K170,
  &Kcall_mep_applyVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kcall_applyVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_3,
  &K33,
  &Kcall_applyVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Ktail_call_mepVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_6,
  &K159,
  &Ktail_call_mepVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kcall_mepVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_6,
  &K159,
  &Kcall_mepVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Ktail_call_engine_nodeVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_4,
  &K104,
  &Ktail_call_engine_nodeVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kcall_engine_nodeVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_4,
  &K104,
  &Kcall_engine_nodeVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Ktail_call_iepVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_5,
  &K151,
  &Ktail_call_iepVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kcall_iepVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_5,
  &K151,
  &Kcall_iepVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Ktail_call_xepVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_4,
  &K104,
  &Ktail_call_xepVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kcall_xepVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_4,
  &K104,
  &Kcall_xepVdfmc_harp_cgMM0I
};

_KLsealed_generic_functionGVKe Kcall_effective_functionPVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K74,
  &K72,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kcall_primitiveVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_3,
  &K33,
  &Kcall_primitiveVdfmc_harp_cgMM0I
};

_KLsealed_generic_functionGVKe Ktail_callQVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 5,
  &K44,
  &K41,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kcall_c_primitiveVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_3,
  &K33,
  &Kcall_c_primitiveVdfmc_harp_cgMM0I
};

static _KLsignatureGVKe K33 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 42991629,
  &K34
};

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

_KLsimple_methodGVKe Ktail_callQVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K65,
  &Ktail_callQVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Ktail_callQVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K47,
  &Ktail_callQVdfmc_harp_cgMM1I
};

_KLsimple_methodGVKe Ktail_callQVdfmc_harp_cgMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K45,
  &Ktail_callQVdfmc_harp_cgMM2I
};

static _KLpairGVKd K41 = {
  &KLpairGVKdW /* wrapper */,
  &Ktail_callQVdfmc_harp_cgMM0,
  &K42
};

static _KLpairGVKd K42 = {
  &KLpairGVKdW /* wrapper */,
  &Ktail_callQVdfmc_harp_cgMM1,
  &K43
};

static _KLpairGVKd K43 = {
  &KLpairGVKdW /* wrapper */,
  &Ktail_callQVdfmc_harp_cgMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_10 K44 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "tail-call?"
};

static _KLsignatureGVKe K45 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040201,
  &K46
};

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

static _KLsignatureGVKe K47 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040201,
  &K48
};

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

_KLsimple_methodGVKe Kstack_allocated_dataQVdfmc_harp_cg = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kstack_allocated_dataQVdfmc_harp_cgI
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K55 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Knested_stack_allocated_dataQVdfmc_harp_cg
};

_KLsealed_generic_functionGVKe Knested_stack_allocated_dataQVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 5,
  &K62,
  &K60,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Knested_stack_allocated_dataQVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K65,
  &Knested_stack_allocated_dataQVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Knested_stack_allocated_dataQVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K63,
  &Knested_stack_allocated_dataQVdfmc_harp_cgMM1I
};

static _KLpairGVKd K60 = {
  &KLpairGVKdW /* wrapper */,
  &Knested_stack_allocated_dataQVdfmc_harp_cgMM0,
  &K61
};

static _KLpairGVKd K61 = {
  &KLpairGVKdW /* wrapper */,
  &Knested_stack_allocated_dataQVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_28 K62 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 113,
  "nested-stack-allocated-data?"
};

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

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

static _KLsignatureGVKe K65 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040201,
  &K66
};

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

_KLsimple_methodGVKe Kcall_effective_functionPVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K84,
  &Kcall_effective_functionPVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kcall_effective_functionPVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K81,
  &Kcall_effective_functionPVdfmc_harp_cgMM1I
};

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

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

static _KLbyte_stringGVKd_24 K74 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "call-effective-function%"
};

static _KLunionGVKe K75 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &KLBfunctionGVdfmc_modeling,
  &KLBiepGVdfmc_modeling
};

_KLsimple_methodGVKe Kdynamic_next_methodVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K78,
  &Kdynamic_next_methodVdfmc_harp_cgMM0I
};

static _KLsignatureAvaluesGVKi K78 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K79,
  &K80
};

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

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

static _KLsignatureAvaluesGVKi K81 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K82,
  &K83
};

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

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

static _KLsignatureGVKe K84 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944069,
  &K85
};

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

_KLincremental_generic_functionGVKe Kstack_arguments_set_upVdfmc_harp_cg = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K91,
  (D) 1,
  &K92,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 25
};

_KLincremental_generic_functionGVKe Kregister_arguments_set_upVdfmc_harp_cg = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &K88,
  (D) 1,
  &K89,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 25
};

static _KLsignatureAvaluesGVKi K88 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K90,
  &KDsignature_LsequenceG_typesVKi
};

static _KLbyte_stringGVKd_25 K89 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "register-arguments-set-up"
};

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

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

static _KLbyte_stringGVKd_22 K92 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "stack-arguments-set-up"
};

static _KLsymbolGVKd KJnlx_tags_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K94
};

static _KLbyte_stringGVKd_8 K94 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "nlx-tags"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K95 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &KbytesPVdfmc_harp_cg
};

static _KLbyte_stringGVKd_12 K96 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "stack vector"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K97 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Knumber_of_stack_allocated_argumentsVdfmc_harp_cg
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_stack_allocate_vector_for_tail_callQF100 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K102,
  &Kanonymous_of_stack_allocate_vector_for_tail_callQF100I,
  (D) 1
};

_KLsimple_methodGVKe Ktail_call_optimizableQVdfmc_harp_cg = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K45,
  &Ktail_call_optimizableQVdfmc_harp_cgI
};

static _KLsignatureGVKe K102 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K103
};

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

static _KLsignatureGVKe K104 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 42991633,
  &K105
};

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

static _KLsymbolGVKd KJreturn_address_shift_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K111
};

static _KLsymbolGVKd KJoptionals_marker_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K110
};

static _KLbyte_stringGVKd_16 K110 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "optionals-marker"
};

static _KLbyte_stringGVKd_20 K111 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "return-address-shift"
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_same_optionals_as_callerQF114 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_same_optionals_as_callerQF114I,
  (D) 1
};

_KLsimple_methodGVKe Kmove_stack_arguments_to_virtualsVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K126,
  &Kmove_stack_arguments_to_virtualsVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Ksafe_registerVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K124,
  &Ksafe_registerVdfmc_harp_cgMM0I
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K122 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &KbytesPVdfmc_harp_cg
};

static _KLbyte_stringGVKd_26 K123 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "stack vector for tail call"
};

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

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

static _KLsignatureAvaluesGVKi K126 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555473,
  &K127,
  &KDsignature_LsequenceG_typesVKi
};

static _KLsimple_object_vectorGVKd_4 K127 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KLharp_back_endGYbase_harpVharp,
  &KLsequenceGVKd,
  &KLnumberGVKd,
  &KLnumberGVKd
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K128 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Knumber_of_stack_allocated_argumentsVdfmc_harp_cg
};

_KLincremental_generic_functionGVKe Karguments_set_upVdfmc_harp_cg = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &K148,
  (D) 1,
  &K149,
  &KPempty_listVKi,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 25
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K130 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kemit_call_prologVdfmc_harp_cg
};

_KLsealed_generic_functionGVKe Kemit_call_prologVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 5,
  &K141,
  &K138,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kemit_call_prologVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K146,
  &Kemit_call_prologVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kemit_call_prologVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K144,
  &Kemit_call_prologVdfmc_harp_cgMM1I
};

_KLsimple_methodGVKe Kemit_call_prologVdfmc_harp_cgMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K142,
  &Kemit_call_prologVdfmc_harp_cgMM2I
};

static _KLpairGVKd K138 = {
  &KLpairGVKdW /* wrapper */,
  &Kemit_call_prologVdfmc_harp_cgMM0,
  &K139
};

static _KLpairGVKd K139 = {
  &KLpairGVKdW /* wrapper */,
  &Kemit_call_prologVdfmc_harp_cgMM1,
  &K140
};

static _KLpairGVKd K140 = {
  &KLpairGVKdW /* wrapper */,
  &Kemit_call_prologVdfmc_harp_cgMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_16 K141 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "emit-call-prolog"
};

static _KLsignatureGVKe K142 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K143
};

static _KLsimple_object_vectorGVKd_3 K143 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLharp_back_endGYbase_harpVharp,
  &KLsimple_callGVdfmc_flow_graph,
  &KLBiepGVdfmc_modeling
};

static _KLsignatureGVKe K144 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K145
};

static _KLsimple_object_vectorGVKd_3 K145 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLharp_back_endGYbase_harpVharp,
  &KLmethod_callGVdfmc_flow_graph,
  &KLBiepGVdfmc_modeling
};

static _KLsignatureGVKe K146 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K147
};

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

static _KLsignatureAvaluesGVKi K148 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K150,
  &KDsignature_LsequenceG_typesVKi
};

static _KLbyte_stringGVKd_16 K149 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "arguments-set-up"
};

static _KLsimple_object_vectorGVKd_3 K150 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLharp_back_endGYbase_harpVharp,
  &KLfunction_callGVdfmc_flow_graph,
  &KLsequenceGVKd
};

static _KLsignatureGVKe K151 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 42991637,
  &K152
};

static _KLsimple_object_vectorGVKd_5 K152 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &KLharp_back_endGYbase_harpVharp,
  &KLsimple_callGVdfmc_flow_graph,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &KLobjectGVKd
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K153 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kemit_call_prologVdfmc_harp_cg
};

static _KLsymbolGVKd KJpointer_into_stack_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K156
};

static _KLbyte_stringGVKd_18 K156 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "pointer-into-stack"
};

_KLsimple_methodGVKe Knew_stack_allocated_dataQVdfmc_harp_cg = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Knew_stack_allocated_dataQVdfmc_harp_cgI
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K158 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kemit_call_prologVdfmc_harp_cg
};

static _KLsignatureGVKe K159 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 42991641,
  &K160
};

static _KLsimple_object_vectorGVKd_6 K160 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLharp_back_endGYbase_harpVharp,
  &KLmethod_callGVdfmc_flow_graph,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &KLobjectGVKd
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K161 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kemit_call_prologVdfmc_harp_cg
};

static _KLsymbolGVKd KJarg_count_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K163
};

static _KLbyte_stringGVKd_9 K163 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "arg-count"
};

static _KLbyte_stringGVKd_25 K165 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "Set up stack for mep-call"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K166 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kop__rawVdfmc_harp_cg
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K167 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &KbytesPVdfmc_harp_cg
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K168 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &KbytesPVdfmc_harp_cg
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K169 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &KbytesPVdfmc_harp_cg
};

static _KLsignatureGVKe K170 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 42991637,
  &K171
};

static _KLsimple_object_vectorGVKd_5 K171 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &KLharp_back_endGYbase_harpVharp,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &KLobjectGVKd
};

_KLincremental_generic_functionGVKe Kop__push_space_for_calleeVdfmc_harp_cg = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K183,
  (D) 1,
  &K210,
  &K209,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 25
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K177 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 196665,
  &KPfalseVKi,
  &cache_header_engine_3,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kpop_stackVdfmc_harp_cg
};

_KLsealed_generic_functionGVKe Kpop_stackVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 13,
  &K192,
  &K190,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLincremental_generic_functionGVKe Kop__pop_space_for_calleeVdfmc_harp_cg = {
  &KLincremental_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K183,
  (D) 1,
  &K184,
  &K182,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kdfmc_harp_cg_moduleYdylan_userVdfmc_harp_cg,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 25
};

_KLsimple_methodGVKe Kop__pop_space_for_calleeVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K183,
  &Kop__pop_space_for_calleeVdfmc_harp_cgMM0I
};

static _KLpairGVKd K182 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__pop_space_for_calleeVdfmc_harp_cgMM0,
  &KPempty_listVKi
};

static _KLsignatureGVKe K183 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K185
};

static _KLbyte_stringGVKd_24 K184 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "op--pop-space-for-callee"
};

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

_KLsimple_methodGVKe Kpop_stackVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K198,
  &Kpop_stackVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kpop_stackVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K193,
  &Kpop_stackVdfmc_harp_cgMM1I
};

static _KLpairGVKd K190 = {
  &KLpairGVKdW /* wrapper */,
  &Kpop_stackVdfmc_harp_cgMM0,
  &K191
};

static _KLpairGVKd K191 = {
  &KLpairGVKdW /* wrapper */,
  &Kpop_stackVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_9 K192 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "pop-stack"
};

static _KLsignatureGVKe K193 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K194
};

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

static _KLsingletonGVKd K195 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJstdcall_
};

static _KLsymbolGVKd KJstdcall_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K197
};

static _KLbyte_stringGVKd_7 K197 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "stdcall"
};

static _KLsignatureGVKe K198 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943053,
  &K199
};

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

static _KLsingletonGVKd K200 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJcdecl_
};

static _KLsymbolGVKd KJcdecl_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K202
};

static _KLbyte_stringGVKd_5 K202 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "cdecl"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K205 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &KbytesPVdfmc_harp_cg
};

static _KLbyte_stringGVKd_87 K206 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 349,
  "Passing structs by value calling convention Not Yet Implemented for c machine registers"
};

_KLsimple_methodGVKe Kop__push_space_for_calleeVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K183,
  &Kop__push_space_for_calleeVdfmc_harp_cgMM0I
};

static _KLpairGVKd K209 = {
  &KLpairGVKdW /* wrapper */,
  &Kop__push_space_for_calleeVdfmc_harp_cgMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_25 K210 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "op--push-space-for-callee"
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_c_ffi_arguments_sizeF213 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kanonymous_of_c_ffi_arguments_sizeF213I,
  (D) 1
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K214 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 65593,
  &KPfalseVKi,
  &cache_header_engine_4,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kemit_ffi_resultVdfmc_harp_cg
};

_KLsealed_generic_functionGVKe Karguments_in_registersVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K222,
  &K220,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Karguments_in_registersVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K225,
  &Karguments_in_registersVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Karguments_in_registersVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K223,
  &Karguments_in_registersVdfmc_harp_cgMM1I
};

static _KLpairGVKd K220 = {
  &KLpairGVKdW /* wrapper */,
  &Karguments_in_registersVdfmc_harp_cgMM0,
  &K221
};

static _KLpairGVKd K221 = {
  &KLpairGVKdW /* wrapper */,
  &Karguments_in_registersVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_22 K222 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "arguments-in-registers"
};

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

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

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

_KLsimple_methodGVKe Karguments_on_stackVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K225,
  &Karguments_on_stackVdfmc_harp_cgMM0I
};

_KLsealed_generic_functionGVKe Kc_arguments_in_registersVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K233,
  &K231,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kc_arguments_in_registersVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K225,
  &Kc_arguments_in_registersVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kc_arguments_in_registersVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K223,
  &Kc_arguments_in_registersVdfmc_harp_cgMM1I
};

static _KLpairGVKd K231 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_arguments_in_registersVdfmc_harp_cgMM0,
  &K232
};

static _KLpairGVKd K232 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_arguments_in_registersVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K233 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "c-arguments-in-registers"
};

_KLsealed_generic_functionGVKe Kc_arguments_on_stackVdfmc_harp_cg = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K241,
  &K239,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kc_arguments_on_stackVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K225,
  &Kc_arguments_on_stackVdfmc_harp_cgMM0I
};

_KLsimple_methodGVKe Kc_arguments_on_stackVdfmc_harp_cgMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K223,
  &Kc_arguments_on_stackVdfmc_harp_cgMM1I
};

static _KLpairGVKd K239 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_arguments_on_stackVdfmc_harp_cgMM0,
  &K240
};

static _KLpairGVKd K240 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_arguments_on_stackVdfmc_harp_cgMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K241 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "c-arguments-on-stack"
};

_KLsimple_methodGVKe Kargument_register_paddingVdfmc_harp_cgMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K223,
  &Kargument_register_paddingVdfmc_harp_cgMM0I
};

/* Code */

D Kcall_c_primitiveVdfmc_harp_cgMM0I (D back_end_, D result_, D function_, D arguments_) {
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:113
  T6 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:114
  T5 = Kruntime_referenceVdfmc_harp_cgI(function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:114
  Kcall_foreign_functionVdfmc_harp_cgMM0I(back_end_, result_, T5, T6, &KPfalseVKi, &KPfalseVKi, IKJcdecl_, &KPempty_vectorVKi, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:115
  ENGINE_NODE_CALL_PROLOG(&Kemit_ffi_resultVdfmc_harp_cg, &K214, 4);
  T7 = ENGINE_NODE_CALL4(&K214, back_end_, result_, &KPfalseVKi, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:113
  MV_SET_COUNT(0);
  return(T7);
}

D Kcall_foreign_functionVdfmc_harp_cgMM0I (D back_end_, D result_, D function_, D the_arguments_, D typespecs_, D result_typespec_, D calling_convention_, D Urest_, D preserve_tebQ_) {
  D arguments_size_;
  D teb_;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  DWORD T19;
  DWORD T20;
  DWORD T21;
  DWORD T22;
  D T23;
  D T24;
  D T25;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:711
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:714
  arguments_size_ = Kc_ffi_arguments_sizeVdfmc_harp_cgMM0I(the_arguments_, typespecs_, result_typespec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:717
  CONGRUENT_CALL_PROLOG(&Kop__push_space_for_calleeVdfmc_harp_cg, 1);
  CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:719
  Kc_register_arguments_set_upVdfmc_harp_cgMM0I(back_end_, the_arguments_, typespecs_, result_typespec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:720
  Kc_stack_arguments_set_upVdfmc_harp_cgMM0I(back_end_, the_arguments_, typespecs_, result_typespec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:721
  if (preserve_tebQ_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:722
    teb_ = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:723
    CALL2(&Kins__get_tebYnative_instructionsVharp_nativeMM0, back_end_, teb_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:724
    T12 = CALL1(&Kteb_runtime_state_offsetYthread_environmentVharp_nativeMM0, back_end_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:724
    CALL4(&Kins__stYnative_instructionsVharp_nativeMM0, back_end_, (D) 1, teb_, T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:727
    T15 = Kc_arguments_in_registersVdfmc_harp_cgMM1I(back_end_, arguments_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:725
    CALL3(&Kins__call_alienYnative_instructionsVharp_nativeMM0, back_end_, function_, T15);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:728
    CALL2(&Kins__set_tebYnative_instructionsVharp_nativeMM0, back_end_, teb_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:729
    T13 = CALL1(&Kteb_runtime_state_offsetYthread_environmentVharp_nativeMM0, back_end_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:729
    CALL4(&Kins__stYnative_instructionsVharp_nativeMM0, back_end_, (D) -3, teb_, T13);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:733
    T16 = Kc_arguments_in_registersVdfmc_harp_cgMM1I(back_end_, arguments_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:731
    CALL3(&Kins__call_alienYnative_instructionsVharp_nativeMM0, back_end_, function_, T16);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:721
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T17 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T18 = SLOT_VALUE_INITD(T17, 53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T19 = primitive_cast_integer_as_raw(arguments_size_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T20 = primitive_cast_integer_as_raw(T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T21 = primitive_machine_word_logxor(T20,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T22 = primitive_machine_word_subtract_signal_overflow(T19,T21);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T23 = primitive_cast_raw_as_integer(T22);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  T25 = primitive_machine_word_less_thanQ(1,T22);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  if (T25 != &KPfalseVKi) {
    T24 = T23;
  } else {
    T24 = (D) 1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:740
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:739
  ENGINE_NODE_CALL_PROLOG(&Kpop_stackVdfmc_harp_cg, &K177, 3);
  ENGINE_NODE_CALL3(&K177, back_end_, T24, calling_convention_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:744
  CONGRUENT_CALL_PROLOG(&Kop__pop_space_for_calleeVdfmc_harp_cg, 1);
  T14 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:711
  MV_SET_COUNT(0);
  return(T14);
}

D Kcall_mep_applyVdfmc_harp_cgMM0I (D back_end_, D c_, D result_, D function_, D next_methods_, D arguments_) {
  D meth_;
  D T8;
  D T9;
  D number_required_;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18_0;
  D T19;
  D T20;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:200
  T14 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:202
  meth_ = CALL1(&Kcall_effective_functionVdfmc_conversion, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:205
  if (meth_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-main.dylan:2011
    T15 = meth_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:205
    CONGRUENT_CALL_PROLOG(&Ksignature_specVdfmc_modeling, 1);
    T8 = CONGRUENT_CALL1(T15);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:205
    T9 = CALL1(&Kspec_argument_number_requiredVdfmc_definitions, T8);
    number_required_ = T9;
  } else {
    number_required_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:205
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
  T16 = primitive_instanceQ(meth_,&KLBmethodGVdfmc_modeling);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
  if (T16 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
    T17 = SLOT_VALUE_INITD(T14, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T18_0 = CONGRUENT_CALL2(number_required_, T17);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
    T19 = T18_0;
    T11 = T19;
  } else {
    T11 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
  if (T11 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:208
    Kop__mep_apply_nVdfmc_harp_cgI(back_end_, number_required_, function_, next_methods_, T14);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:213
    T12 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
    T13 = T12;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:215
    T20 = APPLY6(&Kcall_primitiveVdfmc_harp_cgMM0, back_end_, result_, Dprimitive_mep_applyVdfmc_harp_cg, function_, next_methods_, T14);
    T13 = T20;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:207
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:200
  MV_SET_COUNT(0);
  return(T13);
}

D Kcall_applyVdfmc_harp_cgMM0I (D back_end_, D result_, D function_, D arguments_) {
  D arguments_ct_;
  D T6;
  D T7;
  D apply_xep_;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  DWORD T14;
  DWORD T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:118
  T12 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:119
  arguments_ct_ = Kpush_argumentsVdfmc_harp_cgMM0I(back_end_, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:120
  T13 = SLOT_VALUE_INITD(T12, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:120
  T14 = primitive_cast_integer_as_raw(T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:120
  T15 = primitive_machine_word_subtract_signal_overflow(T14,4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:120
  T16 = primitive_cast_raw_as_integer(T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:121
  T17 = primitive_machine_word_less_thanQ(37,T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:123
  if (T17 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:124
    T6 = CALL2(&KelementVKd, Dapply_xepsVdfmc_harp_cg, (D) 41);
    apply_xep_ = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:126
    T7 = CALL2(&KelementVKd, Dapply_xepsVdfmc_harp_cg, T16);
    apply_xep_ = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:123
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:129
  if (T17 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:130
    T18 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:130
    T19 = SLOT_VALUE_INITD(T18, 9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:130
    Kins__moveYharp_instructionsVharpMM0I(back_end_, T19, T13);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:129
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:132
  T20 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:132
  T21 = SLOT_VALUE_INITD(T20, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:132
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T21, function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:133
  T9 = Kruntime_referenceVdfmc_harp_cgI(apply_xep_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:135
  T10 = primitive_read_thread_variable(Tlive_nlx_tagsTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:133
  CALL7(&Kins__callYnative_instructionsVharp_nativeMM0, back_end_, T9, arguments_ct_, IKJarg_count_, T17, IKJnlx_tags_, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:137
  T11 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:118
  MV_SET_COUNT(0);
  return(T11);
}

D Ktail_call_optimizableQVdfmc_harp_cgI (D back_end_, D c_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:633
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:634
  T7 = primitive_instanceQ(c_,&KLsimple_callGVdfmc_flow_graph);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:634
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-main.dylan:1674
    T6 = c_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:634
    T2 = primitive_read_thread_variable(Ttail_callsTVdfmc_harp_cg);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:634
    T3 = CALL2(&KmemberQVKd, T6, T2);
    T5 = T3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:634
    T4 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:634
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:633
  return(T5);
}

D Ktail_call_mepVdfmc_harp_cgMM0I (D back_end_, D c_, D f_, D result_, D function_, D next_methods_, D arguments_) {
  D same_optionalsQ_;
  D T9;
  D argumentsF10;
  D T11_0;
  D T11_1;
  D T11_2;
  D ret_addr_shft_;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22_0;
  D T23;
  D T24;
  D T25_0;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:494
  T18 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:495
  same_optionalsQ_ = Ksame_optionals_as_callerQVdfmc_harp_cgMM0I(back_end_, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:497
  if (same_optionalsQ_ != &KPfalseVKi) {
    argumentsF10 = T18;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:500
    CONGRUENT_CALL_PROLOG(&Karguments_set_upVdfmc_harp_cg, 3);
    T9 = CONGRUENT_CALL3(back_end_, c_, T18);
    argumentsF10 = T9;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:497
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:503
  T11_0 = Ktail_call_prologVdfmc_harp_cgMM0I(back_end_, c_, function_, next_methods_, argumentsF10);
  T11_1 = MV_GET_ELT(1);
  T11_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:502
  ret_addr_shft_ = T11_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:505
  ENGINE_NODE_CALL_PROLOG(&Kemit_call_prologVdfmc_harp_cg, &K161, 3);
  ENGINE_NODE_CALL3(&K161, back_end_, c_, f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:507
  T19 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:507
  T20 = SLOT_VALUE_INITD(T19, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:508
  CONGRUENT_CALL_PROLOG(&Kfunction_mep_offsetYharp_dylan_parameterizationsVharp, 1);
  T13 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T21 = CONGRUENT_CALL1(argumentsF10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  T23 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  T24 = SLOT_VALUE_INITD(T23, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T26 = CONGRUENT_CALL2(T21, T24);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  if (T26 != &KPfalseVKi) {
    T27 = T21;
  } else {
    T27 = T24;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  T25_0 = T27;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  T22_0 = T25_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T25_0);
    primitive_type_check(T22_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:509
  T28 = T22_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:510
  T29 = KbytesPVdfmc_harp_cgMM0I(back_end_, ret_addr_shft_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:512
  if (same_optionalsQ_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:513
    T30 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:513
    T31 = SLOT_VALUE(T30, 5);
    T15 = T31;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:515
    T32 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:515
    T33 = SLOT_VALUE(T32, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:515
    CONGRUENT_CALL_PROLOG(&Karg_spill_locationYbase_harpVharp, 1);
    T14 = CONGRUENT_CALL1(T33);
    T15 = T14;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:512
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:518
  T16 = Kstacked_vector_arg_spillVdfmc_harp_cgMM0I(back_end_, c_, ret_addr_shft_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:506
  CALL10(&Kins__jmp_indirectYnative_instructionsVharp_nativeMM0, back_end_, T20, T13, T28, IKJreturn_address_shift_, T29, IKJoptionals_marker_, T15, IKJpointer_into_stack_, T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:519
  T17 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:494
  MV_SET_COUNT(0);
  return(T17);
}

D Kcall_mepVdfmc_harp_cgMM0I (D back_end_, D c_, D f_, D result_, D function_, D next_methods_, D the_arguments_) {
  D arguments_ct_;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  DWORD T15;
  DWORD T16;
  D T17;
  D T18;
  DWORD T19;
  DWORD T20;
  DWORD T21;
  DWORD T22;
  D T23;
  DWORD T24;
  DWORD T25;
  D T26;
  D T27;
  DWORD T28;
  DWORD T29;
  DWORD T30;
  D T31;
  D T32;
  D T33;
  D T34;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:82
  T12 = primitive_copy_vector(the_arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:86
  T13 = Koptional_argumentsQVdfmc_harp_cgMM4I(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:86
  if (T13 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:87
    T14 = SLOT_VALUE_INITD(T12, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T15 = primitive_cast_integer_as_raw(T14);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T16 = primitive_machine_word_add_signal_overflow(T15,4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    T17 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    T18 = SLOT_VALUE_INITD(T17, 52);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    T19 = primitive_cast_integer_as_raw(T18);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    T20 = primitive_machine_word_logxor(T15,1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    T21 = primitive_machine_word_subtract_signal_overflow(T19,T20);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    T23 = primitive_machine_word_less_thanQ(1,T21);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    if (T23 != &KPfalseVKi) {
      T22 = T21;
    } else {
      T22 = 1;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:93
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T24 = primitive_machine_word_logxor(T22,1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T25 = primitive_machine_word_add_signal_overflow(T16,T24);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:94
    T26 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:94
    T27 = SLOT_VALUE_INITD(T26, 52);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T28 = primitive_cast_integer_as_raw(T27);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T29 = primitive_machine_word_logxor(T28,1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T30 = primitive_machine_word_subtract_signal_overflow(T25,T29);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:91
    T31 = primitive_cast_raw_as_integer(T30);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:90
    T32 = KbytesPVdfmc_harp_cgMM0I(back_end_, T31);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:88
    CALL2(&Kins__pushYnative_instructionsVharp_nativeMM0, back_end_, T32);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:96
  arguments_ct_ = Kpush_argumentsVdfmc_harp_cgMM0I(back_end_, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:98
  ENGINE_NODE_CALL_PROLOG(&Kemit_call_prologVdfmc_harp_cg, &K158, 3);
  ENGINE_NODE_CALL3(&K158, back_end_, c_, f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:99
  T33 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:99
  T34 = SLOT_VALUE_INITD(T33, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:100
  CONGRUENT_CALL_PROLOG(&Kfunction_mep_offsetYharp_dylan_parameterizationsVharp, 1);
  T9 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:101
  T10 = primitive_read_thread_variable(Tlive_nlx_tagsTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:99
  CALL6(&Kins__call_indirectYnative_instructionsVharp_nativeMM0, back_end_, T34, T9, arguments_ct_, IKJnlx_tags_, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:102
  T11 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:82
  MV_SET_COUNT(0);
  return(T11);
}

D Ktail_call_engine_nodeVdfmc_harp_cgMM0I (D back_end_, D c_, D result_, D engine_, D arguments_) {
  D same_optionalsQ_;
  D T7;
  D argumentsF8;
  D T9;
  D functionF10;
  D T11_0;
  D T11_1;
  D T11_2;
  D engineF12;
  D functionF13;
  D ret_addr_shft_;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31_0;
  D T32;
  D T33;
  D T34_0;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:460
  T21 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:461
  same_optionalsQ_ = Ksame_optionals_as_callerQVdfmc_harp_cgMM0I(back_end_, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:463
  if (same_optionalsQ_ != &KPfalseVKi) {
    argumentsF8 = T21;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:466
    CONGRUENT_CALL_PROLOG(&Karguments_set_upVdfmc_harp_cg, 3);
    T7 = CONGRUENT_CALL3(back_end_, c_, T21);
    argumentsF8 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:463
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:468
  CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
  T9 = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:468
  CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
  functionF10 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:470
  T11_0 = Ktail_call_prologVdfmc_harp_cgMM0I(back_end_, c_, engine_, functionF10, argumentsF8);
  T11_1 = MV_GET_ELT(1);
  T11_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:469
  engineF12 = T11_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:469
  functionF13 = T11_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:469
  ret_addr_shft_ = T11_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:472
  if (engineF12 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:473
    T22 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:473
    T23 = SLOT_VALUE_INITD(T22, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:473
    Kins__moveYharp_instructionsVharpMM0I(back_end_, T23, engineF12);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:475
    T24 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:475
    T25 = SLOT_VALUE_INITD(T24, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:476
    CONGRUENT_CALL_PROLOG(&Kgeneric_function_engine_offsetYharp_dylan_parameterizationsVharp, 1);
    T15 = CONGRUENT_CALL1(back_end_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:475
    Kins__loadVdfmc_harp_cgMM0I(back_end_, T25, functionF13, T15);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:472
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:478
  T26 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:478
  T27 = SLOT_VALUE_INITD(T26, 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:478
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T27, functionF13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:481
  T28 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:481
  T29 = SLOT_VALUE_INITD(T28, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:482
  CONGRUENT_CALL_PROLOG(&Kengine_node_entry_point_offsetYharp_dylan_parameterizationsVharp, 1);
  T16 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T30 = CONGRUENT_CALL1(argumentsF8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  T32 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  T33 = SLOT_VALUE_INITD(T32, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T35 = CONGRUENT_CALL2(T30, T33);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  if (T35 != &KPfalseVKi) {
    T36 = T30;
  } else {
    T36 = T33;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  T34_0 = T36;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  T31_0 = T34_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T34_0);
    primitive_type_check(T31_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:483
  T37 = T31_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:484
  T38 = KbytesPVdfmc_harp_cgMM0I(back_end_, ret_addr_shft_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:486
  if (same_optionalsQ_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:487
    T39 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:487
    T40 = SLOT_VALUE(T39, 5);
    T18 = T40;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:489
    T41 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:489
    T42 = SLOT_VALUE(T41, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:489
    CONGRUENT_CALL_PROLOG(&Karg_spill_locationYbase_harpVharp, 1);
    T17 = CONGRUENT_CALL1(T42);
    T18 = T17;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:486
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:491
  T19 = Kstacked_vector_arg_spillVdfmc_harp_cgMM0I(back_end_, c_, ret_addr_shft_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:480
  T20 = CALL10(&Kins__jmp_indirectYnative_instructionsVharp_nativeMM0, back_end_, T29, T16, T37, IKJreturn_address_shift_, T38, IKJoptionals_marker_, T18, IKJpointer_into_stack_, T19);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:460
  MV_SET_COUNT(0);
  return(T20);
}

D Kcall_engine_nodeVdfmc_harp_cgMM0I (D back_end_, D c_, D result_, D engine_, D arguments_) {
  D argumentsF6;
  D arguments_ct_;
  D T8;
  D c_function_;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:63
  T14 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:64
  CONGRUENT_CALL_PROLOG(&Karguments_set_upVdfmc_harp_cg, 3);
  argumentsF6 = CONGRUENT_CALL3(back_end_, c_, T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:65
  arguments_ct_ = Kpush_argumentsVdfmc_harp_cgMM0I(back_end_, argumentsF6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:66
  CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
  T8 = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:66
  CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
  c_function_ = CONGRUENT_CALL3(back_end_, &KPfalseVKi, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:68
  T16 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:68
  T17 = SLOT_VALUE_INITD(T16, 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:68
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T17, c_function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:69
  if (engine_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-main.dylan:1949
    T15 = engine_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:70
    T18 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:70
    T19 = SLOT_VALUE_INITD(T18, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:70
    Kins__moveYharp_instructionsVharpMM0I(back_end_, T19, T15);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:72
    T20 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:72
    T21 = SLOT_VALUE_INITD(T20, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:73
    CONGRUENT_CALL_PROLOG(&Kgeneric_function_engine_offsetYharp_dylan_parameterizationsVharp, 1);
    T10 = CONGRUENT_CALL1(back_end_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:72
    Kins__loadVdfmc_harp_cgMM0I(back_end_, T21, c_function_, T10);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:69
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:76
  T22 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:76
  T23 = SLOT_VALUE_INITD(T22, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:77
  CONGRUENT_CALL_PROLOG(&Kengine_node_entry_point_offsetYharp_dylan_parameterizationsVharp, 1);
  T11 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:78
  T12 = primitive_read_thread_variable(Tlive_nlx_tagsTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:76
  CALL6(&Kins__call_indirectYnative_instructionsVharp_nativeMM0, back_end_, T23, T11, arguments_ct_, IKJnlx_tags_, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:79
  T13 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:63
  MV_SET_COUNT(0);
  return(T13);
}

D Ktail_call_iepVdfmc_harp_cgMM0I (D back_end_, D c_, D f_, D result_, D func_, D arguments_) {
  D same_optionalsQ_;
  D T8;
  D argumentsF9;
  D T10_0;
  D T10_1;
  D T10_2;
  D funcF11;
  D ret_addr_shft_;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19_0;
  D T20;
  D T21;
  D T22_0;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:434
  T17 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:435
  same_optionalsQ_ = Ksame_optionals_as_callerQVdfmc_harp_cgMM0I(back_end_, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:437
  if (same_optionalsQ_ != &KPfalseVKi) {
    argumentsF9 = T17;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:440
    CONGRUENT_CALL_PROLOG(&Karguments_set_upVdfmc_harp_cg, 3);
    T8 = CONGRUENT_CALL3(back_end_, c_, T17);
    argumentsF9 = T8;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:437
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:443
  T10_0 = Ktail_call_prologVdfmc_harp_cgMM0I(back_end_, c_, func_, &KPfalseVKi, argumentsF9);
  T10_1 = MV_GET_ELT(1);
  T10_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:442
  funcF11 = T10_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:442
  ret_addr_shft_ = T10_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:445
  ENGINE_NODE_CALL_PROLOG(&Kemit_call_prologVdfmc_harp_cg, &K153, 3);
  ENGINE_NODE_CALL3(&K153, back_end_, c_, f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T18 = CONGRUENT_CALL1(argumentsF9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  T20 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  T21 = SLOT_VALUE_INITD(T20, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T23 = CONGRUENT_CALL2(T18, T21);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  if (T23 != &KPfalseVKi) {
    T24 = T18;
  } else {
    T24 = T21;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  T22_0 = T24;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  T19_0 = T22_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T22_0);
    primitive_type_check(T19_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:449
  T25 = T19_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:450
  T26 = KbytesPVdfmc_harp_cgMM0I(back_end_, ret_addr_shft_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:452
  if (same_optionalsQ_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:453
    T27 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:453
    T28 = SLOT_VALUE(T27, 5);
    T14 = T28;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:455
    T29 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:455
    T30 = SLOT_VALUE(T29, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:455
    CONGRUENT_CALL_PROLOG(&Karg_spill_locationYbase_harpVharp, 1);
    T13 = CONGRUENT_CALL1(T30);
    T14 = T13;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:452
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:457
  T15 = Kstacked_vector_arg_spillVdfmc_harp_cgMM0I(back_end_, c_, ret_addr_shft_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:447
  T16 = CALL9(&Kins__jmpYnative_instructionsVharp_nativeMM0, back_end_, funcF11, T25, IKJreturn_address_shift_, T26, IKJoptionals_marker_, T14, IKJpointer_into_stack_, T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:434
  MV_SET_COUNT(0);
  return(T16);
}

D Kcall_iepVdfmc_harp_cgMM0I (D back_end_, D c_, D f_, D result_, D func_, D arguments_) {
  D argumentsF7;
  D arguments_ct_;
  D T9;
  D T10;
  D T11;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:52
  T11 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:53
  CONGRUENT_CALL_PROLOG(&Karguments_set_upVdfmc_harp_cg, 3);
  argumentsF7 = CONGRUENT_CALL3(back_end_, c_, T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:54
  arguments_ct_ = Kpush_argumentsVdfmc_harp_cgMM0I(back_end_, argumentsF7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:56
  ENGINE_NODE_CALL_PROLOG(&Kemit_call_prologVdfmc_harp_cg, &K130, 3);
  ENGINE_NODE_CALL3(&K130, back_end_, c_, f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:59
  T9 = primitive_read_thread_variable(Tlive_nlx_tagsTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:58
  CALL5(&Kins__callYnative_instructionsVharp_nativeMM0, back_end_, func_, arguments_ct_, IKJnlx_tags_, T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:60
  T10 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:52
  MV_SET_COUNT(0);
  return(T10);
}

D Ktail_call_xepVdfmc_harp_cgMM0I (D back_end_, D c_, D result_, D function_, D arguments_) {
  D T6_0;
  D T6_1;
  D T6_2;
  D functionF7;
  D ret_addr_shft_;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  DWORD T25;
  DWORD T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:414
  T14 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:416
  T6_0 = Ktail_call_prologVdfmc_harp_cgMM0I(back_end_, c_, function_, &KPfalseVKi, T14);
  T6_1 = MV_GET_ELT(1);
  T6_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:415
  functionF7 = T6_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:415
  ret_addr_shft_ = T6_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:418
  T15 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:418
  T16 = SLOT_VALUE_INITD(T15, 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:418
  T17 = SLOT_VALUE_INITD(T14, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:418
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T16, T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:419
  T18 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:419
  T19 = SLOT_VALUE_INITD(T18, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:419
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T19, functionF7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:421
  T20 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:421
  T21 = SLOT_VALUE_INITD(T20, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:422
  CONGRUENT_CALL_PROLOG(&Kfunction_xep_offsetYharp_dylan_parameterizationsVharp, 1);
  T9 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:423
  T22 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:423
  T23 = SLOT_VALUE_INITD(T22, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:423
  T25 = primitive_cast_integer_as_raw(T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:423
  T26 = primitive_cast_integer_as_raw(T23);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:423
  T27 = primitive_machine_word_less_thanQ(T25,T26);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:423
  if (T27 != &KPfalseVKi) {
    T24 = T17;
  } else {
    T24 = T23;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:423
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:424
  T28 = KbytesPVdfmc_harp_cgMM0I(back_end_, ret_addr_shft_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:426
  T10 = Ksame_optionals_as_callerQVdfmc_harp_cgMM0I(back_end_, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:426
  if (T10 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:427
    T29 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:427
    T30 = SLOT_VALUE(T29, 5);
    T12 = T30;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:429
    T31 = SLOT_VALUE(back_end_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:429
    T32 = SLOT_VALUE(T31, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:429
    CONGRUENT_CALL_PROLOG(&Karg_spill_locationYbase_harpVharp, 1);
    T11 = CONGRUENT_CALL1(T32);
    T12 = T11;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:426
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:420
  CALL8(&Kins__jmp_indirectYnative_instructionsVharp_nativeMM0, back_end_, T21, T9, T24, IKJreturn_address_shift_, T28, IKJoptionals_marker_, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:431
  T13 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:414
  MV_SET_COUNT(0);
  return(T13);
}

D Kcall_xepVdfmc_harp_cgMM0I (D back_end_, D c_, D result_, D function_, D arguments_) {
  D arguments_ct_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:42
  T10 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:43
  arguments_ct_ = Kpush_argumentsVdfmc_harp_cgMM0I(back_end_, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:44
  T11 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:44
  T12 = SLOT_VALUE_INITD(T11, 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:44
  T13 = SLOT_VALUE_INITD(T10, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:44
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T12, T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:45
  T14 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:45
  T15 = SLOT_VALUE_INITD(T14, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:45
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T15, function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:46
  T16 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:46
  T17 = SLOT_VALUE_INITD(T16, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:47
  CONGRUENT_CALL_PROLOG(&Kfunction_xep_offsetYharp_dylan_parameterizationsVharp, 1);
  T7 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:48
  T8 = primitive_read_thread_variable(Tlive_nlx_tagsTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:46
  CALL6(&Kins__call_indirectYnative_instructionsVharp_nativeMM0, back_end_, T17, T7, arguments_ct_, IKJnlx_tags_, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:49
  T9 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:42
  MV_SET_COUNT(0);
  return(T9);
}

D Kstack_allocate_vector_for_tail_callQVdfmc_harp_cgMM0I (D c_) {
  D T2;
  D T3;
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:637
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:642
  T4 = SLOT_VALUE_INITD(c_, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:642
  CONGRUENT_CALL_PROLOG(&KusersVdfmc_common, 1);
  T2 = CONGRUENT_CALL1(T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:639
  T3 = CALL2(&KanyQVKd, &Kanonymous_of_stack_allocate_vector_for_tail_callQF100, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:637
  return(T3);
}

D Ktail_call_stack_vector_startVdfmc_harp_cgMM0I (D back_end_, D number_values_) {
  D T3;
  D stack_vector_end_;
  D T5;
  D stack_vector_start_;
  D T7_0;
  D T8_0;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:341
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:345
  T9 = SLOT_VALUE(back_end_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:345
  T10 = SLOT_VALUE(T9, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:347
  T11 = SLOT_VALUE(back_end_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:347
  T12 = SLOT_VALUE_INITD(T11, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:346
  ENGINE_NODE_CALL_PROLOG(&Knumber_of_stack_allocated_argumentsVdfmc_harp_cg, &K97, 2);
  T13 = ENGINE_NODE_CALL2(&K97, back_end_, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:345
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T3 = CONGRUENT_CALL2(T10, T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:345
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  stack_vector_end_ = CONGRUENT_CALL2(T3, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:348
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T5 = CONGRUENT_CALL2(stack_vector_end_, number_values_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:348
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  stack_vector_start_ = CONGRUENT_CALL2(T5, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:350
  T7_0 = stack_vector_start_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:341
  T8_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T8_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:341
  MV_SET_COUNT(1);
  return(T8_0);
}

D Kstack_allocate_vector_for_normal_callVdfmc_harp_cgMM0I (D back_end_, D result_, D number_values_, D arguments_) {
  D class_wrapper_;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15T, T15;
  DWORD i_T, i_;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D stack_vector_size_;
  D T25;
  D T26;
  DWORD T27;
  D T28;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:302
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:303
  T21 = KBobject_classVdfmc_modelingMM0I(&KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:303
  CONGRUENT_CALL_PROLOG(&KCclass_mm_wrapperVdfmc_modeling, 1);
  class_wrapper_ = CONGRUENT_CALL1(T21);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:304
  T22 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:304
  T23 = SLOT_VALUE_INITD(T22, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:305
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T6 = CONGRUENT_CALL2(number_values_, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:305
  ENGINE_NODE_CALL_PROLOG(&KbytesPVdfmc_harp_cg, &K95, 2);
  stack_vector_size_ = ENGINE_NODE_CALL2(&K95, back_end_, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:307
  Kins__remYharp_instructionsVharpMM0I(back_end_, &K96);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:308
  Kins__subYharp_instructionsVharpMM0I(back_end_, T23, T23, stack_vector_size_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:309
  CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
  T7 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, class_wrapper_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:309
  Kins__storeVdfmc_harp_cgMM0I(back_end_, T7, T23, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:310
  CONGRUENT_CALL_PROLOG(&Kemit_objectVdfmc_back_end, 3);
  T8 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, number_values_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:310
  T25 = KbytesPVdfmc_harp_cgMM0I(back_end_, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:310
  Kins__storeVdfmc_harp_cgMM0I(back_end_, T8, T23, T25);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  T9 = CALL1(&Kforward_iteration_protocolVKd, arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  T10 = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  T11 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  T12 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  T13 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  T14 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  T15T = T10;
  i_T = 9;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
    T15 = T15T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
    i_ = i_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
    T28 = primitive_cast_raw_as_integer(i_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
    T17 = CALL3(T13, arguments_, T15, T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
    if (T17 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
      T18 = CALL2(T14, arguments_, T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:313
      T26 = KbytesPVdfmc_harp_cgMM0I(back_end_, T28);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:313
      Kins__storeVdfmc_harp_cgMM0I(back_end_, T18, T23, T26);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
      T19 = CALL2(T12, arguments_, T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
      T27 = primitive_machine_word_add_signal_overflow(i_,4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
      T15T = T19;
      i_T = T27;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:312
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:316
  Kins__moveYharp_instructionsVharpMM0I(back_end_, result_, T23);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:318
  T20 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:302
  MV_SET_COUNT(0);
  return(T20);
}

D Kcall_primitiveVdfmc_harp_cgMM0I (D back_end_, D result_, D function_, D arguments_) {
  D arguments_ct_;
  D function_ref_;
  D T7;
  D T8;
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:105
  T9 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:106
  arguments_ct_ = Kpush_argumentsVdfmc_harp_cgMM0I(back_end_, T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:107
  function_ref_ = Kruntime_referenceVdfmc_harp_cgI(function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:109
  T7 = primitive_read_thread_variable(Tlive_nlx_tagsTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:108
  CALL5(&Kins__callYnative_instructionsVharp_nativeMM0, back_end_, function_ref_, arguments_ct_, IKJnlx_tags_, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:110
  T8 = Kemit_result_assignmentVdfmc_harp_cgMM0I(back_end_, result_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:105
  MV_SET_COUNT(0);
  return(T8);
}

D Kpush_argumentsVdfmc_harp_cgMM0I (D back_end_, D arguments_) {
  D T3;
  D T4_0;
  D T5_0;
  D T6;
  D T7_0;
  D T8;
  D T9;
  D T10_0;
  D T11;
  D T12;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:277
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:280
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T3 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:280
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:281
    T4_0 = (D) 1;
    T5_0 = T4_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:283
    CONGRUENT_CALL_PROLOG(&Kstack_arguments_set_upVdfmc_harp_cg, 2);
    CONGRUENT_CALL2(back_end_, arguments_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:284
    CONGRUENT_CALL_PROLOG(&Kregister_arguments_set_upVdfmc_harp_cg, 2);
    CONGRUENT_CALL2(back_end_, arguments_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T6 = CONGRUENT_CALL1(arguments_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    T8 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    T9 = SLOT_VALUE_INITD(T8, 52);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T11 = CONGRUENT_CALL2(T6, T9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    if (T11 != &KPfalseVKi) {
      T12 = T6;
    } else {
      T12 = T9;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    T10_0 = T12;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:285
    T7_0 = T10_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T10_0);
      primitive_type_check(T7_0, &KLintegerGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:280
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:277
  MV_SET_COUNT(1);
  return(T5_0);
}

D Knew_stack_allocated_dataQVdfmc_harp_cgI (D arg_) {
  D T1;
  D T2;
  D T3;
  D T4;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:652
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:653
  T5 = primitive_instanceQ(arg_,&KLstack_vector_temporaryGVdfmc_flow_graph);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:653
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-prolog.dylan:302
    T4 = arg_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:654
    T1 = T4;
    MV_SET_ELT(0, T4);
    MV_SET_COUNT(1);
    T3 = T1;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:653
    T2 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T3 = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:653
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:652
  return(T3);
}

D Ktail_callQVdfmc_harp_cgMM0I (D back_end_, D c_) {
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:596
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  T3 = Ttail_call_optimizeQTVdfmc_harp_cg;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
    T4 = primitive_read_thread_variable(Temitting_init_codeQTVdfmc_harp_cg);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
    T15 = primitive_not(T4);
    T5 = T15;
  } else {
    T5 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:598
    T6 = Ktail_positionQVdfmc_optimizationMM0I(c_);
    T7 = T6;
  } else {
    T7 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:599
    T8 = Kstack_allocated_closuresQVdfmc_harp_cgMM0I(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:599
    T16 = primitive_not(T8);
    T9 = T16;
  } else {
    T9 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  if (T9 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:600
    T10 = Killegal_stack_allocated_dataQVdfmc_harp_cgMM0I(back_end_, c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:600
    T17 = primitive_not(T10);
    T11 = T17;
  } else {
    T11 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  if (T11 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:601
    T12 = Kadjust_multiple_valuesQVdfmc_harp_cgMM0I(back_end_, c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:601
    T18 = primitive_not(T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:601
    T19_0 = T18;
    T14 = T19_0;
    MV_SET_COUNT(1);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
    T13 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T14 = T13;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:597
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:596
  return(T14);
}

D Ktail_callQVdfmc_harp_cgMM1I (D back_end_, D c_) {
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:604
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:605
  T3 = &KPfalseVKi;
  MV_SET_ELT(0, &KPfalseVKi);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:604
  return(T3);
}

D Ktail_callQVdfmc_harp_cgMM2I (D back_end_, D c_) {
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:608
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:609
  T3 = &KPfalseVKi;
  MV_SET_ELT(0, &KPfalseVKi);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:608
  return(T3);
}

D Kstack_allocated_closuresQVdfmc_harp_cgMM0I (D c_) {
  D T2;
  D Utmp_;
  D T4_0;
  D T5_0;
  D T6;
  D T7_0;
  DWORD T8T, T8;
  D result_T, result_;
  D T10;
  D T11;
  DWORD T12;
  D T13;
  D T14;
  DWORD T15;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:627
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:628
  CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
  T2 = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:628
  Utmp_ = Kstack_allocated_closureQVdfmc_harp_cgMM0I(T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:628
  if (Utmp_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:628
    T4_0 = Utmp_;
    T5_0 = T4_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:630
    T6 = SLOT_VALUE_INITD(c_, 7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
    T11 = SLOT_VALUE_INITD(T6, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
    T12 = primitive_cast_integer_as_raw(T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
    T8T = 1;
    result_T = &KPfalseVKi;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
      T8 = T8T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
      result_ = result_T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
      T13 = primitive_machine_word_equalQ(T8,T12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
      if (T13 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
        T14 = REPEATED_D_SLOT_VALUE_TAGGED(T6, 1, T8);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
        if (result_ == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
          T15 = primitive_machine_word_add_signal_overflow(T8,4);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
          T10 = Kstack_allocated_closureQVdfmc_harp_cgMM0I(T14);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
          T8T = T15;
          result_T = T10;
          goto L0;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:629
    T7_0 = result_;
    T5_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:628
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:627
  MV_SET_COUNT(1);
  return(T5_0);
}

D Killegal_stack_allocated_dataQVdfmc_harp_cgMM0I (D back_end_, D c_) {
  D f_;
  D UtmpF4;
  D T5;
  D sad_;
  D T7;
  D sig_spec_;
  D T9;
  D T10;
  D UtmpF11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:657
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:659
  CONGRUENT_CALL_PROLOG(&Kcall_effective_functionPVdfmc_harp_cg, 1);
  f_ = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
  T16 = primitive_instanceQ(f_,&KLBiepGVdfmc_modeling);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
  if (T16 != &KPfalseVKi) {
    UtmpF4 = T16;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
    T17 = primitive_instanceQ(f_,&KLBmethodGVdfmc_modeling);
    UtmpF4 = T17;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
  if (UtmpF4 != &KPfalseVKi) {
    T5 = UtmpF4;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
    T18 = primitive_instanceQ(f_,&KLBgeneric_functionGVdfmc_modeling);
    T5 = T18;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:663
    T19 = SLOT_VALUE_INITD(c_, 7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:663
    CONGRUENT_CALL_PROLOG(&Kfind_keyVKd, 3);
    sad_ = CONGRUENT_CALL3(T19, &Kstack_allocated_dataQVdfmc_harp_cg, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:664
    CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
    T7 = CONGRUENT_CALL1(f_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:664
    CONGRUENT_CALL_PROLOG(&Ksignature_specVdfmc_modeling, 1);
    sig_spec_ = CONGRUENT_CALL1(T7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
    if (sad_ != &KPfalseVKi) {
      T9 = sig_spec_;
    } else {
      T9 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
    if (T9 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
      T10 = CALL1(&Kspec_argument_number_requiredVdfmc_definitions, sig_spec_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T20 = CONGRUENT_CALL2(sad_, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
      T21 = primitive_not(T20);
      UtmpF11 = T21;
    } else {
      UtmpF11 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
    if (UtmpF11 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
      T12 = UtmpF11;
      MV_SET_ELT(0, UtmpF11);
      MV_SET_COUNT(1);
      T13 = T12;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:667
      T22 = Knested_stack_allocated_dataQVdfmc_harp_cgMM0I(back_end_, c_);
      T13 = T22;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:666
    T15 = T13;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:668
    T14 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T15 = T14;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:661
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:657
  return(T15);
}

D Kadjust_multiple_valuesQVdfmc_harp_cgMM0I (D back_end_, D c_) {
  D T3_0;
  D T4_0;
  D T5;
  D T6;
  D c_req_;
  D T8;
  D T9;
  D T10_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:612
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:613
  T5 = SLOT_VALUE(back_end_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:613
  T6 = SLOT_VALUE_INITD(T5, 17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:615
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:616
    c_req_ = Kmultiple_values_requiredVdfmc_harp_cgMM4I(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:617
    T8 = KEEVKdI(c_req_, T6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:617
    T9 = primitive_not(T8);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:617
    T10_0 = T9;
    T4_0 = T10_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:615
    T3_0 = &KPfalseVKi;
    T4_0 = T3_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:615
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:612
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kstack_allocated_dataQVdfmc_harp_cgI (D arg_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:646
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:647
  T6 = primitive_instanceQ(arg_,&KLlexical_rest_variableGVdfmc_flow_graph);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:647
  if (T6 != &KPfalseVKi) {
    T2 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:648
    T7 = primitive_instanceQ(arg_,&KLstack_vector_temporaryGVdfmc_flow_graph);
    T2 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:647
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:647
  if (T2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:649
    T3 = arg_;
    MV_SET_ELT(0, arg_);
    MV_SET_COUNT(1);
    T5 = T3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:647
    T4 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:647
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:646
  return(T5);
}

D Knested_stack_allocated_dataQVdfmc_harp_cgMM0I (D back_end_, D c_) {
  D T3;
  D T4;
  D T5;
  D T6;
  DWORD T7T, T7;
  D result_T, result_;
  D T9;
  D T10;
  DWORD T11;
  D T12;
  D T13;
  DWORD T14;
  D T15;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:672
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
  T6 = SLOT_VALUE_INITD(c_, 7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
  T10 = SLOT_VALUE_INITD(T6, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
  T11 = primitive_cast_integer_as_raw(T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
  T7T = 1;
  result_T = &KPfalseVKi;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
    T7 = T7T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
    result_ = result_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
    T12 = primitive_machine_word_equalQ(T7,T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
    if (T12 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
      T13 = REPEATED_D_SLOT_VALUE_TAGGED(T6, 1, T7);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
      if (result_ == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
        T14 = primitive_machine_word_add_signal_overflow(T7,4);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
        T9 = Knew_stack_allocated_dataQVdfmc_harp_cgI(T13);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
        T7T = T14;
        result_T = T9;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:674
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:676
  if (result_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:676
    CONGRUENT_CALL_PROLOG(&KgeneratorVdfmc_flow_graph, 1);
    T3 = CONGRUENT_CALL1(result_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:676
    ENGINE_NODE_CALL_PROLOG(&Knested_stack_allocated_dataQVdfmc_harp_cg, &K55, 2);
    T15 = ENGINE_NODE_CALL2(&K55, back_end_, T3);
    T5 = T15;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:676
    T4 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:676
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:672
  return(T5);
}

D Knested_stack_allocated_dataQVdfmc_harp_cgMM1I (D back_end_, D c_) {
  D T3;
  D T4;
  DWORD T5T, T5;
  D result_T, result_;
  D T7;
  D T8;
  DWORD T9;
  D T10;
  D T11;
  DWORD T12;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:680
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
  T3 = SLOT_VALUE_INITD(c_, 7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
  T8 = SLOT_VALUE_INITD(T3, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
  T9 = primitive_cast_integer_as_raw(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
  T5T = 1;
  result_T = &KPfalseVKi;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
    T5 = T5T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
    result_ = result_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
    T10 = primitive_machine_word_equalQ(T5,T9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
    if (T10 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
      T11 = REPEATED_D_SLOT_VALUE_TAGGED(T3, 1, T5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
      if (result_ == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
        T12 = primitive_machine_word_add_signal_overflow(T5,4);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
        T7 = Kstack_allocated_dataQVdfmc_harp_cgI(T11);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
        T5T = T12;
        result_T = T7;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:682
  T4 = result_;
  MV_SET_ELT(0, result_);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:680
  return(T4);
}

D Kstack_allocated_closureQVdfmc_harp_cgMM0I (D fn_) {
  D T2;
  D T3;
  D T4_0;
  D T5_0;
  D T6_0;
  D T7;
  D T8;
  D T9;
  D T10;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:621
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:622
  T8 = primitive_instanceQ(fn_,&KLtemporaryGVdfmc_flow_graph);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:622
  if (T8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:628
    T7 = fn_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:623
    T9 = SLOT_VALUE_INITD(T7, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:623
    T10 = primitive_instanceQ(T9,&KLmake_closureGVdfmc_flow_graph);
    T2 = T10;
  } else {
    T2 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:622
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:622
  if (T2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:624
    CONGRUENT_CALL_PROLOG(&KgeneratorVdfmc_flow_graph, 1);
    T3 = CONGRUENT_CALL1(fn_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:624
    T4_0 = CALL1(&Kclosure_has_dynamic_extentQVdfmc_flow_graphMM0, T3);
    T6_0 = T4_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:622
    T5_0 = &KPfalseVKi;
    T6_0 = T5_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:622
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:621
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kcall_effective_functionPVdfmc_harp_cgMM0I (D c_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:685
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:686
  T2_0 = CALL1(&Kcall_effective_functionVdfmc_conversion, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:685
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kcall_effective_functionPVdfmc_harp_cgMM1I (D c_) {
  D f_;
  D T3_0;
  D T4;
  D T5_0;
  D T6_0;
  D T7_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:689
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:690
  f_ = Kcall_effective_functionVdfmc_conversionI(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:692
  if (f_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:692
    T3_0 = f_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:692
    T7_0 = T3_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T3_0);
      primitive_type_check(T7_0, &K75);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T7_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:692
    CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
    T4 = CONGRUENT_CALL1(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:692
    T5_0 = CALL1(&Kdynamic_next_methodVdfmc_harp_cgMM0, T4);
    T6_0 = T5_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:692
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:689
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kdynamic_next_methodVdfmc_harp_cgMM0I (D t_) {
  D gen_;
  D instance_;
  D T4;
  D T5_0;
  D T6_0;
  D T7;
  D T8;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:699
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:700
  T7 = SLOT_VALUE_INITD(t_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:700
  primitive_type_check(T7, &KLslot_valueGVdfmc_flow_graph);
  gen_ = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:701
  T8 = SLOT_VALUE_INITD(gen_, 8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:701
  primitive_type_check(T8, &KLtemporaryGVdfmc_flow_graph);
  instance_ = T8;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:702
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T4 = CONGRUENT_CALL1(instance_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:702
  T5_0 = CALL1(&KlambdaVdfmc_flow_graph, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:699
  T6_0 = T5_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T5_0);
    primitive_type_check(T6_0, &KLBmethodGVdfmc_modeling);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:699
  MV_SET_COUNT(1);
  return(T6_0);
}

static D Kanonymous_of_stack_allocate_vector_for_tail_callQF100I (D c_) {
  D T1;
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:639
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:640
  CONGRUENT_CALL_PROLOG(&Kcurrent_back_endVdfmc_common, 0);
  T1 = CONGRUENT_CALL0();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:640
  T2 = CALL2(&Ktail_call_optimizableQVdfmc_harp_cg, T1, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:639
  return(T2);
}

D Ktail_call_prologVdfmc_harp_cgMM0I (D back_end_, D c_, D function_, D next_methods_, D the_arguments_) {
  D ret_addr_shft_;
  D T7;
  D arguments_rest_;
  D stack_arguments_;
  D T10;
  D stack_offsetF11;
  D T12;
  D stack_vector_;
  D T14;
  D T15;
  D T16;
  D T17;
  D stack_vector_arguments_;
  D T19;
  D T20;
  D stack_vector_size_;
  D stack_offsetF22;
  D T23;
  D functionF24;
  D T25;
  D next_methodsF26;
  D T27;
  D T28_0;
  D T28_1;
  D T28_2;
  D T29_0;
  D T29_1;
  D T29_2;
  D T30;
  DWORD T31T, T31;
  D result_T, result_;
  D T33;
  D T34;
  DWORD T35;
  D T36;
  D T37;
  DWORD T38;
  D T39_0;
  D T39_1;
  D T39_2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:361
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:369
  ret_addr_shft_ = Kreturn_address_shiftVdfmc_harp_cgMM0I(back_end_, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:370
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T7 = CONGRUENT_CALL1(the_arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:370
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:371
    T29_0 = function_;
    T29_1 = next_methods_;
    T29_2 = ret_addr_shft_;
    T28_0 = T29_0;
    T28_1 = T29_1;
    T28_2 = T29_2;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:373
    CONGRUENT_CALL_PROLOG(&Kregister_arguments_set_upVdfmc_harp_cg, 2);
    arguments_rest_ = CONGRUENT_CALL2(back_end_, the_arguments_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:375
    stack_arguments_ = Kmove_stack_arguments_to_virtualsVdfmc_harp_cgMM0I(back_end_, arguments_rest_, ret_addr_shft_, ret_addr_shft_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:376
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T10 = CONGRUENT_CALL1(arguments_rest_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:376
    CONGRUENT_CALL_PROLOG(&KAVKd, 2);
    stack_offsetF11 = CONGRUENT_CALL2(ret_addr_shft_, T10);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
    T30 = SLOT_VALUE_INITD(c_, 7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
    T34 = SLOT_VALUE_INITD(T30, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
    T35 = primitive_cast_integer_as_raw(T34);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
    T31T = 1;
    result_T = &KPfalseVKi;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
      T31 = T31T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
      result_ = result_T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
      T36 = primitive_machine_word_equalQ(T31,T35);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
      if (T36 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
        T37 = REPEATED_D_SLOT_VALUE_TAGGED(T30, 1, T31);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
        if (result_ == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
          T38 = primitive_machine_word_add_signal_overflow(T31,4);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
          T33 = Knew_stack_allocated_dataQVdfmc_harp_cgI(T37);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
          T31T = T38;
          result_T = T33;
          goto L0;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:377
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:378
    if (result_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:378
      CONGRUENT_CALL_PROLOG(&KgeneratorVdfmc_flow_graph, 1);
      T12 = CONGRUENT_CALL1(result_);
      stack_vector_ = T12;
    } else {
      stack_vector_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:378
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:380
    if (stack_vector_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:382
      T14 = CALL1(&KargumentsVdfmc_flow_graph, stack_vector_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:382
      T15 = CALL2(&Kemit_referencesVdfmc_harp_cg, back_end_, T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:383
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T16 = CONGRUENT_CALL2(stack_offsetF11, (D) 9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:381
      T17 = CALL4(&Kmove_stack_arguments_to_virtualsVdfmc_harp_cgMM0, back_end_, T15, ret_addr_shft_, T16);
      stack_vector_arguments_ = T17;
    } else {
      stack_vector_arguments_ = &KPempty_vectorVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:380
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:388
    if (stack_vector_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:388
      CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
      T19 = CONGRUENT_CALL1(stack_vector_arguments_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:388
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T20 = CONGRUENT_CALL2(T19, (D) 9);
      stack_vector_size_ = T20;
    } else {
      stack_vector_size_ = (D) 1;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:388
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:391
    CONGRUENT_CALL_PROLOG(&KAVKd, 2);
    stack_offsetF22 = CONGRUENT_CALL2(stack_offsetF11, stack_vector_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:393
    if (function_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:394
      T23 = CALL4(&Ksafe_registerVdfmc_harp_cgMM0, back_end_, function_, ret_addr_shft_, stack_offsetF22);
      functionF24 = T23;
    } else {
      functionF24 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:393
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:396
    if (next_methods_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:397
      T25 = CALL4(&Ksafe_registerVdfmc_harp_cgMM0, back_end_, next_methods_, ret_addr_shft_, stack_offsetF22);
      next_methodsF26 = T25;
    } else {
      next_methodsF26 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:396
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:399
    Kmove_virtuals_to_stack_argumentsVdfmc_harp_cgMM0I(back_end_, stack_arguments_, ret_addr_shft_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:403
    if (stack_vector_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:406
      T27 = CALL1(&Knumber_valuesVdfmc_flow_graph, result_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:404
      Kstack_allocate_vector_for_tail_callVdfmc_harp_cgMM0I(back_end_, &KPfalseVKi, T27, stack_vector_arguments_);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:403
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:410
    T39_0 = functionF24;
    T39_1 = next_methodsF26;
    T39_2 = ret_addr_shft_;
    T28_0 = T39_0;
    T28_1 = T39_1;
    T28_2 = T39_2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:370
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:361
  MV_SET_ELT(1, T28_1);
  MV_SET_ELT(2, T28_2);
  MV_SET_COUNT(3);
  return(T28_0);
}

D Ksame_optionals_as_callerQVdfmc_harp_cgMM0I (D back_end_, D c_) {
  D sad_;
  D f_;
  D Utmp_;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10_0;
  D T11_0;
  D T12_0;
  D T13_0;
  D T14_0;
  D T15;
  D T16;
  D T17;
  D T18;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:566
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:568
  T15 = SLOT_VALUE_INITD(c_, 7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:568
  CONGRUENT_CALL_PROLOG(&Kfind_keyVKd, 3);
  sad_ = CONGRUENT_CALL3(T15, &Kanonymous_of_same_optionals_as_callerQF114, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:572
  if (sad_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:573
    CONGRUENT_CALL_PROLOG(&Kcall_effective_functionPVdfmc_harp_cg, 1);
    f_ = CONGRUENT_CALL1(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
    T16 = primitive_instanceQ(f_,&KLBiepGVdfmc_modeling);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
    if (T16 != &KPfalseVKi) {
      Utmp_ = T16;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
      T17 = primitive_instanceQ(f_,&KLBmethodGVdfmc_modeling);
      Utmp_ = T17;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
    if (Utmp_ != &KPfalseVKi) {
      T6 = Utmp_;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
      T18 = primitive_instanceQ(f_,&KLBgeneric_functionGVdfmc_modeling);
      T6 = T18;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
    if (T6 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:577
      CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
      T7 = CONGRUENT_CALL1(f_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:577
      CONGRUENT_CALL_PROLOG(&Ksignature_specVdfmc_modeling, 1);
      T8 = CONGRUENT_CALL1(T7);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:577
      T9 = CALL1(&Kspec_argument_number_requiredVdfmc_definitions, T8);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:577
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T10_0 = CONGRUENT_CALL2(sad_, T9);
      T12_0 = T10_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:578
      T11_0 = &KPfalseVKi;
      T12_0 = T11_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:575
    T14_0 = T12_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:572
    T13_0 = &KPfalseVKi;
    T14_0 = T13_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:572
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:566
  MV_SET_COUNT(1);
  return(T14_0);
}

static D Kanonymous_of_same_optionals_as_callerQF114I (D arg_) {
  D T2;
  D T3_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:569
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:570
  T2 = primitive_instanceQ(arg_,&KLlexical_rest_variableGVdfmc_flow_graph);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:570
  T3_0 = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:569
  MV_SET_COUNT(1);
  return(T3_0);
}

D Kreturn_address_shiftVdfmc_harp_cgMM0I (D back_end_, D c_) {
  D same_optionalsQ_;
  D T4;
  D T5;
  D T6;
  D T7_0;
  D T8_0;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14_0;
  D T15;
  D T16;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:555
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:556
  same_optionalsQ_ = Ksame_optionals_as_callerQVdfmc_harp_cgMM0I(back_end_, c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  T9 = SLOT_VALUE(back_end_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  T10 = SLOT_VALUE_INITD(T9, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  ENGINE_NODE_CALL_PROLOG(&Knumber_of_stack_allocated_argumentsVdfmc_harp_cg, &K128, 2);
  T11 = ENGINE_NODE_CALL2(&K128, back_end_, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:559
  T12 = SLOT_VALUE(back_end_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:559
  T13 = SLOT_VALUE(T12, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T4 = CONGRUENT_CALL2(T11, T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:560
  T5 = Knumber_of_stack_allocated_slotsVdfmc_harp_cgMM0I(back_end_, c_, &KPempty_vectorVKi, same_optionalsQ_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T6 = CONGRUENT_CALL2(T4, T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T14_0 = CONGRUENT_CALL2((D) 1, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  T15 = T14_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  if (T15 != &KPfalseVKi) {
    T16 = T6;
  } else {
    T16 = (D) 1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:558
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:563
  T7_0 = T16;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:555
  T8_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T8_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:555
  MV_SET_COUNT(1);
  return(T8_0);
}

D Kmove_stack_arguments_to_virtualsVdfmc_harp_cgMM0I (D back_end_, D arguments_, D stack_spill0_, D stack_offset0_) {
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D offset_T, offset_;
  D T12T, T12;
  D stack_args_T, stack_args_;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:522
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T5 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  T6 = T5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  T7 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  T8 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  T9 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  T10 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  offset_T = stack_offset0_;
  T12T = T6;
  stack_args_T = &KPempty_listVKi;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
    offset_ = offset_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
    T12 = T12T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
    stack_args_ = stack_args_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
    T14 = CALL3(T9, arguments_, T12, T7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
    if (T14 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
      T15 = CALL2(T10, arguments_, T12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T16 = CONGRUENT_CALL2(offset_, (D) 5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
      T17 = CALL2(T8, arguments_, T12);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:528
      T18 = CALL4(&Ksafe_registerVdfmc_harp_cgMM0, back_end_, T15, stack_spill0_, offset_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:528
      T19 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:528
      SLOT_VALUE_SETTER(T18, T19, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:528
      SLOT_VALUE_SETTER(stack_args_, T19, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
      offset_T = T16;
      T12T = T17;
      stack_args_T = T19;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:530
    T20_0 = KreverseVKdMM2I(stack_args_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:525
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:522
  MV_SET_COUNT(1);
  return(T20_0);
}

D Ksafe_registerVdfmc_harp_cgMM0I (D back_end_, D register_, D stack_spill0_, D offset_) {
  D colour_;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10_0;
  D T11_0;
  D T12_0;
  D T13;
  D T14;
  D safe_register_;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:542
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:545
  CONGRUENT_CALL_PROLOG(&Karg_spill_locationYbase_harpVharp, 1);
  colour_ = CONGRUENT_CALL1(register_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  if (colour_ != &KPfalseVKi) {
    T6 = offset_;
  } else {
    T6 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T13 = CONGRUENT_CALL2(colour_, stack_spill0_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
    T14 = primitive_not(T13);
    T7 = T14;
  } else {
    T7 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T8 = CONGRUENT_CALL2(colour_, offset_);
    T9 = T8;
  } else {
    T9 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  if (T9 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:547
    safe_register_ = Kmake_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KLgregGYharp_registersVharp, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:548
    Kins__moveYharp_instructionsVharpMM0I(back_end_, safe_register_, register_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:549
    T10_0 = safe_register_;
    T12_0 = T10_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:551
    T11_0 = register_;
    T12_0 = T11_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:546
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:542
  MV_SET_COUNT(1);
  return(T12_0);
}

D Kmove_virtuals_to_stack_argumentsVdfmc_harp_cgMM0I (D back_end_, D stack_arguments_, D stack_spill0_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D offset_T, offset_;
  D T11T, T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:534
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T4 = CONGRUENT_CALL1(stack_arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  T5 = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  T6 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  T7 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  T8 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  T9 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  offset_T = stack_spill0_;
  T11T = T5;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
    offset_ = offset_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
    T11 = T11T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
    T12 = CALL3(T8, stack_arguments_, T11, T6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
    if (T12 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
      T13 = CALL2(T9, stack_arguments_, T11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:538
      CALL3(&Kins__store_stack_arg_nYnative_instructionsVharp_nativeMM0, back_end_, T13, offset_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T14 = CONGRUENT_CALL2(offset_, (D) 5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
      T15 = CALL2(T7, stack_arguments_, T11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
      offset_T = T14;
      T11T = T15;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
    T16 = &KPfalseVKi;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:536
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:534
  MV_SET_COUNT(0);
  return(T16);
}

D Kstack_allocate_vector_for_tail_callVdfmc_harp_cgMM0I (D back_end_, D result_, D number_values_, D arguments_) {
  D class_wrapper_;
  D T6;
  D stack_vector_start_;
  D T8;
  D T9;
  D T10;
  D T11;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T13;
  _KLsimple_object_vectorGVKd_1 T14 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T15_0;
  D argumentsF16;
  D T17_0;
  D T18;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:322
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:325
  T11 = KBobject_classVdfmc_modelingMM0I(&KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:325
  CONGRUENT_CALL_PROLOG(&KCclass_mm_wrapperVdfmc_modeling, 1);
  class_wrapper_ = CONGRUENT_CALL1(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:327
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T6 = CONGRUENT_CALL2(number_values_, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:327
  ENGINE_NODE_CALL_PROLOG(&KbytesPVdfmc_harp_cg, &K122, 2);
  ENGINE_NODE_CALL2(&K122, back_end_, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:328
  stack_vector_start_ = Ktail_call_stack_vector_startVdfmc_harp_cgMM0I(back_end_, number_values_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:330
  Kins__remYharp_instructionsVharpMM0I(back_end_, &K123);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
  T8 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, class_wrapper_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:332
  CONGRUENT_CALL_PROLOG(&Kemit_objectVdfmc_back_end, 3);
  T9 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, number_values_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  T12.vector_element_[0] = T8;
  T12.vector_element_[1] = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  T13 = primitive_copy_vector(&T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  T14.vector_element_[0] = arguments_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  T17_0 = Kobject_classVKdI(T13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  T18 = T17_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  T15_0 = APPLY3(&Kconcatenate_asVKd, T18, T13, &T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:331
  argumentsF16 = T15_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:335
  Kmove_virtuals_to_stack_argumentsVdfmc_harp_cgMM0I(back_end_, argumentsF16, stack_vector_start_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:337
  T10 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:322
  MV_SET_COUNT(0);
  return(T10);
}

D Kemit_call_prologVdfmc_harp_cgMM0I (D back_end_, D c_, D f_) {
  D T4;
  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-calls.dylan:15
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:17
  T8 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:17
  T9 = SLOT_VALUE_INITD(T8, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:17
  CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
  T4 = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:17
  CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
  T5 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:17
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T9, T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:18
  T10 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:18
  T11 = SLOT_VALUE_INITD(T10, 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:18
  T12 = SLOT_VALUE_INITD(c_, 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:18
  CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
  T6 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:18
  T7 = Kins__moveYharp_instructionsVharpMM0I(back_end_, T11, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:15
  MV_SET_COUNT(0);
  return(T7);
}

D Kemit_call_prologVdfmc_harp_cgMM1I (D back_end_, D c_, D f_) {
  D T4;
  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-calls.dylan:22
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:24
  CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
  T4 = CONGRUENT_CALL1(f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:24
  CONGRUENT_CALL_PROLOG(&KCnextQVdfmc_modeling, 1);
  T5 = CONGRUENT_CALL1(T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:24
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:28
    T10 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:28
    T11 = SLOT_VALUE_INITD(T10, 5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:28
    T12 = SLOT_VALUE_INITD(c_, 9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:28
    CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
    T6 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:28
    T7 = Kins__moveYharp_instructionsVharpMM0I(back_end_, T11, T6);
    T9 = T7;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:24
    T8 = &KPfalseVKi;
    T9 = T8;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:24
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:22
  MV_SET_COUNT(0);
  return(T9);
}

D Kemit_call_prologVdfmc_harp_cgMM2I (D back_end_, D c_, D f_) {
  D env_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:33
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:35
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  env_ = CONGRUENT_CALL1(f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
  T12 = primitive_not(env_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
  if (env_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
    T5 = CALL1(&KclosureVdfmc_flow_graphMM0, env_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
    T13 = primitive_idQ(T5,&KPempty_listVKi);
    T6 = T13;
  } else {
    T6 = T12;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
    T10 = &KPfalseVKi;
    T11 = T10;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:37
    T14 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:37
    T15 = SLOT_VALUE_INITD(T14, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:37
    CONGRUENT_CALL_PROLOG(&KfunctionVdfmc_modeling, 1);
    T7 = CONGRUENT_CALL1(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:37
    CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
    T8 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, T7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:37
    T9 = Kins__moveYharp_instructionsVharpMM0I(back_end_, T15, T8);
    T11 = T9;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:36
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:33
  MV_SET_COUNT(0);
  return(T11);
}

D Kstacked_vector_arg_spillVdfmc_harp_cgMM0I (D back_end_, D c_, D ret_addr_shft_) {
  D arg_spill_;
  D T5;
  D T6_0;
  D T7_0;
  D T8_0;
  D T9_0;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  DWORD T15;
  DWORD T16;
  D T17;
  D T18;
  D T19;
  D T20_0;
  D T21;
  D T22;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:583
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:584
  T11 = SLOT_VALUE_INITD(c_, 7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:584
  CONGRUENT_CALL_PROLOG(&Kfind_keyVKd, 3);
  arg_spill_ = CONGRUENT_CALL3(T11, &Knew_stack_allocated_dataQVdfmc_harp_cg, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:586
  T12 = primitive_instanceQ(arg_spill_,&KLintegerGVKd);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:586
  if (T12 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:457
    T10 = arg_spill_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:587
    T13 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:587
    T14 = SLOT_VALUE_INITD(T13, 52);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:587
    T15 = primitive_cast_integer_as_raw(T10);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:587
    T16 = primitive_cast_integer_as_raw(T14);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:587
    T17 = primitive_machine_word_less_thanQ(T15,T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:587
    if (T17 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:588
      T18 = SLOT_VALUE(back_end_, 2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:588
      T19 = SLOT_VALUE_INITD(T18, 27);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:588
      T20_0 = KelementVKdMM11I(T19, T10, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
      T7_0 = T20_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:590
      CONGRUENT_CALL_PROLOG(&KAVKd, 2);
      T5 = CONGRUENT_CALL2(ret_addr_shft_, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:590
      T21 = SLOT_VALUE(back_end_, 2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:590
      T22 = SLOT_VALUE_INITD(T21, 52);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:590
      CONGRUENT_CALL_PROLOG(&K_VKd, 2);
      T6_0 = CONGRUENT_CALL2(T5, T22);
      T7_0 = T6_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:587
    T9_0 = T7_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:592
    T8_0 = &KPfalseVKi;
    T9_0 = T8_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:586
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:583
  MV_SET_COUNT(1);
  return(T9_0);
}

D Kop__mep_apply_nVdfmc_harp_cgI (D back_end_, D number_req_, D function_, D next_methods_, D arguments_) {
  D required_arguments_;
  D T7;
  D T8;
  D extra_optional_arguments_;
  D extra_optionals_size_;
  D original_optionals_;
  D T12;
  D T13;
  D T14;
  D optionals_size_;
  D class_wrapper_;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24T, T24;
  DWORD i_T, i_;
  D T26;
  D T27;
  D T28;
  D T29;
  D raw_original_optionals_;
  D start_;
  D T32;
  D T33;
  D T34;
  D arguments_size_;
  D T36;
  D arguments_ct_;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D optionals_;
  D T45;
  D T46;
  D stack_vector_size_;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D original_optionals_size_;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  DWORD T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  _KLsimple_object_vectorGVKd_1 T68 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T69 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T70;
  D T71_0;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:140
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:142
  required_arguments_ = CALL3(&Kcopy_sequenceVKd, arguments_, &KJend_, number_req_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:143
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T7 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:143
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T8 = CONGRUENT_CALL2(T7, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:143
  extra_optional_arguments_ = CALL5(&Kcopy_sequenceVKd, arguments_, &KJstart_, number_req_, &KJend_, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:144
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  extra_optionals_size_ = CONGRUENT_CALL1(extra_optional_arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:145
  original_optionals_ = CALL1(&KlastVKd, arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:146
  optionals_ = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:147
  T52 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:147
  T53 = SLOT_VALUE_INITD(T52, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:148
  stack_vector_size_ = (D) 1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:150
  Kins__remYharp_instructionsVharpMM0I(back_end_, &K165);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:151
  CONGRUENT_CALL_PROLOG(&KEVKd, 2);
  T12 = CONGRUENT_CALL2(extra_optionals_size_, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:151
  if (T12 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:152
    optionals_ = original_optionals_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:154
    T54 = Kmake_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KLgregGYharp_registersVharp, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:154
    T13 = Kop__vector_sizeVdfmc_harp_cgMM0I(back_end_, T54, original_optionals_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:154
    ENGINE_NODE_CALL_PROLOG(&Kop__rawVdfmc_harp_cg, &K166, 3);
    original_optionals_size_ = ENGINE_NODE_CALL3(&K166, back_end_, &KPfalseVKi, T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:155
    T14 = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:155
    stack_vector_size_ = T14;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:156
    optionals_size_ = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:157
    Kins__addYharp_instructionsVharpMM0I(back_end_, optionals_size_, original_optionals_size_, extra_optionals_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:158
    T51 = stack_vector_size_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:158
    Kins__addYharp_instructionsVharpMM0I(back_end_, T51, optionals_size_, (D) 9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:159
    T50 = stack_vector_size_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:159
    ENGINE_NODE_CALL_PROLOG(&KbytesPVdfmc_harp_cg, &K167, 2);
    T56 = ENGINE_NODE_CALL2(&K167, back_end_, T50);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:159
    stack_vector_size_ = T56;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:160
    T57 = KBobject_classVdfmc_modelingMM0I(&KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:160
    CONGRUENT_CALL_PROLOG(&KCclass_mm_wrapperVdfmc_modeling, 1);
    class_wrapper_ = CONGRUENT_CALL1(T57);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:162
    Kins__remYharp_instructionsVharpMM0I(back_end_, &K96);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:163
    T49 = stack_vector_size_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:163
    Kins__subYharp_instructionsVharpMM0I(back_end_, T53, T53, T49);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:164
    CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
    T17 = CONGRUENT_CALL3(back_end_, &KPfalseVKi, class_wrapper_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:164
    Kins__storeVdfmc_harp_cgMM0I(back_end_, T17, T53, (D) 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:165
    T58 = Kop__integerVdfmc_harp_cgMM0I(back_end_, &KPfalseVKi, optionals_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:165
    T59 = KbytesPVdfmc_harp_cgMM0I(back_end_, (D) 5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:165
    Kins__storeVdfmc_harp_cgMM0I(back_end_, T58, T53, T59);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
    T18 = CONGRUENT_CALL1(extra_optional_arguments_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    T19 = T18;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    T20 = MV_GET_ELT(1);
;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    T21 = MV_GET_ELT(2);
;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    T22 = MV_GET_ELT(3);
;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    T23 = MV_GET_ELT(5);
;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    T24T = T19;
    i_T = 9;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
      T24 = T24T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
      i_ = i_T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
      T62 = primitive_cast_raw_as_integer(i_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
      T26 = CALL3(T22, extra_optional_arguments_, T24, T20);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
      if (T26 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
        T27 = CALL2(T23, extra_optional_arguments_, T24);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:167
        T60 = KbytesPVdfmc_harp_cgMM0I(back_end_, T62);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:167
        Kins__storeVdfmc_harp_cgMM0I(back_end_, T27, T53, T60);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
        T28 = CALL2(T21, extra_optional_arguments_, T24);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
        T61 = primitive_machine_word_add_signal_overflow(i_,4);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
        T24T = T28;
        i_T = T61;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:166
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:170
    T29 = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:170
    raw_original_optionals_ = Kop__vector_as_rawVdfmc_harp_cgMM0I(back_end_, T29, original_optionals_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:171
    start_ = Kmake_n_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:173
    CONGRUENT_CALL_PROLOG(&KAVKd, 2);
    T32 = CONGRUENT_CALL2(extra_optionals_size_, (D) 9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:173
    ENGINE_NODE_CALL_PROLOG(&KbytesPVdfmc_harp_cg, &K168, 2);
    T63 = ENGINE_NODE_CALL2(&K168, back_end_, T32);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:173
    Kins__addYharp_instructionsVharpMM0I(back_end_, start_, T53, T63);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:174
    CALL4(&Kins__copy_words_down_wYnative_instructionsVharp_nativeMM0, back_end_, start_, raw_original_optionals_, original_optionals_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:178
    T64 = Kmake_registerYbase_harpVharpMM0I(back_end_, &KPempty_vectorVKi, &KLgregGYharp_registersVharp, &KPfalseVKi, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:178
    optionals_ = T64;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:179
    T46 = optionals_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:179
    Kins__moveYharp_instructionsVharpMM0I(back_end_, T46, T53);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:151
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:183
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T33 = CONGRUENT_CALL1(required_arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:183
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T34 = CONGRUENT_CALL2(T33, (D) 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:183
  T65 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:183
  T66 = SLOT_VALUE_INITD(T65, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:183
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  arguments_size_ = CONGRUENT_CALL2(T34, T66);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:184
  ENGINE_NODE_CALL_PROLOG(&KbytesPVdfmc_harp_cg, &K169, 2);
  T67 = ENGINE_NODE_CALL2(&K169, back_end_, arguments_size_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:184
  CALL2(&Kins__pushYnative_instructionsVharp_nativeMM0, back_end_, T67);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  T45 = optionals_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  T68.vector_element_[0] = T45;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  T36 = KlistVKdI(&T68);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  T69.vector_element_[0] = T36;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  CONGRUENT_CALL_PROLOG(&Ktype_for_copyVKd, 1);
  T70 = CONGRUENT_CALL1(required_arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  T71_0 = APPLY3(&Kconcatenate_asVKd, T70, required_arguments_, &T69);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  T72 = T71_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:185
  arguments_ct_ = Kpush_argumentsVdfmc_harp_cgMM0I(back_end_, T72);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:187
  T73 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:187
  T74 = SLOT_VALUE_INITD(T73, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:187
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T74, function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:188
  T75 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:188
  T76 = SLOT_VALUE_INITD(T75, 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:188
  Kins__moveYharp_instructionsVharpMM0I(back_end_, T76, next_methods_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:190
  T77 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:190
  T78 = SLOT_VALUE_INITD(T77, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:191
  CONGRUENT_CALL_PROLOG(&Kfunction_mep_offsetYharp_dylan_parameterizationsVharp, 1);
  T38 = CONGRUENT_CALL1(back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:192
  T39 = primitive_read_thread_variable(Tlive_nlx_tagsTVdfmc_harp_cg);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:190
  CALL6(&Kins__call_indirectYnative_instructionsVharp_nativeMM0, back_end_, T78, T38, arguments_ct_, IKJnlx_tags_, T39);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:193
  CONGRUENT_CALL_PROLOG(&KEVKd, 2);
  T40 = CONGRUENT_CALL2(extra_optionals_size_, (D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:193
  if (T40 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:193
    T42 = &KPfalseVKi;
    T43 = T42;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:194
    T48 = stack_vector_size_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:194
    T41 = Kins__addYharp_instructionsVharpMM0I(back_end_, T53, T53, T48);
    T43 = T41;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:193
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:140
  MV_SET_COUNT(0);
  return(T43);
}

D Kc_ffi_arguments_sizeVdfmc_harp_cgMM0I (D arguments_, D typespecs_, D result_typespec_) {
  D T4;
  D T5;
  D args_size_;
  D T7;
  D T8;
  D T9;
  D T10_0;
  D T11_0;
  D T12_0;
  D T13;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:812
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:815
  if (typespecs_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:816
    T4 = CALL3(&KreduceVKd, &Kanonymous_of_c_ffi_arguments_sizeF213, (D) 1, typespecs_);
    args_size_ = T4;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:822
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T5 = CONGRUENT_CALL1(arguments_);
    args_size_ = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:815
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:826
  if (result_typespec_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:826
    T7 = CALL1(&KtailVKd, result_typespec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:826
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T12_0 = CONGRUENT_CALL2((D) 9, T7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:826
    T13 = T12_0;
    T8 = T13;
  } else {
    T8 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:826
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:826
  if (T8 != &KPfalseVKi) {
    T9 = (D) 5;
  } else {
    T9 = (D) 1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:826
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:824
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T10_0 = CONGRUENT_CALL2(args_size_, T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:812
  T11_0 = T10_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T10_0);
    primitive_type_check(T11_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:812
  MV_SET_COUNT(1);
  return(T11_0);
}

D Kc_register_arguments_set_upVdfmc_harp_cgMM0I (D back_end_, D arguments_, D typespecs_, D result_typespec_) {
  DWORD index_T, index_;
  D argument_;
  D typeF7;
  D op__move_into_c_argument_;
  D T9;
  D T10;
  D T11;
  DWORD T12;
  D T13;
  D T14;
  D T15;
  DWORD T16;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:748
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:752
  T11 = Kc_arguments_in_registersVdfmc_harp_cgMM0I(back_end_, arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
  T12 = primitive_cast_integer_as_raw(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
  index_T = 1;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
    index_ = index_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
    T14 = primitive_cast_raw_as_integer(index_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
    T13 = primitive_machine_word_less_thanQ(index_,T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
    if (T13 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:756
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      argument_ = CONGRUENT_CALL3(arguments_, T14, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:757
      typeF7 = Kc_ffi_argument_typeVdfmc_harp_cgMM0I(typespecs_, T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:758
      T15 = primitive_instanceQ(typeF7,&KLBraw_aggregate_typeGVdfmc_modeling);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:758
      if (T15 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:759
        KerrorVKdMM1I(&K206, &KPempty_vectorVKi);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:758
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:762
      CONGRUENT_CALL_PROLOG(&Kop__move_into_c_argumentPVdfmc_harp_cg, 1);
      op__move_into_c_argument_ = CONGRUENT_CALL1(argument_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:763
      primitive_type_check(op__move_into_c_argument_, &KLfunctionGVKd);
      T9 = op__move_into_c_argument_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:763
      CALL3(T9, back_end_, argument_, T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
      T16 = primitive_machine_word_add_signal_overflow(index_,4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
      index_T = T16;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
    T10 = &KPfalseVKi;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:753
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:748
  MV_SET_COUNT(0);
  return(T10);
}

D Kc_stack_arguments_set_upVdfmc_harp_cgMM0I (D back_end_, D arguments_, D typespecs_, D result_typespec_) {
  D T5;
  D T6;
  D T7;
  DWORD index_T, index_;
  D T9;
  D argument_;
  D T11_0;
  D T11_1;
  D typeF12;
  D storage_size_;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  DWORD T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  DWORD T28;
  D T29_0;
  D T30;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:767
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:771
  T20 = Kc_arguments_in_registersVdfmc_harp_cgMM0I(back_end_, arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:773
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T5 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:773
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T6 = CONGRUENT_CALL2(T5, T20);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:773
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T7 = CONGRUENT_CALL2(T6, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
  primitive_type_check(T7, &KLintegerGVKd);
  T9 = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
  T22 = primitive_cast_integer_as_raw(T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
  index_T = T22;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
    index_ = index_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
    T23 = primitive_cast_raw_as_integer(index_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
    T21 = primitive_machine_word_less_thanQ(-3,index_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
    if (T21 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:776
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      argument_ = CONGRUENT_CALL3(arguments_, T23, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:777
      T11_0 = Kc_ffi_argument_typeVdfmc_harp_cgMM0I(typespecs_, T23);
      T11_1 = MV_GET_ELT(1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:777
      typeF12 = T11_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:777
      storage_size_ = T11_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:779
      T24 = primitive_instanceQ(typeF12,&KLBraw_aggregate_typeGVdfmc_modeling);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:779
      if (T24 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:782
        T25 = SLOT_VALUE(back_end_, 2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:782
        T26 = SLOT_VALUE_INITD(T25, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:783
        ENGINE_NODE_CALL_PROLOG(&KbytesPVdfmc_harp_cg, &K205, 2);
        T27 = ENGINE_NODE_CALL2(&K205, back_end_, storage_size_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:783
        Kins__subYharp_instructionsVharpMM0I(back_end_, T26, T26, T27);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:784
        CALL4(&Kins__copy_words_down_wYnative_instructionsVharp_nativeMM0, back_end_, T26, argument_, storage_size_);
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:789
        CALL2(&Kins__pushYnative_instructionsVharp_nativeMM0, back_end_, argument_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:779
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
      T28 = primitive_machine_word_add_signal_overflow(index_,0xFFFFFFFCL);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
      index_T = T28;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:772
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
  if (result_typespec_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
    T14 = CALL1(&KtailVKd, result_typespec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T29_0 = CONGRUENT_CALL2((D) 9, T14);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
    T30 = T29_0;
    T15 = T30;
  } else {
    T15 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
  if (T15 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:794
    T16 = CALL1(&KheadVKd, result_typespec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:794
    T17 = CALL2(&Kins__pushYnative_instructionsVharp_nativeMM0, back_end_, T16);
    T19 = T17;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
    T18 = &KPfalseVKi;
    T19 = T18;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:793
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:767
  MV_SET_COUNT(0);
  return(T19);
}

D Kc_arguments_in_registersVdfmc_harp_cgMM1I (D back_end_, D arguments_) {
  D T3;
  D T4;
  D T5_0;
  D T6;
  DWORD T7;
  DWORD T8;
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:251
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:255
  T3 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:255
  T4 = SLOT_VALUE_INITD(T3, 53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:254
  T7 = primitive_cast_integer_as_raw(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:254
  T8 = primitive_cast_integer_as_raw(T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:254
  T9 = primitive_machine_word_less_thanQ(T7,T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:254
  if (T9 != &KPfalseVKi) {
    T6 = arguments_;
  } else {
    T6 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:254
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:254
  T5_0 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:251
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kop__pop_space_for_calleeVdfmc_harp_cgMM0I (D be_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:808
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:808
  T2_0 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:808
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kpop_stackVdfmc_harp_cgMM0I (D back_end_, D number_to_pop_, D calling_convention_) {
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:837
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:838
  T7 = primitive_idQ(number_to_pop_,(D) 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:838
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:838
    T5 = &KPfalseVKi;
    T6 = T5;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:839
    T8 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:839
    T9 = SLOT_VALUE_INITD(T8, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:840
    T10 = KbytesPVdfmc_harp_cgMM0I(back_end_, number_to_pop_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:840
    T4 = Kins__addYharp_instructionsVharpMM0I(back_end_, T9, T9, T10);
    T6 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:838
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:837
  MV_SET_COUNT(0);
  return(T6);
}

D Kpop_stackVdfmc_harp_cgMM1I (D back_end_, D number_to_pop_, D calling_convention_) {
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:844
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:845
  T4 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:844
  MV_SET_COUNT(0);
  return(T4);
}

D Kc_arguments_in_registersVdfmc_harp_cgMM0I (D back_end_, D arguments_) {
  D T3;
  D T4_0;
  D T5;
  D T6;
  D T7_0;
  D T8;
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:244
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:247
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T3 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:248
  T5 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:248
  T6 = SLOT_VALUE_INITD(T5, 53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:247
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T8 = CONGRUENT_CALL2(T3, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:247
  if (T8 != &KPfalseVKi) {
    T9 = T3;
  } else {
    T9 = T6;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:247
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:247
  T7_0 = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:244
  T4_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T4_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:244
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kc_ffi_argument_typeVdfmc_harp_cgMM0I (D typespecs_, D index_) {
  D type_;
  D T4;
  D T5;
  D T6_0;
  D T6_1;
  D T7_0;
  D T7_1;
  D T8_0;
  D T8_1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:829
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:830
  if (typespecs_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:831
    type_ = CALL2(&KelementVKd, typespecs_, index_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:833
    T4 = CALL1(&KheadVKd, type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:833
    T5 = CALL1(&KtailVKd, type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:833
    T8_0 = T4;
    T8_1 = T5;
    T7_0 = T8_0;
    T7_1 = T8_1;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:830
    T6_0 = &KPfalseVKi;
    T6_1 = &KPfalseVKi;
    T7_0 = T6_0;
    T7_1 = T6_1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:830
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:829
  MV_SET_ELT(1, T7_1);
  MV_SET_COUNT(2);
  return(T7_0);
}

D Kop__push_space_for_calleeVdfmc_harp_cgMM0I (D be_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:801
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:801
  T2_0 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:801
  MV_SET_COUNT(1);
  return(T2_0);
}

static D Kanonymous_of_c_ffi_arguments_sizeF213I (D sum_, D type_) {
  D T2;
  D T3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:816
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:817
  T2 = CALL1(&KtailVKd, type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:817
  CONGRUENT_CALL_PROLOG(&KAVKd, 2);
  T3 = CONGRUENT_CALL2(sum_, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:816
  return(T3);
}

D Karguments_in_registersVdfmc_harp_cgMM0I (D back_end_, D arguments_) {
  D T3;
  D T4_0;
  D T5;
  D T6;
  D T7_0;
  D T8;
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:226
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:229
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T3 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:229
  T5 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:229
  T6 = SLOT_VALUE_INITD(T5, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:229
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T8 = CONGRUENT_CALL2(T3, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:229
  if (T8 != &KPfalseVKi) {
    T9 = T3;
  } else {
    T9 = T6;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:229
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:229
  T7_0 = T9;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:226
  T4_0 = T7_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T7_0);
    primitive_type_check(T4_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:226
  MV_SET_COUNT(1);
  return(T4_0);
}

D Karguments_in_registersVdfmc_harp_cgMM1I (D back_end_, D arguments_) {
  D T3;
  D T4;
  D T5_0;
  D T6;
  DWORD T7;
  DWORD T8;
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:232
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  T3 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  T4 = SLOT_VALUE_INITD(T3, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  T7 = primitive_cast_integer_as_raw(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  T8 = primitive_cast_integer_as_raw(T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  T9 = primitive_machine_word_less_thanQ(T7,T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  if (T9 != &KPfalseVKi) {
    T6 = arguments_;
  } else {
    T6 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:235
  T5_0 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:232
  MV_SET_COUNT(1);
  return(T5_0);
}

D Karguments_on_stackVdfmc_harp_cgMM0I (D back_end_, D arguments_) {
  D T3;
  D T4;
  D T5_0;
  D T6;
  D T7;
  D T8_0;
  D T9_0;
  D T10;
  D T11;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:238
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T3 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  T6 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  T7 = SLOT_VALUE_INITD(T6, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T4 = CONGRUENT_CALL2(T3, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T9_0 = CONGRUENT_CALL2((D) 1, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  T10 = T9_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  if (T10 != &KPfalseVKi) {
    T11 = T4;
  } else {
    T11 = (D) 1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:241
  T8_0 = T11;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:238
  T5_0 = T8_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T8_0);
    primitive_type_check(T5_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:238
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kc_arguments_on_stackVdfmc_harp_cgMM0I (D back_end_, D arguments_) {
  D T3;
  D T4;
  D T5_0;
  D T6;
  D T7;
  D T8_0;
  D T9_0;
  D T10;
  D T11;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:258
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T3 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  T6 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  T7 = SLOT_VALUE_INITD(T6, 53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T4 = CONGRUENT_CALL2(T3, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T9_0 = CONGRUENT_CALL2((D) 1, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  T10 = T9_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  if (T10 != &KPfalseVKi) {
    T11 = T4;
  } else {
    T11 = (D) 1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:261
  T8_0 = T11;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:258
  T5_0 = T8_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T8_0);
    primitive_type_check(T5_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:258
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kc_arguments_on_stackVdfmc_harp_cgMM1I (D back_end_, D arguments_) {
  D T3;
  D T4;
  DWORD T5;
  DWORD T6;
  DWORD T7;
  DWORD T8;
  D T9;
  D T10_0;
  D T11;
  D T12;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:264
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T3 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T4 = SLOT_VALUE_INITD(T3, 53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T5 = primitive_cast_integer_as_raw(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T6 = primitive_cast_integer_as_raw(T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T7 = primitive_machine_word_logxor(T6,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T8 = primitive_machine_word_subtract_signal_overflow(T5,T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T9 = primitive_cast_raw_as_integer(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T12 = primitive_machine_word_less_thanQ(1,T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  if (T12 != &KPfalseVKi) {
    T11 = T9;
  } else {
    T11 = (D) 1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:267
  T10_0 = T11;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:264
  MV_SET_COUNT(1);
  return(T10_0);
}

D Kargument_register_paddingVdfmc_harp_cgMM0I (D back_end_, D arguments_) {
  D T3;
  D T4;
  DWORD T5;
  DWORD T6;
  DWORD T7;
  DWORD T8;
  D T9;
  D T10_0;
  D T11;
  D T12;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:270
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T3 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T4 = SLOT_VALUE_INITD(T3, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T5 = primitive_cast_integer_as_raw(T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T6 = primitive_cast_integer_as_raw(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T7 = primitive_machine_word_logxor(T6,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T8 = primitive_machine_word_subtract_signal_overflow(T5,T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T9 = primitive_cast_raw_as_integer(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T12 = primitive_machine_word_less_thanQ(1,T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  if (T12 != &KPfalseVKi) {
    T11 = T9;
  } else {
    T11 = (D) 1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:273
  T10_0 = T11;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-cg/harp-calls.dylan:270
  MV_SET_COUNT(1);
  return(T10_0);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_harp_cg__X_harp_calls_for_system () {
  extern D KPresolve_symbolVKiI(D);
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJnlx_tags_);
    if (T0 != &KJnlx_tags_) {
      IKJnlx_tags_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJreturn_address_shift_);
    if (T0 != &KJreturn_address_shift_) {
      IKJreturn_address_shift_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJoptionals_marker_);
    if (T0 != &KJoptionals_marker_) {
      IKJoptionals_marker_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_into_stack_);
    if (T0 != &KJpointer_into_stack_) {
      IKJpointer_into_stack_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJarg_count_);
    if (T0 != &KJarg_count_) {
      IKJarg_count_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJstdcall_);
    if (T0 != &KJstdcall_) {
      primitive_slot_value_setter(T0, &K195, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcdecl_);
    if (T0 != &KJcdecl_) {
      IKJcdecl_ = T0;
      primitive_slot_value_setter(T0, &K200, 1);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_harp_cg__X_harp_calls_for_user () {
  return;
}


/* eof */
