#include "run-time.h"

/* Typedefs for referenced classes */

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 instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLfunction_classGVKi;

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;
  D namespace_name_;
  D library_major_version_;
  D library_minor_version_;
  D library_build_count_;
  D used_libraries_;
  D all_used_libraries_;
  D runtime_module_;
  D library_defined_generics_;
  D library_number_static_dispatches_;
  D library_number_dynamic_dispatches_;
} _KLlibraryGVKe;

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

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

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

typedef struct {
  D wrapper;
} _KLintegerGVKd;

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

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

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

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

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

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

typedef struct {
  D wrapper;
  D cr_refers_to_object_;
  D cr_const_offset_;
} _KLsf_constant_referenceGYharp_constant_referencesVharp;

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

typedef struct {
  D wrapper;
  D cr_refers_to_object_;
  D cr_const_offset_;
} _KLdf_constant_referenceGYharp_constant_referencesVharp;

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

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


/* Typedefs for defined classes */


/* Referenced object declarations */

D KPadd_methodVKnI (D, D, D);
extern _KLincremental_generic_functionGVKe Kstack_arguments_set_upVdfmc_harp_cg;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLlibraryGVKe Kdfmc_harp_native_cg_libraryYdylan_userVdfmc_harp_native_cg;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLincremental_generic_functionGVKe Kregister_arguments_set_upVdfmc_harp_cg;
extern _KLincremental_generic_functionGVKe Karguments_set_upVdfmc_harp_cg;
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 _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
D Koptional_argumentsQVdfmc_harp_cgMM4I (D);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLincremental_generic_functionGVKe K_VKd;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
D Kstack_vector_sizeVdfmc_harp_cgMM0I (D, D);
D KbytesPVdfmc_harp_cgMM0I (D, D);
extern _KLsimple_methodGVKe Kargument_register_paddingVdfmc_harp_cgMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
D KmakeVKdMM23I (D, D, D, D);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
D KlistVKdI (D);
extern _KLincremental_generic_functionGVKe Ktype_for_copyVKd;
extern _KLsealed_generic_functionGVKe Kconcatenate_asVKd;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
extern _KLclassGVKd KLharp_native_back_endGYnative_back_endVharp_native;
extern _KLmm_wrapperGVKi_0 KLharp_native_back_endGYnative_back_endVharp_nativeW;
extern _KLclassGVKd KLsimple_callGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLsimple_callGVdfmc_flow_graphW;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLclassGVKd KLsfregGYharp_registersVharp;
extern _KLmm_wrapperGVKi_0 KLsfregGYharp_registersVharpW;
extern _KLclassGVKd KLsf_constant_referenceGYharp_constant_referencesVharp;
extern _KLmm_wrapperGVKi_0 KLsf_constant_referenceGYharp_constant_referencesVharpW;
D KelementVKdMM11I (D, D, D, D);
extern _KLsealed_generic_functionGVKe Kunsupplied_objectVKi;
D Kins__fmoveYnative_instructionsVharp_nativeMM0I (D, D, D);
extern _KLclassGVKd KLdfregGYharp_registersVharp;
extern _KLmm_wrapperGVKi_0 KLdfregGYharp_registersVharpW;
extern _KLclassGVKd KLdf_constant_referenceGYharp_constant_referencesVharp;
extern _KLmm_wrapperGVKi_0 KLdf_constant_referenceGYharp_constant_referencesVharpW;
D Kins__dmoveYnative_instructionsVharp_nativeMM0I (D, D, D);
D Kins__moveYharp_instructionsVharpMM0I (D, D, D);
extern _KLsymbolGVKd KJstart_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLincremental_generic_functionGVKe Kcopy_sequenceVKd;
D Kins__pushYnative_instructionsVharp_nativeMM0I (D, D);
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern D DfalseVdfmc_harp_cg;

/* Defined object declarations */

extern _KLsimple_methodGVKe Kstack_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0;
D Kstack_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I (D, D);
extern _KLsimple_methodGVKe Kregister_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0;
D Kregister_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I (D, D);
extern _KLsimple_methodGVKe Karguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0;
D Karguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I (D, D, D);
static _KLsignatureAvaluesGVKi K9;
static _KLsimple_object_vectorGVKd_3 K10;
static _KLsignatureAvaluesGVKi K11;
static _KLsimple_object_vectorGVKd_2 K12;
static _KLsignatureGVKe K13;

/* Indirection variables */


/* Variables */


/* Objects */

_KLsimple_methodGVKe Kstack_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K13,
  &Kstack_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I
};

_KLsimple_methodGVKe Kregister_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K11,
  &Kregister_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I
};

_KLsimple_methodGVKe Karguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K9,
  &Karguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I
};

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

static _KLsimple_object_vectorGVKd_3 K10 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLharp_native_back_endGYnative_back_endVharp_native,
  &KLsimple_callGVdfmc_flow_graph,
  &KLsequenceGVKd
};

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

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

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

/* Code */

D Kstack_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I (D back_end_, D arguments_) {
  D T3;
  D T4;
  DWORD index_T, index_;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  DWORD T11;
  D T12;
  DWORD T13;
  D T14;
  DWORD T15;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:9
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:12
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T3 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:12
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T4 = CONGRUENT_CALL2(T3, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:13
  T9 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:13
  T10 = SLOT_VALUE_INITD(T9, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
  T11 = primitive_cast_integer_as_raw(T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
  primitive_type_check(T4, &KLintegerGVKd);
  T6 = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
  T13 = primitive_cast_integer_as_raw(T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
  index_T = T13;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
    index_ = index_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
    T14 = primitive_cast_raw_as_integer(index_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
    T12 = primitive_machine_word_less_thanQ(index_,T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
    if (T12 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:15
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      T7 = CONGRUENT_CALL3(arguments_, T14, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:15
      Kins__pushYnative_instructionsVharp_nativeMM0I(back_end_, T7);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
      T15 = primitive_machine_word_add_signal_overflow(index_,0xFFFFFFFCL);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
      index_T = T15;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
    T8 = &KPfalseVKi;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:11
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:9
  MV_SET_COUNT(0);
  return(T8);
}

D Kregister_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I (D back_end_, D arguments_) {
  DWORD index_T, index_;
  D argument_;
  D T5;
  D T6;
  D T7_0;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13_0;
  D T14_0;
  D T15;
  DWORD 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;
  DWORD T32;
  _KLsimple_object_vectorGVKd_2 T33 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:19
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T8 = CONGRUENT_CALL1(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  T9 = SLOT_VALUE(back_end_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  T10 = SLOT_VALUE_INITD(T9, 52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  CONGRUENT_CALL_PROLOG(&KLVKd, 2);
  T11 = CONGRUENT_CALL2(T8, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  if (T11 != &KPfalseVKi) {
    T12 = T8;
  } else {
    T12 = T10;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  T13_0 = T12;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  T14_0 = T13_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T13_0);
    primitive_type_check(T14_0, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:23
  T15 = T14_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
  index_T = 1;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
    index_ = index_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
    T18 = primitive_cast_raw_as_integer(index_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
    T16 = primitive_cast_integer_as_raw(T15);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
    T17 = primitive_machine_word_less_thanQ(index_,T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
    if (T17 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:25
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      argument_ = CONGRUENT_CALL3(arguments_, T18, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
      T19 = primitive_instanceQ(argument_,&KLsfregGYharp_registersVharp);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
      if (T19 != &KPfalseVKi) {
        T5 = T19;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
        T20 = primitive_instanceQ(argument_,&KLsf_constant_referenceGYharp_constant_referencesVharp);
        T5 = T20;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
      if (T5 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:30
        T21 = SLOT_VALUE(back_end_, 2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:30
        T22 = SLOT_VALUE_INITD(T21, 29);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:30
        T23 = KelementVKdMM11I(T22, T18, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:29
        Kins__fmoveYnative_instructionsVharp_nativeMM0I(back_end_, T23, argument_);
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
        T24 = primitive_instanceQ(argument_,&KLdfregGYharp_registersVharp);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
        if (T24 != &KPfalseVKi) {
          T6 = T24;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
          T25 = primitive_instanceQ(argument_,&KLdf_constant_referenceGYharp_constant_referencesVharp);
          T6 = T25;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
        if (T6 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:34
          T26 = SLOT_VALUE(back_end_, 2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:34
          T27 = SLOT_VALUE_INITD(T26, 29);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:34
          T28 = KelementVKdMM11I(T27, T18, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:33
          Kins__dmoveYnative_instructionsVharp_nativeMM0I(back_end_, T28, argument_);
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:38
          T29 = SLOT_VALUE(back_end_, 2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:38
          T30 = SLOT_VALUE_INITD(T29, 27);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:38
          T31 = KelementVKdMM11I(T30, T18, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:37
          Kins__moveYharp_instructionsVharpMM0I(back_end_, T31, argument_);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:27
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
      T32 = primitive_machine_word_add_signal_overflow(index_,4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
      index_T = T32;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:24
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:42
  T33.vector_element_[0] = &KJstart_;
  T33.vector_element_[1] = T15;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:42
  CONGRUENT_CALL_PROLOG(&Kcopy_sequenceVKd, 2);
  T7_0 = CONGRUENT_CALL2(arguments_, &T33);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:19
  MV_SET_COUNT(1);
  return(T7_0);
}

D Karguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0I (D back_end_, D c_, D args_) {
  D stacked_vector_size_;
  D T5;
  D pad_size_;
  D T7;
  D padding_;
  D T9;
  D T10_0;
  D T11_0;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17_0;
  D T18;
  D T19;
  D T20_0;
  D T21_0;
  D no_of_stack_alloc_args_;
  DWORD T23;
  DWORD T24;
  DWORD T25;
  DWORD T26;
  DWORD T27;
  DWORD T28;
  D T29;
  D stack_alloc_count_;
  D T31;
  D T32_0;
  D T33;
  _KLsimple_object_vectorGVKd_1 T34 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T35 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T36;
  D T37_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:45
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:48
  T12 = Koptional_argumentsQVdfmc_harp_cgMM4I(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:48
  if (T12 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T13 = CONGRUENT_CALL1(args_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    T14 = SLOT_VALUE(back_end_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    T15 = SLOT_VALUE_INITD(T14, 52);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    CONGRUENT_CALL_PROLOG(&K_VKd, 2);
    T16 = CONGRUENT_CALL2(T13, T15);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T17_0 = CONGRUENT_CALL2((D) 1, T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    T18 = T17_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    if (T18 != &KPfalseVKi) {
      T19 = T16;
    } else {
      T19 = (D) 1;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    T20_0 = T19;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    T21_0 = T20_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T20_0);
      primitive_type_check(T21_0, &KLintegerGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:50
    no_of_stack_alloc_args_ = T21_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:51
    stacked_vector_size_ = Kstack_vector_sizeVdfmc_harp_cgMM0I(back_end_, c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    T23 = primitive_cast_integer_as_raw(no_of_stack_alloc_args_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    T24 = primitive_machine_word_logxor(T23,1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    T25 = primitive_machine_word_add_signal_overflow(5,T24);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    T26 = primitive_cast_integer_as_raw(stacked_vector_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    T27 = primitive_machine_word_logxor(T26,1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    T28 = primitive_machine_word_add_signal_overflow(T25,T27);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    T29 = primitive_cast_raw_as_integer(T28);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:53
    stack_alloc_count_ = KbytesPVdfmc_harp_cgMM0I(back_end_, T29);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:54
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T5 = CONGRUENT_CALL1(args_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:54
    pad_size_ = CALL2(&Kargument_register_paddingVdfmc_harp_cgMM0, back_end_, T5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:56
    T31 = primitive_idQ(pad_size_,(D) 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:56
    if (T31 != &KPfalseVKi) {
      padding_ = &KPempty_listVKi;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:58
      T7 = primitive_read_thread_variable(DfalseVdfmc_harp_cg);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:58
      T32_0 = KmakeVKdMM23I(&KLsimple_object_vectorGVKd, &KPempty_vectorVKi, T7, pad_size_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:58
      T33 = T32_0;
      padding_ = T33;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:56
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:60
    T34.vector_element_[0] = stack_alloc_count_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:60
    T9 = KlistVKdI(&T34);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:60
    T35.vector_element_[0] = padding_;
    T35.vector_element_[1] = T9;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:60
    CONGRUENT_CALL_PROLOG(&Ktype_for_copyVKd, 1);
    T36 = CONGRUENT_CALL1(args_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:60
    T37_0 = APPLY3(&Kconcatenate_asVKd, T36, args_, &T35);
    T11_0 = T37_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:62
    T10_0 = args_;
    T11_0 = T10_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:48
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:45
  MV_SET_COUNT(1);
  return(T11_0);
}


/* SYSTEM INIT CODE */

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

/* USER INIT CODE */

void _Init_dfmc_harp_native_cg__X_calls_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:9
  T0 = KPadd_methodVKnI(&Kstack_arguments_set_upVdfmc_harp_cg, &Kstack_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0, &Kdfmc_harp_native_cg_libraryYdylan_userVdfmc_harp_native_cg);
  goto I2;
}
I2:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:19
  T0 = KPadd_methodVKnI(&Kregister_arguments_set_upVdfmc_harp_cg, &Kregister_arguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0, &Kdfmc_harp_native_cg_libraryYdylan_userVdfmc_harp_native_cg);
  goto I5;
}
I5:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/harp-native-cg/calls.dylan:45
  T0 = KPadd_methodVKnI(&Karguments_set_upVdfmc_harp_cg, &Karguments_set_upVdfmc_harp_cgMdfmc_harp_native_cgM0, &Kdfmc_harp_native_cg_libraryYdylan_userVdfmc_harp_native_cg);
  goto I8;
}
I8:

  return;
}


/* eof */
