#include "run-time.h"

/* Typedefs for referenced classes */

typedef struct {
  D wrapper;
  D element_type_;
  D table_vector_;
  D initial_entries_;
  D grow_size_function_;
  D weakQ_;
} _KLobject_tableGVKd;

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

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

typedef struct {
  D wrapper;
} _KLobjectGVKd;

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

typedef struct {
  D wrapper;
} _KLunboundGVKe;

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

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(29);
define__KLbyte_stringGVKd(34);
define__KLbyte_stringGVKd(21);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(27);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(30);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(36);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(4);

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

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_keys_;
  D signature_key_types_;
  D signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

typedef struct {
  D wrapper;
  D llvm_builder_value_function_;
  D llvm_builder_module_;
  D llvm_builder_function_;
  D llvm_builder_basic_block_;
  D llvm_builder_dbg_;
  D mangler_;
  D Ptype_table_;
  D Praw_type_table_;
  D Praw_type_dbg_encoding_table_;
  D Ppointer_to_table_;
  D Pdirect_object_table_;
  D Praw_object_table_;
  D Preference_table_;
  D Pprimitive_function_table_;
  D Pbyte_character_constants_;
  D Psource_record_dbg_file_table_;
  D llvm_back_end_dbg_functions_;
  D Pdbg_type_table_;
  D Pmv_struct_type_;
  D llvm_teb_struct_type_;
  D Pteb_struct_field_index_;
} _KLllvm_back_endGVdfmc_llvm_back_end;

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

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;

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

typedef struct {
  D wrapper;
  D xep_;
  D method_slot_descriptor_;
} _KLgetter_methodGVKi;

typedef struct {
  D wrapper;
  D slot_descriptor_properties_;
  D init_data_slot_;
  D slot_owner_;
  D init_keyword_;
  D slot_getter_;
  D slot_setter_;
  D slot_type_;
} _KLinstance_slot_descriptorGVKe;

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

typedef struct {
  D wrapper;
  D llvm_value_type_;
} _KLllvm_constant_valueGVllvm;

typedef struct {
  D wrapper;
  D llvm_value_type_;
} _KLllvm_null_constantGVllvm;

typedef struct {
  D wrapper;
  D llvm_value_type_;
  D llvm_global_name_;
  D llvm_global_linkage_kind_;
  D llvm_global_visibility_kind_;
  D llvm_global_unnamed_addressQ_;
  D llvm_global_alignment_;
  D llvm_global_section_;
  D llvm_global_variable_constantQ_;
  D llvm_global_variable_initializer_;
  D llvm_global_variable_thread_local_;
} _KLllvm_global_variableGVllvm;

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 llvm_module_name_;
  D llvm_module_target_triple_;
  D llvm_module_data_layout_;
  D llvm_module_asm_;
  D llvm_module_globals_;
  D llvm_module_functions_;
  D llvm_module_aliases_;
  D llvm_module_named_metadata_;
  D Pnamed_metadata_table_;
  D llvm_module_dependent_libraries_;
  D llvm_type_table_;
  D llvm_global_table_;
} _KLllvm_moduleGVllvm;

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

typedef struct {
  D wrapper;
  D llvm_value_type_;
  D llvm_global_name_;
  D llvm_global_linkage_kind_;
  D llvm_global_visibility_kind_;
  D llvm_global_unnamed_addressQ_;
  D llvm_global_alignment_;
  D llvm_global_section_;
  D llvm_function_calling_convention_;
  D llvm_function_garbage_collector_;
  D llvm_function_arguments_;
  D llvm_function_attribute_list_;
  D llvm_function_basic_blocks_;
  D llvm_function_value_table_;
} _KLllvm_functionGVllvm;

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

typedef struct {
  D wrapper;
} _KLstringGVKd;

typedef struct {
  D wrapper;
  D llvm_pointer_type_pointee_;
  D llvm_pointer_type_address_space_;
} _KLllvm_pointer_typeGVllvm;

typedef struct {
  D wrapper;
  D llvm_struct_type_name_;
  D llvm_struct_type_packedQ_;
  D llvm_struct_type_elements_;
} _KLllvm_struct_typeGVllvm;

typedef struct {
  D wrapper;
  D llvm_function_type_return_type_;
  D llvm_function_type_parameter_types_;
  D llvm_function_type_varargsQ_;
} _KLllvm_function_typeGVllvm;

typedef struct {
  D wrapper;
} _KLllvm_typeGVllvm;

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 Cclass_implementation_class_;
  D Cclass_subtype_bit_;
  D Pclass_module_;
} _KLBclassGVdfmc_modeling;

#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 llvm_value_type_;
  D llvm_argument_name_;
  D llvm_argument_attributes_;
  D llvm_argument_index_;
} _KLllvm_argumentGVllvm;

typedef struct {
  D wrapper;
} _KLllvm_valueGVllvm;

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

typedef struct {
  D wrapper;
  D llvm_instruction_operands_;
  D llvm_instruction_metadata_;
  D llvm_value_type_;
  D llvm_cast_instruction_operator_;
} _KLllvm_cast_instructionGVllvm;

typedef struct {
  D wrapper;
  D primitive_emitter_;
} _KLprimitive_descriptorGVdfmc_modeling;

typedef struct {
  D wrapper;
  D class_properties_;
  D iclass_class_;
  D class_mm_wrapper_;
  D repeated_slot_descriptor_;
  D instance_slot_descriptors_;
  D iclass_dispatch_key_;
  D class_constructor_;
  D direct_superclasses_;
  D class_rcpl_vector_;
  D class_rcpl_position_;
  D class_rcpl_other_positions_;
  D class_known_joint_;
  D iclass_dependent_generics_;
  D iclass_subclass_dependent_generics_;
  D direct_subclasses_;
  D direct_methods_;
  D direct_slot_descriptors_;
  D slot_descriptors_;
  D direct_inherited_slot_descriptors_;
  D direct_initialization_argument_descriptors_;
  D class_slot_descriptors_;
  D defaulted_initialization_arguments_slot_;
  D class_slot_storage_;
} _KLimplementation_classGVKe;

typedef struct {
  D wrapper;
} _KLsequenceGVKd;

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

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

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


/* Typedefs for defined classes */

typedef struct {
  D wrapper;
  D primitive_emitter_;
  D primitive_attributes_;
  D primitive_mapped_emitter_;
  D primitive_generator_;
  D primitive_function_declarator_;
} _KLllvm_primitive_descriptorGVdfmc_llvm_back_end;

typedef struct {
  D wrapper;
  D runtime_variable_name_;
  D runtime_variable_type_name_;
  D runtime_variable_init_function_;
  D runtime_variable_attributes_;
  D runtime_variable_section_;
} _KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end;


/* Referenced object declarations */

D KPadd_classVKeI (D);
D KLobject_tableGZ32ZconstructorVKiMM0I (D, D, D, D, D, D);
extern _KLclassGVKd KLobject_tableGVKd;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLobject_tableGVKdW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLsimple_methodGVKe Kdefault_grow_sizeVKe;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLincremental_generic_functionGVKe KlastVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_Lsimple_object_vectorG_typesVKi;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLclassGVKd KLllvm_back_endGVdfmc_llvm_back_end;
extern _KLmm_wrapperGVKi_0 KLllvm_back_endGVdfmc_llvm_back_endW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
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_1VKi;
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 KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
D Kraw_mangleVdfmc_back_end_protocolMM0I (D, D);
extern _KLsymbolGVKd KJdefault_;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLclassGVKd KLllvm_constant_valueGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_constant_valueGVllvmW;
D Kllvm_reference_typeVdfmc_llvm_back_endMM1I (D, D);
D Kdylan_valueVdfmc_namespaceI (D);
extern _KLsealed_generic_functionGVKe Kllvm_reference_typeVdfmc_llvm_back_end;
extern _KLsealed_generic_functionGVKe Kllvm_section_nameVdfmc_llvm_back_end;
extern _KLsimple_methodGVKe Kllvm_pointer_toVdfmc_llvm_back_endMM0;
extern _KLsealed_generic_functionGVKe Kemit_referenceVdfmc_back_end;
extern _KLsymbolGVKd KJtype_;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLclassGVKd KLllvm_null_constantGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_null_constantGVllvmW;
extern _KLincremental_generic_functionGVKe KmemberQVKd;
extern _KLsealed_generic_functionGVKe Kllvm_thread_local_supportQVdfmc_llvm_back_end;
extern _KLsymbolGVKd KJname_;
extern _KLclassGVKd KLllvm_global_variableGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_global_variableGVllvmW;
D Kllvm_builder_define_globalYllvm_builderVllvmMM1I (D, D, D);
extern _KLsimple_methodGVKe Kllvm_builder_define_globalYllvm_builderVllvmMM0;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLllvm_moduleGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_moduleGVllvmW;
extern _KLincremental_generic_functionGVKe Kelement_setterVKd;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
D KgethashVKiI (D, D, D, D);
extern _KLclassGVKd KLllvm_functionGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_functionGVllvmW;
extern _KLsymbolGVKd KJvalue_;
extern _KLclassGVKd KLtype_errorGVKd;
extern _KLmm_wrapperGVKi_0 KLtype_errorGVKdW;
extern _KLsealed_generic_functionGVKe KerrorVKd;
D KputhashVKiI (D, D, D);
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
D Kcopy_sequenceVKdMM2I (D, D, D, D);
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLsymbolGVKd KJbelow_;
D KrangeVKdI (D, D, D, D, D, D, D);
D KmapVKdMM0I (D, D, D);
D Kllvm_type_forwardVllvmMM0I (D);
extern _KLclassGVKd KLllvm_pointer_typeGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_pointer_typeGVllvmW;
extern _KLsymbolGVKd KJcode_;
extern _KLsymbolGVKd KJarguments_;
D Kobject_classVKdI (D);
extern _KLsealed_generic_functionGVKe Kmap_as_oneVKi;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLsealed_generic_functionGVKe KfirstVKd;
extern _KLclassGVKd KLllvm_struct_typeGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_struct_typeGVllvmW;
extern _KLclassGVKd KLllvm_function_typeGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_function_typeGVllvmW;
extern _KLclassGVKd KLllvm_typeGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_typeGVllvmW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
D Kllvm_class_typeVdfmc_llvm_back_endMM0I (D, D, D, D);
extern _KLsealed_generic_functionGVKe Kllvm_type_forwardVllvm;
extern _KLclassGVKd KLBclassGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBclassGVdfmc_modelingW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLllvm_argumentGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_argumentGVllvmW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
D KapplyVKdI (D, D);
extern _KLsimple_methodGVKe KvaluesVKd;
extern _KLclassGVKd KLllvm_valueGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_valueGVllvmW;
extern _KLclassGVKd KLBraw_typeGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBraw_typeGVdfmc_modelingW;
extern _KLclassGVKd KLllvm_cast_instructionGVllvm;
extern _KLmm_wrapperGVKi_0 KLllvm_cast_instructionGVllvmW;
extern _KLsealed_generic_functionGVKe Kllvm_basic_block_instructionsVllvm;
extern _KLincremental_generic_functionGVKe KaddXVKd;
D Kop__object_pointer_castVdfmc_llvm_back_endMM0I (D, D, D);
extern _KLsealed_generic_functionGVKe Kprimitive_emitterVdfmc_modeling;
extern _KLsimple_methodGVKe KapplyVKd;
extern _KLclassGVKd KLprimitive_descriptorGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLprimitive_descriptorGVdfmc_modelingW;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
D KerrorVKdMM1I (D, D);
extern _KLsymbolGVKd KJinit_function_;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
D Kclass_instanceQ_initialVKiI (D, D);
extern _KLmoduleGVKe Kdfmc_llvm_back_end_moduleYdylan_userVdfmc_llvm_back_end;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLinstance_slot_descriptorGVKe Kprimitive_emitterVdfmc_modelingHLprimitive_descriptorG;
extern D Dllvm_void_typeVllvm;
extern D Dllvm_object_pointer_typeVdfmc_llvm_back_end;

/* Defined object declarations */

extern _KLclassGVKd KLllvm_primitive_descriptorGVdfmc_llvm_back_end;
extern _KLmm_wrapperGVKi_0 KLllvm_primitive_descriptorGVdfmc_llvm_back_endW;
extern _KLclassGVKd KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end;
extern _KLmm_wrapperGVKi_0 KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_endW;
extern _KLsimple_methodGVKe Kcall_primitiveVdfmc_llvm_back_end;
D Kcall_primitiveVdfmc_llvm_back_endI (D, D, D);
D Kmake_primitive_mapped_emitterVdfmc_llvm_back_endI (D, D, D, D, D);
extern _KLsimple_methodGVKe Kdo_define_llvm_primitive_descriptorVdfmc_llvm_back_end;
D Kdo_define_llvm_primitive_descriptorVdfmc_llvm_back_endI (D, D);
extern _KLsimple_methodGVKe Kllvm_primitive_functionVdfmc_llvm_back_endMM0;
D Kllvm_primitive_functionVdfmc_llvm_back_endMM0I (D, D);
extern _KLsimple_methodGVKe Kdo_define_llvm_runtime_variable_descriptorVdfmc_llvm_back_end;
D Kdo_define_llvm_runtime_variable_descriptorVdfmc_llvm_back_endI (D, D);
extern _KLkeyword_methodGVKe Kllvm_runtime_variableVdfmc_llvm_back_endMM0;
D Kllvm_runtime_variableVdfmc_llvm_back_endMM0I (D, D, D, D, D);
extern _KLsealed_generic_functionGVKe Kprimitive_mapped_emitterVdfmc_llvm_back_end;
extern _KLsimple_methodGVKe Kllvm_primitive_values_restQVdfmc_llvm_back_endMM0;
D Kllvm_primitive_values_restQVdfmc_llvm_back_endMM0I (D, D);
extern _KLkeyword_methodGVKe Kprimitive_rest_values_testVdfmc_llvm_back_end;
D Kprimitive_rest_values_testVdfmc_llvm_back_endI (D, D, D);
static _KLsymbolGVKd KJrest_;
static _KLbyte_stringGVKd_4 K25;
static _KLkeyword_signatureAvaluesGVKi K26;
static _KLsimple_object_vectorGVKd_2 K27;
static _KLsymbolGVKd KJvalue_types_spec_;
static _KLbyte_stringGVKd_16 K29;
static _KLsimple_object_vectorGVKd_1 K30;
static _KLsimple_object_vectorGVKd_1 K31;
static _KLsignatureAvaluesGVKi K32;
static _KLsimple_object_vectorGVKd_2 K33;
extern _KLgetter_methodGVKi Kprimitive_mapped_emitterVdfmc_llvm_back_endMM0;
static _KLpairGVKd K35;
static _KLbyte_stringGVKd_24 K36;
extern _KLinstance_slot_descriptorGVKe Kprimitive_mapped_emitterVdfmc_llvm_back_endHLllvm_primitive_descriptorG;
static _KLsymbolGVKd KJmapped_emitter_;
static _KLbyte_stringGVKd_14 K39;
static _KLsymbolGVKd KJLtebG_;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K41;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K42;
static _KLsymbolGVKd KJthread_local_;
static _KLsymbolGVKd KJinitializer_;
static _KLsymbolGVKd KJconstantQ_;
static _KLsymbolGVKd KJlinkage_;
static _KLsymbolGVKd KJexternal_;
static _KLsymbolGVKd KJsection_;
static _KLpairGVKd K49;
static _KLbyte_stringGVKd_7 K50;
static _KLbyte_stringGVKd_8 K51;
static _KLbyte_stringGVKd_7 K52;
static _KLbyte_stringGVKd_9 K53;
static _KLbyte_stringGVKd_11 K54;
static _KLbyte_stringGVKd_12 K55;
static _KLbyte_stringGVKd_5 K56;
static _KLkeyword_signatureAvaluesGVKi K57;
static _KLsimple_object_vectorGVKd_2 K58;
static _KLsymbolGVKd KJinitializedQ_;
static _KLbyte_stringGVKd_12 K60;
static _KLsimple_object_vectorGVKd_3 K61;
static _KLsimple_object_vectorGVKd_1 K62;
static _KLsimple_object_vectorGVKd_1 K63;
static _KLsignatureGVKe K64;
static _KLsimple_object_vectorGVKd_2 K65;
extern _KLkeyword_methodGVKe Kmake_primitive_functionVdfmc_llvm_back_endMM0;
D Kmake_primitive_functionVdfmc_llvm_back_endMM0I (D, D, D, D, D, D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_functionF118;
static D Kanonymous_of_make_primitive_functionF118I (D, D, D);
D Kllvm_primitive_function_typeVdfmc_llvm_back_endMM0I (D, D, D, D, D, D);
static _KLsymbolGVKd KJc_callable_;
static _KLsymbolGVKd KJpointee_;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K73;
static _KLsymbolGVKd KJcalling_convention_;
static _KLbyte_stringGVKd_18 K75;
static _KLbyte_stringGVKd_7 K76;
static _KLbyte_stringGVKd_10 K77;
static _KLsimple_closure_methodGVKi_0 Kparameter_typeF115;
static D Kparameter_typeF115I (D);
static _KLsimple_closure_methodGVKi_0 Kresult_typeF96;
static D Kresult_typeF96I (D);
static _KLsymbolGVKd KJmapped_;
static _KLsymbolGVKd KJmapped_parameter_;
static _KLsymbolGVKd KJmapped_result_;
static _KLsymbolGVKd KJelements_;
static _KLsymbolGVKd KJparameter_types_;
static _KLsymbolGVKd KJreturn_type_;
static _KLsymbolGVKd KJvarargsQ_;
static _KLbyte_stringGVKd_8 K89;
static _KLbyte_stringGVKd_11 K90;
static _KLbyte_stringGVKd_15 K91;
static _KLbyte_stringGVKd_8 K92;
static _KLbyte_stringGVKd_13 K93;
static _KLbyte_stringGVKd_16 K94;
static _KLbyte_stringGVKd_6 K95;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K97;
extern _KLsealed_generic_functionGVKe Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_end;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K99;
extern _KLsimple_methodGVKe Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM0;
D Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM0I (D, D);
extern _KLsimple_methodGVKe Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM1;
D Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM1I (D, D);
static _KLpairGVKd K104;
static _KLpairGVKd K105;
static _KLbyte_stringGVKd_36 K106;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K107;
static _KLsignatureAvaluesGVKi K108;
static _KLsimple_object_vectorGVKd_2 K109;
static _KLsimple_object_vectorGVKd_1 K110;
static _KLsignatureAvaluesGVKi K111;
static _KLsimple_object_vectorGVKd_2 K112;
static _KLsignatureAvaluesGVKi K113;
static _KLsimple_object_vectorGVKd_1 K114;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K116;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K117;
static _KLsymbolGVKd KJindex_;
static _KLbyte_stringGVKd_5 K120;
static _KLkeyword_signatureAvaluesGVKi K121;
static _KLsimple_object_vectorGVKd_8 K122;
static _KLsymbolGVKd KJparameter_names_;
static _KLsymbolGVKd KJparameter_types_spec_;
static _KLbyte_stringGVKd_20 K125;
static _KLbyte_stringGVKd_15 K126;
static _KLsimple_object_vectorGVKd_4 K127;
static _KLsimple_object_vectorGVKd_4 K128;
static _KLsimple_object_vectorGVKd_1 K129;
static _KLsignatureAvaluesGVKi K130;
static _KLsignatureGVKe K131;
static _KLsimple_object_vectorGVKd_2 K132;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF181;
static D Kanonymous_of_make_primitive_mapped_emitterF181I (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF166;
static D Kanonymous_of_make_primitive_mapped_emitterF166I (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF139;
static D Kanonymous_of_make_primitive_mapped_emitterF139I (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF142;
static D Kanonymous_of_make_primitive_mapped_emitterF142I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K143;
extern _KLsealed_generic_functionGVKe Kemit_mapped_primitive_resultVdfmc_llvm_back_end;
extern _KLsimple_methodGVKe Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM0;
D Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM0I (D, D, D);
extern _KLsimple_methodGVKe Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM1;
D Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM1I (D, D, D);
static _KLpairGVKd K149;
static _KLpairGVKd K150;
static _KLbyte_stringGVKd_28 K151;
static _KLsignatureAvaluesGVKi K152;
static _KLsimple_object_vectorGVKd_3 K153;
static _KLsimple_object_vectorGVKd_1 K154;
static _KLsymbolGVKd KJoperator_;
static _KLsymbolGVKd KJbitcast_;
static _KLsymbolGVKd KJoperands_;
static _KLsymbolGVKd KJmetadata_;
static _KLbyte_stringGVKd_8 K159;
static _KLbyte_stringGVKd_8 K160;
static _KLbyte_stringGVKd_7 K161;
static _KLbyte_stringGVKd_8 K162;
static _KLsignatureAvaluesGVKi K163;
static _KLsimple_object_vectorGVKd_3 K164;
static _KLsignatureGVKe K165;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF169;
static D Kanonymous_of_make_primitive_mapped_emitterF169I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K170;
extern _KLsealed_generic_functionGVKe Kemit_mapped_primitive_argumentVdfmc_llvm_back_end;
extern _KLsimple_methodGVKe Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM0;
D Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM0I (D, D, D);
extern _KLsimple_methodGVKe Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM1;
D Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM1I (D, D, D);
static _KLpairGVKd K176;
static _KLpairGVKd K177;
static _KLbyte_stringGVKd_30 K178;
static _KLsignatureAvaluesGVKi K179;
static _KLsimple_object_vectorGVKd_3 K180;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF188;
static D Kanonymous_of_make_primitive_mapped_emitterF188I (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF186;
static D Kanonymous_of_make_primitive_mapped_emitterF186I (D, D);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K187;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K189;
static _KLsignatureGVKe K190;
static _KLsimple_object_vectorGVKd_2 K191;
static _KLimplementation_classGVKe K192;
static _KLsimple_object_vectorGVKd_5 K193;
extern _KLkeyword_methodGVKe KLllvm_runtime_variable_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0;
D KLllvm_runtime_variable_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0I (D, D, D, D, D, D, D);
static _KLsimple_object_vectorGVKd_1 K196;
static _KLsimple_object_vectorGVKd_6 K197;
static _KLbyte_stringGVKd_23 K198;
static _KLsymbolGVKd KJtype_name_;
static _KLsymbolGVKd KJattributes_;
static _KLbyte_stringGVKd_10 K201;
static _KLbyte_stringGVKd_9 K202;
static _KLkeyword_signatureAvaluesGVKi K203;
static _KLsimple_object_vectorGVKd_10 K204;
static _KLsimple_object_vectorGVKd_5 K205;
static _KLsimple_object_vectorGVKd_1 K206;
extern _KLinstance_slot_descriptorGVKe Kruntime_variable_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kruntime_variable_type_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kruntime_variable_init_functionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kruntime_variable_attributesVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kruntime_variable_sectionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG;
extern _KLsealed_generic_functionGVKe Kruntime_variable_sectionVdfmc_llvm_back_end;
extern _KLgetter_methodGVKi Kruntime_variable_sectionVdfmc_llvm_back_endMM0;
static _KLpairGVKd K214;
static _KLbyte_stringGVKd_24 K215;
extern _KLsealed_generic_functionGVKe Kruntime_variable_attributesVdfmc_llvm_back_end;
extern _KLgetter_methodGVKi Kruntime_variable_attributesVdfmc_llvm_back_endMM0;
static _KLpairGVKd K218;
static _KLbyte_stringGVKd_27 K219;
extern _KLsealed_generic_functionGVKe Kruntime_variable_init_functionVdfmc_llvm_back_end;
extern _KLgetter_methodGVKi Kruntime_variable_init_functionVdfmc_llvm_back_endMM0;
static _KLpairGVKd K222;
static _KLbyte_stringGVKd_30 K223;
extern _KLsealed_generic_functionGVKe Kruntime_variable_type_nameVdfmc_llvm_back_end;
extern _KLgetter_methodGVKi Kruntime_variable_type_nameVdfmc_llvm_back_endMM0;
static _KLpairGVKd K226;
static _KLbyte_stringGVKd_26 K227;
extern _KLsealed_generic_functionGVKe Kruntime_variable_nameVdfmc_llvm_back_end;
extern _KLgetter_methodGVKi Kruntime_variable_nameVdfmc_llvm_back_endMM0;
static _KLpairGVKd K230;
static _KLbyte_stringGVKd_21 K231;
static _KLbyte_stringGVKd_34 K232;
static _KLimplementation_classGVKe K233;
static _KLsimple_object_vectorGVKd_5 K234;
extern _KLkeyword_methodGVKe KLllvm_primitive_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0;
D KLllvm_primitive_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0I (D, D, D, D, D, D, D);
static _KLsimple_object_vectorGVKd_1 K237;
static _KLsimple_object_vectorGVKd_6 K238;
static _KLsimple_object_vectorGVKd_4 K239;
extern _KLinstance_slot_descriptorGVKe Kprimitive_attributesVdfmc_llvm_back_endHLllvm_primitive_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kprimitive_generatorVdfmc_llvm_back_endHLllvm_primitive_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kprimitive_function_declaratorVdfmc_llvm_back_endHLllvm_primitive_descriptorG;
static _KLsymbolGVKd KJdeclarator_;
extern _KLsealed_generic_functionGVKe Kprimitive_function_declaratorVdfmc_llvm_back_end;
extern _KLgetter_methodGVKi Kprimitive_function_declaratorVdfmc_llvm_back_endMM0;
static _KLpairGVKd K246;
static _KLbyte_stringGVKd_29 K247;
static _KLbyte_stringGVKd_10 K248;
static _KLsymbolGVKd KJgenerator_;
extern _KLsealed_generic_functionGVKe Kprimitive_generatorVdfmc_llvm_back_end;
static _KLunionGVKe K251;
static _KLsingletonGVKd K252;
extern _KLgetter_methodGVKi Kprimitive_generatorVdfmc_llvm_back_endMM0;
static _KLpairGVKd K254;
static _KLbyte_stringGVKd_19 K255;
static _KLbyte_stringGVKd_9 K256;
extern _KLsealed_generic_functionGVKe Kprimitive_attributesVdfmc_llvm_back_end;
extern _KLgetter_methodGVKi Kprimitive_attributesVdfmc_llvm_back_endMM0;
static _KLpairGVKd K259;
static _KLbyte_stringGVKd_20 K260;
static _KLsymbolGVKd KJemitter_;
static _KLbyte_stringGVKd_7 K262;
static _KLkeyword_signatureAvaluesGVKi K263;
static _KLsimple_object_vectorGVKd_10 K264;
static _KLsimple_object_vectorGVKd_5 K265;
static _KLsimple_object_vectorGVKd_1 K266;
static _KLbyte_stringGVKd_27 K267;

/* Indirection variables */

static D IKJrest_ = &KJrest_;
static D IKJvalue_types_spec_ = &KJvalue_types_spec_;
static D IKJmapped_emitter_ = &KJmapped_emitter_;
static D IKJLtebG_ = &KJLtebG_;
static D IKJthread_local_ = &KJthread_local_;
static D IKJinitializer_ = &KJinitializer_;
static D IKJconstantQ_ = &KJconstantQ_;
static D IKJlinkage_ = &KJlinkage_;
static D IKJexternal_ = &KJexternal_;
static D IKJsection_ = &KJsection_;
static D IKJinitializedQ_ = &KJinitializedQ_;
static D IKJc_callable_ = &KJc_callable_;
static D IKJpointee_ = &KJpointee_;
static D IKJcalling_convention_ = &KJcalling_convention_;
static D IKJmapped_ = &KJmapped_;
static D IKJmapped_parameter_ = &KJmapped_parameter_;
static D IKJmapped_result_ = &KJmapped_result_;
static D IKJelements_ = &KJelements_;
static D IKJparameter_types_ = &KJparameter_types_;
static D IKJreturn_type_ = &KJreturn_type_;
static D IKJvarargsQ_ = &KJvarargsQ_;
static D IKJindex_ = &KJindex_;
static D IKJparameter_names_ = &KJparameter_names_;
static D IKJparameter_types_spec_ = &KJparameter_types_spec_;
static D IKJoperator_ = &KJoperator_;
static D IKJbitcast_ = &KJbitcast_;
static D IKJoperands_ = &KJoperands_;
static D IKJmetadata_ = &KJmetadata_;
static D IKJtype_name_ = &KJtype_name_;
static D IKJattributes_ = &KJattributes_;
static D IKJdeclarator_ = &KJdeclarator_;
static D IKJgenerator_ = &KJgenerator_;
static D IKJemitter_ = &KJemitter_;

/* Variables */

D llvm_runtime_variableVdfmc_llvm_back_end = &Kllvm_runtime_variableVdfmc_llvm_back_endMM0;
D llvm_primitive_values_restQVdfmc_llvm_back_end = &Kllvm_primitive_values_restQVdfmc_llvm_back_endMM0;
D llvm_primitive_functionVdfmc_llvm_back_end = &Kllvm_primitive_functionVdfmc_llvm_back_endMM0;
D primitive_attributesVdfmc_llvm_back_end = &Kprimitive_attributesVdfmc_llvm_back_end;
D primitive_mapped_emitterVdfmc_llvm_back_end = &Kprimitive_mapped_emitterVdfmc_llvm_back_end;
D primitive_generatorVdfmc_llvm_back_end = &Kprimitive_generatorVdfmc_llvm_back_end;
D Lllvm_primitive_descriptorGVdfmc_llvm_back_end = &KLllvm_primitive_descriptorGVdfmc_llvm_back_end;
D Dllvm_primitive_descriptorsVdfmc_llvm_back_end = &KPunboundVKi;
D do_define_llvm_primitive_descriptorVdfmc_llvm_back_end = &Kdo_define_llvm_primitive_descriptorVdfmc_llvm_back_end;
D call_primitiveVdfmc_llvm_back_end = &Kcall_primitiveVdfmc_llvm_back_end;
D Lllvm_runtime_variable_descriptorGVdfmc_llvm_back_end = &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end;
D Dllvm_runtime_variable_descriptorsVdfmc_llvm_back_end = &KPunboundVKi;
D do_define_llvm_runtime_variable_descriptorVdfmc_llvm_back_end = &Kdo_define_llvm_runtime_variable_descriptorVdfmc_llvm_back_end;

/* Objects */

_KLclassGVKd KLllvm_primitive_descriptorGVdfmc_llvm_back_end = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K267,
  &K233,
  (D) 1,
  &Kdfmc_llvm_back_end_moduleYdylan_userVdfmc_llvm_back_end
};

_KLmm_wrapperGVKi_0 KLllvm_primitive_descriptorGVdfmc_llvm_back_endW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K233,
  (D) 1,
  21,
  33554439,
  (D) 1
};

_KLclassGVKd KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K232,
  &K192,
  (D) 1,
  &Kdfmc_llvm_back_end_moduleYdylan_userVdfmc_llvm_back_end
};

_KLmm_wrapperGVKi_0 KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_endW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K192,
  (D) 1,
  21,
  33554439,
  (D) 1
};

_KLsimple_methodGVKe Kcall_primitiveVdfmc_llvm_back_end = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_2,
  &K190,
  &Kcall_primitiveVdfmc_llvm_back_endI
};

_KLsimple_methodGVKe Kdo_define_llvm_primitive_descriptorVdfmc_llvm_back_end = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K131,
  &Kdo_define_llvm_primitive_descriptorVdfmc_llvm_back_endI
};

_KLsimple_methodGVKe Kllvm_primitive_functionVdfmc_llvm_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K130,
  &Kllvm_primitive_functionVdfmc_llvm_back_endMM0I
};

_KLsimple_methodGVKe Kdo_define_llvm_runtime_variable_descriptorVdfmc_llvm_back_end = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K64,
  &Kdo_define_llvm_runtime_variable_descriptorVdfmc_llvm_back_endI
};

_KLkeyword_methodGVKe Kllvm_runtime_variableVdfmc_llvm_back_endMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K57,
  &key_mep_5,
  &Kllvm_runtime_variableVdfmc_llvm_back_endMM0I,
  &K58
};

_KLsealed_generic_functionGVKe Kprimitive_mapped_emitterVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K36,
  &K35,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kllvm_primitive_values_restQVdfmc_llvm_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K32,
  &Kllvm_primitive_values_restQVdfmc_llvm_back_endMM0I
};

_KLkeyword_methodGVKe Kprimitive_rest_values_testVdfmc_llvm_back_end = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K26,
  &key_mep_3,
  &Kprimitive_rest_values_testVdfmc_llvm_back_endI,
  &K27
};

static _KLsymbolGVKd KJrest_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K25
};

static _KLbyte_stringGVKd_4 K25 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "rest"
};

static _KLkeyword_signatureAvaluesGVKi K26 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 34341893,
  &K30,
  &K31,
  &KDsignature_Lsimple_object_vectorG_typesVKi,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K27 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJvalue_types_spec_,
  &KPempty_vectorVKi
};

static _KLsymbolGVKd KJvalue_types_spec_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K29
};

static _KLbyte_stringGVKd_16 K29 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "value-types-spec"
};

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

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

static _KLsignatureAvaluesGVKi K32 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K33,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K33 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLllvm_back_endGVdfmc_llvm_back_end,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end
};

_KLgetter_methodGVKi Kprimitive_mapped_emitterVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kprimitive_mapped_emitterVdfmc_llvm_back_endHLllvm_primitive_descriptorG
};

static _KLpairGVKd K35 = {
  &KLpairGVKdW /* wrapper */,
  &Kprimitive_mapped_emitterVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K36 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "primitive-mapped-emitter"
};

_KLinstance_slot_descriptorGVKe Kprimitive_mapped_emitterVdfmc_llvm_back_endHLllvm_primitive_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end,
  &KJmapped_emitter_,
  &Kprimitive_mapped_emitterVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLfunctionGVKd
};

static _KLsymbolGVKd KJmapped_emitter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K39
};

static _KLbyte_stringGVKd_14 K39 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "mapped-emitter"
};

static _KLsymbolGVKd KJLtebG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K56
};

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

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K42 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kllvm_section_nameVdfmc_llvm_back_end
};

static _KLsymbolGVKd KJthread_local_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K55
};

static _KLsymbolGVKd KJinitializer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K54
};

static _KLsymbolGVKd KJconstantQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K53
};

static _KLsymbolGVKd KJlinkage_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K52
};

static _KLsymbolGVKd KJexternal_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K51
};

static _KLsymbolGVKd KJsection_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K50
};

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

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

static _KLbyte_stringGVKd_8 K51 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "external"
};

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

static _KLbyte_stringGVKd_9 K53 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "constant?"
};

static _KLbyte_stringGVKd_11 K54 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "initializer"
};

static _KLbyte_stringGVKd_12 K55 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "thread-local"
};

static _KLbyte_stringGVKd_5 K56 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "<teb>"
};

static _KLkeyword_signatureAvaluesGVKi K57 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 33817613,
  &K61,
  &K62,
  &KDsignature_LobjectG_typesVKi,
  &K63
};

static _KLsimple_object_vectorGVKd_2 K58 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJinitializedQ_,
  &KPfalseVKi
};

static _KLsymbolGVKd KJinitializedQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K60
};

static _KLbyte_stringGVKd_12 K60 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "initialized?"
};

static _KLsimple_object_vectorGVKd_3 K61 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLllvm_back_endGVdfmc_llvm_back_end,
  &KLllvm_moduleGVllvm,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end
};

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

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

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

static _KLsimple_object_vectorGVKd_2 K65 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLsymbolGVKd,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end
};

_KLkeyword_methodGVKe Kmake_primitive_functionVdfmc_llvm_back_endMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_7,
  &K121,
  &key_mep_7,
  &Kmake_primitive_functionVdfmc_llvm_back_endMM0I,
  &K122
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_functionF118 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  &Kanonymous_of_make_primitive_functionF118I,
  (D) 1
};

static _KLsymbolGVKd KJc_callable_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K77
};

static _KLsymbolGVKd KJpointee_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K76
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K73 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (D) 131129,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kllvm_section_nameVdfmc_llvm_back_end
};

static _KLsymbolGVKd KJcalling_convention_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K75
};

static _KLbyte_stringGVKd_18 K75 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "calling-convention"
};

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

static _KLbyte_stringGVKd_10 K77 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "c-callable"
};

static _KLsimple_closure_methodGVKi_0 Kparameter_typeF115 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K113,
  &Kparameter_typeF115I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kresult_typeF96 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K113,
  &Kresult_typeF96I,
  (D) 1
};

static _KLsymbolGVKd KJmapped_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K95
};

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

static _KLsymbolGVKd KJmapped_result_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K93
};

static _KLsymbolGVKd KJelements_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K92
};

static _KLsymbolGVKd KJparameter_types_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K91
};

static _KLsymbolGVKd KJreturn_type_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K90
};

static _KLsymbolGVKd KJvarargsQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K89
};

static _KLbyte_stringGVKd_8 K89 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "varargs?"
};

static _KLbyte_stringGVKd_11 K90 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "return-type"
};

static _KLbyte_stringGVKd_15 K91 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "parameter-types"
};

static _KLbyte_stringGVKd_8 K92 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "elements"
};

static _KLbyte_stringGVKd_13 K93 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "mapped-result"
};

static _KLbyte_stringGVKd_16 K94 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "mapped-parameter"
};

static _KLbyte_stringGVKd_6 K95 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "mapped"
};

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,
  &Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_end
};

_KLsealed_generic_functionGVKe Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 5,
  &K106,
  &K104,
  &RSINGULAR_Labsent_engine_nodeG
};

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

_KLsimple_methodGVKe Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K111,
  &Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM0I
};

_KLsimple_methodGVKe Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K108,
  &Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM1I
};

static _KLpairGVKd K104 = {
  &KLpairGVKdW /* wrapper */,
  &Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM0,
  &K105
};

static _KLpairGVKd K105 = {
  &KLpairGVKdW /* wrapper */,
  &Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_36 K106 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 145,
  "llvm-mapped-primitive-parameter-type"
};

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

static _KLsignatureAvaluesGVKi K108 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K109,
  &K110
};

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

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

static _KLsignatureAvaluesGVKi K111 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K112,
  &K110
};

static _KLsimple_object_vectorGVKd_2 K112 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLllvm_back_endGVdfmc_llvm_back_end,
  &KLBclassGVdfmc_modeling
};

static _KLsignatureAvaluesGVKi K113 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K114,
  &K110
};

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

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

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

static _KLsymbolGVKd KJindex_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K120
};

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

static _KLkeyword_signatureAvaluesGVKi K121 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 34341897,
  &K33,
  &K127,
  &K128,
  &K129
};

static _KLsimple_object_vectorGVKd_8 K122 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 33,
  &KJname_,
  &KPfalseVKi,
  &KJparameter_names_,
  &KPempty_vectorVKi,
  &KJparameter_types_spec_,
  &KPfalseVKi,
  &KJvalue_types_spec_,
  &KPfalseVKi
};

static _KLsymbolGVKd KJparameter_names_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K126
};

static _KLsymbolGVKd KJparameter_types_spec_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K125
};

static _KLbyte_stringGVKd_20 K125 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "parameter-types-spec"
};

static _KLbyte_stringGVKd_15 K126 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "parameter-names"
};

static _KLsimple_object_vectorGVKd_4 K127 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KJname_,
  &KJparameter_names_,
  &KJparameter_types_spec_,
  &KJvalue_types_spec_
};

static _KLsimple_object_vectorGVKd_4 K128 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KLstringGVKd,
  &KLsimple_object_vectorGVKd,
  &KLsimple_object_vectorGVKd,
  &KLsimple_object_vectorGVKd
};

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

static _KLsignatureAvaluesGVKi K130 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K33,
  &K129
};

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

static _KLsimple_object_vectorGVKd_2 K132 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLsymbolGVKd,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF181 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_1,
  &K165,
  &Kanonymous_of_make_primitive_mapped_emitterF181I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF166 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_1,
  &K165,
  &Kanonymous_of_make_primitive_mapped_emitterF166I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_make_primitive_mapped_emitterF139 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_1,
  &K165,
  &Kanonymous_of_make_primitive_mapped_emitterF139I,
  (D) 1
};

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

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

_KLsealed_generic_functionGVKe Kemit_mapped_primitive_resultVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 13,
  &K151,
  &K149,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K163,
  &Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM0I
};

_KLsimple_methodGVKe Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K152,
  &Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM1I
};

static _KLpairGVKd K149 = {
  &KLpairGVKdW /* wrapper */,
  &Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM0,
  &K150
};

static _KLpairGVKd K150 = {
  &KLpairGVKdW /* wrapper */,
  &Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_28 K151 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 113,
  "emit-mapped-primitive-result"
};

static _KLsignatureAvaluesGVKi K152 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K153,
  &K154
};

static _KLsimple_object_vectorGVKd_3 K153 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLllvm_back_endGVdfmc_llvm_back_end,
  &KLllvm_valueGVllvm,
  &KLBraw_typeGVdfmc_modeling
};

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

static _KLsymbolGVKd KJoperator_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K162
};

static _KLsymbolGVKd KJbitcast_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K161
};

static _KLsymbolGVKd KJoperands_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K160
};

static _KLsymbolGVKd KJmetadata_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K159
};

static _KLbyte_stringGVKd_8 K159 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "metadata"
};

static _KLbyte_stringGVKd_8 K160 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "operands"
};

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

static _KLbyte_stringGVKd_8 K162 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "operator"
};

static _KLsignatureAvaluesGVKi K163 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K164,
  &K154
};

static _KLsimple_object_vectorGVKd_3 K164 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLllvm_back_endGVdfmc_llvm_back_end,
  &KLllvm_valueGVllvm,
  &KLobjectGVKd
};

static _KLsignatureGVKe K165 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 45088773,
  &K30
};

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

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

_KLsealed_generic_functionGVKe Kemit_mapped_primitive_argumentVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 13,
  &K178,
  &K176,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K179,
  &Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM0I
};

_KLsimple_methodGVKe Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K152,
  &Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM1I
};

static _KLpairGVKd K176 = {
  &KLpairGVKdW /* wrapper */,
  &Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM0,
  &K177
};

static _KLpairGVKd K177 = {
  &KLpairGVKdW /* wrapper */,
  &Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_30 K178 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 121,
  "emit-mapped-primitive-argument"
};

static _KLsignatureAvaluesGVKi K179 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555469,
  &K180,
  &K154
};

static _KLsimple_object_vectorGVKd_3 K180 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLllvm_back_endGVdfmc_llvm_back_end,
  &KLllvm_valueGVllvm,
  &KLBclassGVdfmc_modeling
};

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

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

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

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

static _KLsignatureGVKe K190 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 45088777,
  &K191
};

static _KLsimple_object_vectorGVKd_2 K191 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLllvm_back_endGVdfmc_llvm_back_end,
  &KLprimitive_descriptorGVdfmc_modeling
};

static _KLimplementation_classGVKe K192 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433749,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_endW,
  &KPfalseVKi,
  &K193,
  (D) -3,
  &KLllvm_runtime_variable_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0,
  &K196,
  &K197,
  (D) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K193,
  &K193,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_5 K193 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &Kruntime_variable_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG,
  &Kruntime_variable_type_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG,
  &Kruntime_variable_init_functionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG,
  &Kruntime_variable_attributesVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG,
  &Kruntime_variable_sectionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG
};

_KLkeyword_methodGVKe KLllvm_runtime_variable_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_7,
  &K203,
  &key_mep_2,
  &KLllvm_runtime_variable_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0I,
  &K204
};

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

static _KLsimple_object_vectorGVKd_6 K197 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLbyte_stringGVKd_23 K198 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "Missing init keyword %="
};

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

static _KLsymbolGVKd KJattributes_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K201
};

static _KLbyte_stringGVKd_10 K201 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "attributes"
};

static _KLbyte_stringGVKd_9 K202 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "type-name"
};

static _KLkeyword_signatureAvaluesGVKi K203 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K205,
  &KDsignature_LobjectG_typesVKi,
  &K206
};

static _KLsimple_object_vectorGVKd_10 K204 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 41,
  &KJname_,
  &KPunboundVKi,
  &KJtype_name_,
  &KPunboundVKi,
  &KJinit_function_,
  &KPunboundVKi,
  &KJattributes_,
  &KPunboundVKi,
  &KJsection_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_5 K205 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &KJname_,
  &KJtype_name_,
  &KJinit_function_,
  &KJattributes_,
  &KJsection_
};

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

_KLinstance_slot_descriptorGVKe Kruntime_variable_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end,
  &KJname_,
  &Kruntime_variable_nameVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLsymbolGVKd
};

_KLinstance_slot_descriptorGVKe Kruntime_variable_type_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end,
  &KJtype_name_,
  &Kruntime_variable_type_nameVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLsymbolGVKd
};

_KLinstance_slot_descriptorGVKe Kruntime_variable_init_functionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end,
  &KJinit_function_,
  &Kruntime_variable_init_functionVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLfunctionGVKd
};

_KLinstance_slot_descriptorGVKe Kruntime_variable_attributesVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end,
  &KJattributes_,
  &Kruntime_variable_attributesVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLsequenceGVKd
};

_KLinstance_slot_descriptorGVKe Kruntime_variable_sectionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end,
  &KJsection_,
  &Kruntime_variable_sectionVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLsymbolGVKd
};

_KLsealed_generic_functionGVKe Kruntime_variable_sectionVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K215,
  &K214,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kruntime_variable_sectionVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kruntime_variable_sectionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG
};

static _KLpairGVKd K214 = {
  &KLpairGVKdW /* wrapper */,
  &Kruntime_variable_sectionVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_24 K215 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "runtime-variable-section"
};

_KLsealed_generic_functionGVKe Kruntime_variable_attributesVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K219,
  &K218,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kruntime_variable_attributesVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kruntime_variable_attributesVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG
};

static _KLpairGVKd K218 = {
  &KLpairGVKdW /* wrapper */,
  &Kruntime_variable_attributesVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_27 K219 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "runtime-variable-attributes"
};

_KLsealed_generic_functionGVKe Kruntime_variable_init_functionVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K223,
  &K222,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kruntime_variable_init_functionVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kruntime_variable_init_functionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG
};

static _KLpairGVKd K222 = {
  &KLpairGVKdW /* wrapper */,
  &Kruntime_variable_init_functionVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_30 K223 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 121,
  "runtime-variable-init-function"
};

_KLsealed_generic_functionGVKe Kruntime_variable_type_nameVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K227,
  &K226,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kruntime_variable_type_nameVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kruntime_variable_type_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG
};

static _KLpairGVKd K226 = {
  &KLpairGVKdW /* wrapper */,
  &Kruntime_variable_type_nameVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_26 K227 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "runtime-variable-type-name"
};

_KLsealed_generic_functionGVKe Kruntime_variable_nameVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K231,
  &K230,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kruntime_variable_nameVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kruntime_variable_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG
};

static _KLpairGVKd K230 = {
  &KLpairGVKdW /* wrapper */,
  &Kruntime_variable_nameVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K231 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "runtime-variable-name"
};

static _KLbyte_stringGVKd_34 K232 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 137,
  "<llvm-runtime-variable-descriptor>"
};

static _KLimplementation_classGVKe K233 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433749,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_endW,
  &KPfalseVKi,
  &K234,
  (D) -3,
  &KLllvm_primitive_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0,
  &K237,
  &K238,
  (D) 9,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K239,
  &K234,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_5 K234 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &Kprimitive_emitterVdfmc_modelingHLprimitive_descriptorG,
  &Kprimitive_attributesVdfmc_llvm_back_endHLllvm_primitive_descriptorG,
  &Kprimitive_mapped_emitterVdfmc_llvm_back_endHLllvm_primitive_descriptorG,
  &Kprimitive_generatorVdfmc_llvm_back_endHLllvm_primitive_descriptorG,
  &Kprimitive_function_declaratorVdfmc_llvm_back_endHLllvm_primitive_descriptorG
};

_KLkeyword_methodGVKe KLllvm_primitive_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_7,
  &K263,
  &key_mep_2,
  &KLllvm_primitive_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0I,
  &K264
};

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

static _KLsimple_object_vectorGVKd_6 K238 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLprimitive_descriptorGVdfmc_modeling,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_4 K239 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &Kprimitive_attributesVdfmc_llvm_back_endHLllvm_primitive_descriptorG,
  &Kprimitive_mapped_emitterVdfmc_llvm_back_endHLllvm_primitive_descriptorG,
  &Kprimitive_generatorVdfmc_llvm_back_endHLllvm_primitive_descriptorG,
  &Kprimitive_function_declaratorVdfmc_llvm_back_endHLllvm_primitive_descriptorG
};

_KLinstance_slot_descriptorGVKe Kprimitive_attributesVdfmc_llvm_back_endHLllvm_primitive_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end,
  &KJattributes_,
  &Kprimitive_attributesVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLsequenceGVKd
};

_KLinstance_slot_descriptorGVKe Kprimitive_generatorVdfmc_llvm_back_endHLllvm_primitive_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPfalseVKi,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end,
  &KJgenerator_,
  &Kprimitive_generatorVdfmc_llvm_back_end,
  &KPfalseVKi,
  &K251
};

_KLinstance_slot_descriptorGVKe Kprimitive_function_declaratorVdfmc_llvm_back_endHLllvm_primitive_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPempty_vectorVKi,
  &KLllvm_primitive_descriptorGVdfmc_llvm_back_end,
  &KJdeclarator_,
  &Kprimitive_function_declaratorVdfmc_llvm_back_end,
  &KPfalseVKi,
  &KLsimple_object_vectorGVKd
};

static _KLsymbolGVKd KJdeclarator_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K248
};

_KLsealed_generic_functionGVKe Kprimitive_function_declaratorVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K247,
  &K246,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kprimitive_function_declaratorVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kprimitive_function_declaratorVdfmc_llvm_back_endHLllvm_primitive_descriptorG
};

static _KLpairGVKd K246 = {
  &KLpairGVKdW /* wrapper */,
  &Kprimitive_function_declaratorVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_29 K247 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 117,
  "primitive-function-declarator"
};

static _KLbyte_stringGVKd_10 K248 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "declarator"
};

static _KLsymbolGVKd KJgenerator_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K256
};

_KLsealed_generic_functionGVKe Kprimitive_generatorVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K255,
  &K254,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLunionGVKe K251 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K252,
  &KLfunctionGVKd
};

static _KLsingletonGVKd K252 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

_KLgetter_methodGVKi Kprimitive_generatorVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kprimitive_generatorVdfmc_llvm_back_endHLllvm_primitive_descriptorG
};

static _KLpairGVKd K254 = {
  &KLpairGVKdW /* wrapper */,
  &Kprimitive_generatorVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_19 K255 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "primitive-generator"
};

static _KLbyte_stringGVKd_9 K256 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "generator"
};

_KLsealed_generic_functionGVKe Kprimitive_attributesVdfmc_llvm_back_end = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K260,
  &K259,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kprimitive_attributesVdfmc_llvm_back_endMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kprimitive_attributesVdfmc_llvm_back_endHLllvm_primitive_descriptorG
};

static _KLpairGVKd K259 = {
  &KLpairGVKdW /* wrapper */,
  &Kprimitive_attributesVdfmc_llvm_back_endMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K260 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "primitive-attributes"
};

static _KLsymbolGVKd KJemitter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K262
};

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

static _KLkeyword_signatureAvaluesGVKi K263 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K265,
  &KDsignature_LobjectG_typesVKi,
  &K266
};

static _KLsimple_object_vectorGVKd_10 K264 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 41,
  &KJemitter_,
  &KPunboundVKi,
  &KJattributes_,
  &KPunboundVKi,
  &KJmapped_emitter_,
  &KPunboundVKi,
  &KJgenerator_,
  &KPfalseVKi,
  &KJdeclarator_,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_5 K265 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &KJemitter_,
  &KJattributes_,
  &KJmapped_emitter_,
  &KJgenerator_,
  &KJdeclarator_
};

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

static _KLbyte_stringGVKd_27 K267 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "<llvm-primitive-descriptor>"
};

/* Code */

D Kcall_primitiveVdfmc_llvm_back_endI (D back_end_, D primitive_, D arguments_) {
  D T4;
  D T5;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:497
  T6 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:501
  CONGRUENT_CALL_PROLOG(&Kprimitive_emitterVdfmc_modeling, 1);
  T4 = CONGRUENT_CALL1(primitive_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:501
  T5 = CALL3(&KapplyVKd, T4, back_end_, T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:497
  return(T5);
}

D Kmake_primitive_mapped_emitterVdfmc_llvm_back_endI (D emitter_, D attributes_, D Urest_, D parameter_types_spec_, D value_types_spec_) {
  D parameter_types_specF6;
  D value_types_specF7;
  D UtmpF8;
  D T9;
  D mapped_parametersQ_;
  D UtmpF11;
  D T12;
  D mapped_resultsQ_;
  D T14;
  D T15;
  D T16_0;
  D T17;
  D T18_0;
  D T19;
  D T20_0;
  D T21_0;
  D T22_0;
  D T23_0;
  D T24_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:413
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:413
  primitive_type_check(parameter_types_spec_, &KLsimple_object_vectorGVKd);
  parameter_types_specF6 = parameter_types_spec_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:413
  primitive_type_check(value_types_spec_, &KLsimple_object_vectorGVKd);
  value_types_specF7 = value_types_spec_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:420
  CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
  UtmpF8 = CONGRUENT_CALL3(IKJmapped_, attributes_, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:420
  if (UtmpF8 != &KPfalseVKi) {
    mapped_parametersQ_ = UtmpF8;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:421
    CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
    T9 = CONGRUENT_CALL3(IKJmapped_parameter_, attributes_, &KPempty_vectorVKi);
    mapped_parametersQ_ = T9;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:420
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:423
  CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
  UtmpF11 = CONGRUENT_CALL3(IKJmapped_, attributes_, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:423
  if (UtmpF11 != &KPfalseVKi) {
    mapped_resultsQ_ = UtmpF11;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:424
    CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
    T12 = CONGRUENT_CALL3(IKJmapped_result_, attributes_, &KPempty_vectorVKi);
    mapped_resultsQ_ = T12;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:423
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:426
  if (mapped_parametersQ_ != &KPfalseVKi) {
    T14 = mapped_resultsQ_;
  } else {
    T14 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:426
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:425
  if (T14 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:427
    T15 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_mapped_emitterF181, 3, value_types_specF7, parameter_types_specF6, emitter_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:427
    T16_0 = T15;
    T24_0 = T16_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:425
    if (mapped_parametersQ_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:446
      T17 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_mapped_emitterF166, 2, parameter_types_specF6, emitter_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:446
      T18_0 = T17;
      T23_0 = T18_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:425
      if (mapped_resultsQ_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:457
        T19 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_mapped_emitterF139, 2, value_types_specF7, emitter_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:457
        T20_0 = T19;
        T22_0 = T20_0;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:469
        T21_0 = emitter_;
        T22_0 = T21_0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:425
      T23_0 = T22_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:425
    T24_0 = T23_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:425
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:413
  MV_SET_COUNT(1);
  return(T24_0);
}

D Kdo_define_llvm_primitive_descriptorVdfmc_llvm_back_endI (D name_, D descriptor_) {
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:265
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:268
  CALL3(&Kelement_setterVKd, descriptor_, Dllvm_primitive_descriptorsVdfmc_llvm_back_end, name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:268
  T2 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:265
  MV_SET_COUNT(0);
  return(T2);
}

D Kllvm_primitive_functionVdfmc_llvm_back_endMM0I (D back_end_, D desc_) {
  D T3_0;
  D T4_0;
  D T5_0;
  D T6;
  D T7_0;
  D Utmp_;
  D T9;
  D T10;
  D T11;
  D T12;
  _KLsimple_object_vectorGVKd_4 T13 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T14;
  D T15_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:271
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:274
  T6 = SLOT_VALUE_INITD(back_end_, 13);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:274
  T7_0 = KgethashVKiI(T6, desc_, &KPfalseVKi, &KPtrueVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:274
  Utmp_ = T7_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:274
  if (Utmp_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:274
    T3_0 = Utmp_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:274
    T15_0 = T3_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T3_0);
      primitive_type_check(T15_0, &KLllvm_functionGVllvm);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T15_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:277
    T9 = SLOT_VALUE_INITD(desc_, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:276
    T10 = APPLY3(&Kmake_primitive_functionVdfmc_llvm_back_endMM0, back_end_, desc_, T9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
    T11 = SLOT_VALUE_INITD(T6, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
    T12 = primitive_instanceQ(T10,T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
    if (T12 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
      T13.vector_element_[0] = &KJvalue_;
      T13.vector_element_[1] = T10;
      T13.vector_element_[2] = &KJtype_;
      T13.vector_element_[3] = T11;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T14 = CONGRUENT_CALL2(&KLtype_errorGVKd, &T13);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
      CONGRUENT_CALL_PROLOG(&KerrorVKd, 2);
      CONGRUENT_CALL2(T14, &KPempty_vectorVKi);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
    KputhashVKiI(T10, T6, desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:275
    T4_0 = T10;
    T5_0 = T4_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:274
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:271
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kdo_define_llvm_runtime_variable_descriptorVdfmc_llvm_back_endI (D name_, D descriptor_) {
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:555
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:558
  CALL3(&Kelement_setterVKd, descriptor_, Dllvm_runtime_variable_descriptorsVdfmc_llvm_back_end, name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:558
  T2 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:555
  MV_SET_COUNT(0);
  return(T2);
}

D Kllvm_runtime_variableVdfmc_llvm_back_endMM0I (D back_end_, D module_, D descriptor_, D Urest_, D initializedQ_) {
  D mangled_name_;
  D globalF7;
  D T8_0;
  D T9;
  D type_;
  D T11;
  D init_value_;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D globalF21;
  D T22_0;
  D T23;
  D T24;
  D T25_0;
  D T26_0;
  D T27;
  D T28;
  _KLsimple_object_vectorGVKd_2 T29 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D section_;
  D T38;
  _KLsimple_object_vectorGVKd_2 T39 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_14 T40 = {&KLsimple_object_vectorGVKdW, (D) 57};
  D T41_0;
  D T42_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:561
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:567
  T23 = SLOT_VALUE_INITD(descriptor_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:567
  T24 = SLOT_VALUE_INITD(T23, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:567
  T25_0 = T24;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:567
  T26_0 = T25_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T25_0);
    primitive_type_check(T26_0, &KLbyte_stringGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:567
  T27 = T26_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:567
  mangled_name_ = Kraw_mangleVdfmc_back_end_protocolMM0I(back_end_, T27);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:568
  T28 = SLOT_VALUE_INITD(module_, 11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:568
  T29.vector_element_[0] = &KJdefault_;
  T29.vector_element_[1] = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:568
  CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
  globalF7 = CONGRUENT_CALL3(T28, mangled_name_, &T29);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:569
  if (globalF7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:570
    T8_0 = globalF7;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:570
    T42_0 = T8_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T8_0);
      primitive_type_check(T42_0, &KLllvm_constant_valueGVllvm);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T22_0 = T42_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:572
    T30 = SLOT_VALUE_INITD(descriptor_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:574
    T31 = primitive_idQ(T30,IKJLtebG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:574
    if (T31 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:576
      T32 = SLOT_VALUE(back_end_, 19);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:576
      T33 = Kllvm_reference_typeVdfmc_llvm_back_endMM1I(back_end_, T32);
      type_ = T33;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:578
      T9 = Kdylan_valueVdfmc_namespaceI(T30);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:578
      ENGINE_NODE_CALL_PROLOG(&Kllvm_reference_typeVdfmc_llvm_back_end, &K41, 2);
      T34 = ENGINE_NODE_CALL2(&K41, back_end_, T9);
      type_ = T34;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:574
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:581
    T35 = SLOT_VALUE_INITD(descriptor_, 3);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:583
    T36 = SLOT_VALUE_INITD(descriptor_, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:583
    ENGINE_NODE_CALL_PROLOG(&Kllvm_section_nameVdfmc_llvm_back_end, &K42, 2);
    section_ = ENGINE_NODE_CALL2(&K42, back_end_, T36);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:587
    T11 = CALL2(&Kllvm_pointer_toVdfmc_llvm_back_endMM0, back_end_, type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:589
    if (initializedQ_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:590
      T38 = SLOT_VALUE_INITD(descriptor_, 2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:590
      init_value_ = CALL0(T38);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:591
      if (init_value_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:592
        CONGRUENT_CALL_PROLOG(&Kemit_referenceVdfmc_back_end, 3);
        T13 = CONGRUENT_CALL3(back_end_, module_, init_value_);
        T15 = T13;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:594
        T39.vector_element_[0] = &KJtype_;
        T39.vector_element_[1] = type_;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:594
        CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
        T14 = CONGRUENT_CALL2(&KLllvm_null_constantGVllvm, &T39);
        T15 = T14;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:591
      T16 = T15;
    } else {
      T16 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:589
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:600
    CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
    T17 = CONGRUENT_CALL3(IKJthread_local_, T35, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:600
    if (T17 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:601
      CONGRUENT_CALL_PROLOG(&Kllvm_thread_local_supportQVdfmc_llvm_back_end, 1);
      T18 = CONGRUENT_CALL1(back_end_);
      T19 = T18;
    } else {
      T19 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:600
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:600
    if (T19 != &KPfalseVKi) {
      T20 = &KPtrueVKi;
    } else {
      T20 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:600
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:585
    T40.vector_element_[0] = &KJname_;
    T40.vector_element_[1] = mangled_name_;
    T40.vector_element_[2] = &KJtype_;
    T40.vector_element_[3] = T11;
    T40.vector_element_[4] = IKJinitializer_;
    T40.vector_element_[5] = T16;
    T40.vector_element_[6] = IKJconstantQ_;
    T40.vector_element_[7] = &KPfalseVKi;
    T40.vector_element_[8] = IKJlinkage_;
    T40.vector_element_[9] = IKJexternal_;
    T40.vector_element_[10] = IKJthread_local_;
    T40.vector_element_[11] = T20;
    T40.vector_element_[12] = IKJsection_;
    T40.vector_element_[13] = section_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:585
    CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
    globalF21 = CONGRUENT_CALL2(&KLllvm_global_variableGVllvm, &T40);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:605
    MIEP_CALL_PROLOG(&K49);
    T41_0 = Kllvm_builder_define_globalYllvm_builderVllvmMM1I(back_end_, mangled_name_, globalF21);
    T22_0 = T41_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:569
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:561
  MV_SET_COUNT(1);
  return(T22_0);
}

D Kllvm_primitive_values_restQVdfmc_llvm_back_endMM0I (D back_end_, D desc_) {
  D T3;
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:504
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:508
  T3 = SLOT_VALUE_INITD(desc_, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:507
  T4_0 = APPLY2(&Kprimitive_rest_values_testVdfmc_llvm_back_end, back_end_, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:504
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kprimitive_rest_values_testVdfmc_llvm_back_endI (D back_end_, D Urest_, D value_types_spec_) {
  D value_types_specF4;
  D T5;
  D T6_0;
  D T7_0;
  D T8;
  DWORD T9;
  D T10;
  D T11;
  D T12_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:511
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:511
  primitive_type_check(value_types_spec_, &KLsimple_object_vectorGVKd);
  value_types_specF4 = value_types_spec_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
  T8 = SLOT_VALUE_INITD(value_types_specF4, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
  T9 = primitive_cast_integer_as_raw(T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
  T10 = primitive_machine_word_equalQ(T9,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
  if (T10 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
    T6_0 = &KPfalseVKi;
    T7_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
    CONGRUENT_CALL_PROLOG(&KlastVKd, 2);
    T5 = CONGRUENT_CALL2(value_types_specF4, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
    T11 = primitive_idQ(T5,IKJrest_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
    T12_0 = T11;
    T7_0 = T12_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:516
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:511
  MV_SET_COUNT(1);
  return(T7_0);
}

D Kmake_primitive_functionVdfmc_llvm_back_endMM0I (D back_end_, D descriptor_, D Urest_, D name_, D parameter_names_, D parameter_types_spec_, D value_types_spec_) {
  D nameF8;
  D parameter_namesF9;
  D parameter_types_specF10;
  D value_types_specF11;
  D mangled_name_;
  D T13;
  D T14;
  D T15;
  D T16_0;
  D T16_1;
  D T16_2;
  D required_parameter_type_specs_;
  D required_parameter_names_;
  D rest_parameter_name_;
  D T20;
  D T21;
  D T22_0;
  D T22_1;
  D required_value_type_specs_;
  D values_restQ_;
  D function_type_;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D calling_convention_;
  D T32_0;
  D T33;
  DWORD T34;
  D T35;
  D T36;
  DWORD T37;
  D T38;
  D T39;
  D T40;
  D T41_0;
  D T41_1;
  D T41_2;
  D T42_0;
  D T42_1;
  D T42_2;
  D T43;
  DWORD T44;
  D T45;
  D T46;
  DWORD T47;
  D T48;
  D T49;
  D T50_0;
  D T50_1;
  D T51_0;
  D T51_1;
  D T52;
  D T53;
  _KLsimple_object_vectorGVKd_2 T54 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T55 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D arguments_;
  D T57;
  D T58;
  D T59_0;
  D T60;
  D T61;
  D T62_0;
  D Utmp_;
  _KLsimple_object_vectorGVKd_2 T64 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T65;
  D T66;
  _KLsimple_object_vectorGVKd_4 T67 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T68;
  D T69_0;
  D T70;
  D T71;
  D typeF72;
  D T73;
  _KLsimple_object_vectorGVKd_12 T74 = {&KLsimple_object_vectorGVKdW, (D) 49};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:280
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:280
  primitive_type_check(name_, &KLstringGVKd);
  nameF8 = name_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:280
  primitive_type_check(parameter_names_, &KLsimple_object_vectorGVKd);
  parameter_namesF9 = parameter_names_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:280
  primitive_type_check(parameter_types_spec_, &KLsimple_object_vectorGVKd);
  parameter_types_specF10 = parameter_types_spec_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:280
  primitive_type_check(value_types_spec_, &KLsimple_object_vectorGVKd);
  value_types_specF11 = value_types_spec_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:288
  mangled_name_ = Kraw_mangleVdfmc_back_end_protocolMM0I(back_end_, nameF8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
  T33 = SLOT_VALUE_INITD(parameter_types_specF10, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
  T34 = primitive_cast_integer_as_raw(T33);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
  T35 = primitive_machine_word_equalQ(T34,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
  if (T35 != &KPfalseVKi) {
    T14 = &KPfalseVKi;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
    CONGRUENT_CALL_PROLOG(&KlastVKd, 2);
    T13 = CONGRUENT_CALL2(parameter_types_specF10, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
    T36 = primitive_idQ(T13,IKJrest_);
    T14 = T36;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
  if (T14 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:292
    T37 = primitive_machine_word_subtract_signal_overflow(T34,4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:292
    T38 = primitive_cast_raw_as_integer(T37);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:293
    T39 = Kcopy_sequenceVKdMM2I(parameter_types_specF10, &KPempty_vectorVKi, (D) 1, T38);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:294
    T40 = Kcopy_sequenceVKdMM2I(parameter_namesF9, &KPempty_vectorVKi, (D) 1, T38);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:295
    CONGRUENT_CALL_PROLOG(&KlastVKd, 2);
    T15 = CONGRUENT_CALL2(parameter_namesF9, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:293
    T41_0 = T39;
    T41_1 = T40;
    T41_2 = T15;
    T16_0 = T41_0;
    T16_1 = T41_1;
    T16_2 = T41_2;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:297
    T42_0 = parameter_types_specF10;
    T42_1 = parameter_namesF9;
    T42_2 = &KPfalseVKi;
    T16_0 = T42_0;
    T16_1 = T42_1;
    T16_2 = T42_2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:291
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:290
  required_parameter_type_specs_ = T16_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:290
  required_parameter_names_ = T16_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:290
  rest_parameter_name_ = T16_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
  T43 = SLOT_VALUE_INITD(value_types_specF11, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
  T44 = primitive_cast_integer_as_raw(T43);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
  T45 = primitive_machine_word_equalQ(T44,1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
  if (T45 != &KPfalseVKi) {
    T21 = &KPfalseVKi;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
    CONGRUENT_CALL_PROLOG(&KlastVKd, 2);
    T20 = CONGRUENT_CALL2(value_types_specF11, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
    T46 = primitive_idQ(T20,IKJrest_);
    T21 = T46;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
  if (T21 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:301
    T47 = primitive_machine_word_subtract_signal_overflow(T44,4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:301
    T48 = primitive_cast_raw_as_integer(T47);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:302
    T49 = Kcopy_sequenceVKdMM2I(value_types_specF11, &KPempty_vectorVKi, (D) 1, T48);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:302
    T50_0 = T49;
    T50_1 = &KPtrueVKi;
    T22_0 = T50_0;
    T22_1 = T50_1;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:304
    T51_0 = value_types_specF11;
    T51_1 = &KPfalseVKi;
    T22_0 = T51_0;
    T22_1 = T51_1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:300
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:299
  required_value_type_specs_ = T22_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:299
  values_restQ_ = T22_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:310
  T52 = primitive_as_boolean(rest_parameter_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:308
  function_type_ = Kllvm_primitive_function_typeVdfmc_llvm_back_endMM0I(back_end_, descriptor_, required_parameter_type_specs_, T52, required_value_type_specs_, values_restQ_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:314
  T53 = SLOT_VALUE_INITD(function_type_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:316
  T26 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_functionF118, 1, back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:324
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T27 = CONGRUENT_CALL1(T53);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:324
  T54.vector_element_[0] = &KJbelow_;
  T54.vector_element_[1] = T27;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:324
  T28 = KrangeVKdI(&T54, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, T27, &KPfalseVKi, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:316
  T55.vector_element_[0] = required_parameter_names_;
  T55.vector_element_[1] = T28;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:316
  arguments_ = KmapVKdMM0I(T26, T53, &T55);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:328
  T57 = SLOT_VALUE_INITD(function_type_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:328
  if (T57 != &KPfalseVKi) {
    T30 = T57;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:329
    T58 = SLOT_VALUE_INITD(descriptor_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:329
    CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
    T29 = CONGRUENT_CALL3(IKJc_callable_, T58, &KPempty_vectorVKi);
    T30 = T29;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:328
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:328
  if (T30 != &KPfalseVKi) {
    calling_convention_ = (D) 1;
  } else {
    calling_convention_ = (D) 33;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:328
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
  typeF72 = Kllvm_type_forwardVllvmMM0I(function_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
  T61 = SLOT_VALUE_INITD(back_end_, 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
  T62_0 = KgethashVKiI(T61, typeF72, &KPfalseVKi, &KPtrueVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
  Utmp_ = T62_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
  if (Utmp_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    T59_0 = Utmp_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    T69_0 = T59_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T59_0);
      primitive_type_check(T69_0, &KLllvm_pointer_typeGVllvm);
      MV_CHECK_TYPE_EPILOGUE();
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    T70 = T69_0;
    T71 = T70;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    T64.vector_element_[0] = IKJpointee_;
    T64.vector_element_[1] = typeF72;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
    T60 = CONGRUENT_CALL2(&KLllvm_pointer_typeGVllvm, &T64);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    T65 = SLOT_VALUE_INITD(T61, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    T66 = primitive_instanceQ(T60,T65);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    if (T66 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
      T67.vector_element_[0] = &KJvalue_;
      T67.vector_element_[1] = T60;
      T67.vector_element_[2] = &KJtype_;
      T67.vector_element_[3] = T65;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T68 = CONGRUENT_CALL2(&KLtype_errorGVKd, &T67);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
      CONGRUENT_CALL_PROLOG(&KerrorVKd, 2);
      CONGRUENT_CALL2(T68, &KPempty_vectorVKi);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
    KputhashVKiI(T60, T61, typeF72);
    T71 = T60;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:337
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:340
  ENGINE_NODE_CALL_PROLOG(&Kllvm_section_nameVdfmc_llvm_back_end, &K73, 2);
  T73 = ENGINE_NODE_CALL2(&K73, back_end_, &KJcode_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:335
  T74.vector_element_[0] = &KJname_;
  T74.vector_element_[1] = mangled_name_;
  T74.vector_element_[2] = &KJtype_;
  T74.vector_element_[3] = T71;
  T74.vector_element_[4] = &KJarguments_;
  T74.vector_element_[5] = arguments_;
  T74.vector_element_[6] = IKJlinkage_;
  T74.vector_element_[7] = IKJexternal_;
  T74.vector_element_[8] = IKJsection_;
  T74.vector_element_[9] = T73;
  T74.vector_element_[10] = IKJcalling_convention_;
  T74.vector_element_[11] = calling_convention_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:335
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T32_0 = CONGRUENT_CALL2(&KLllvm_functionGVllvm, &T74);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:280
  MV_SET_COUNT(1);
  return(T32_0);
}

static D Kanonymous_of_make_primitive_functionF118I (D arg_type_, D arg_name_, D index_) {
  D T3;
  D T4;
  _KLsimple_object_vectorGVKd_6 T5 = {&KLsimple_object_vectorGVKdW, (D) 25};
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:316
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:319
  T3 = Kraw_mangleVdfmc_back_end_protocolMM0I(CREF(0), arg_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:317
  T5.vector_element_[0] = &KJtype_;
  T5.vector_element_[1] = arg_type_;
  T5.vector_element_[2] = &KJname_;
  T5.vector_element_[3] = T3;
  T5.vector_element_[4] = IKJindex_;
  T5.vector_element_[5] = index_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:317
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T4 = CONGRUENT_CALL2(&KLllvm_argumentGVllvm, &T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:316
  return(T4);
}

D Kllvm_primitive_function_typeVdfmc_llvm_back_endMM0I (D back_end_, D descriptor_, D required_parameter_type_specs_, D parameters_restQ_, D required_value_type_specs_, D values_restQ_) {
  D UtmpF7;
  D T8;
  D mapped_parametersQ_;
  D UtmpF10;
  D T11;
  D mapped_resultsQ_;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D return_type_;
  D T22_0;
  D T23;
  D T24;
  D T25_0;
  D T26;
  D T27;
  D T28;
  D T29;
  DWORD T30;
  D T31;
  D T32;
  D T33_0;
  D T34;
  _KLsimple_object_vectorGVKd_2 T35 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_6 T36 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:345
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:354
  T23 = SLOT_VALUE_INITD(descriptor_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:354
  CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
  UtmpF7 = CONGRUENT_CALL3(IKJmapped_, T23, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:354
  if (UtmpF7 != &KPfalseVKi) {
    mapped_parametersQ_ = UtmpF7;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:355
    CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
    T8 = CONGRUENT_CALL3(IKJmapped_parameter_, T23, &KPempty_vectorVKi);
    mapped_parametersQ_ = T8;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:354
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:357
  CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
  UtmpF10 = CONGRUENT_CALL3(IKJmapped_, T23, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:357
  if (UtmpF10 != &KPfalseVKi) {
    mapped_resultsQ_ = UtmpF10;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:358
    CONGRUENT_CALL_PROLOG(&KmemberQVKd, 3);
    T11 = CONGRUENT_CALL3(IKJmapped_result_, T23, &KPempty_vectorVKi);
    mapped_resultsQ_ = T11;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:357
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  T13 = MAKE_CLOSURE_INITD(&Kparameter_typeF115, 2, mapped_parametersQ_, back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  T14 = MAKE_CLOSURE_INITD(&Kresult_typeF96, 2, mapped_resultsQ_, back_end_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:378
  T25_0 = Kobject_classVKdI(required_parameter_type_specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:378
  T26 = T25_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:378
  T24 = CALL3(&Kmap_as_oneVKi, T26, T13, required_parameter_type_specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:382
  if (values_restQ_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:383
    T27 = SLOT_VALUE(back_end_, 18);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:383
    T28 = Kllvm_reference_typeVdfmc_llvm_back_endMM1I(back_end_, T27);
    return_type_ = T28;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:384
    T29 = SLOT_VALUE_INITD(required_value_type_specs_, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:384
    T30 = primitive_cast_integer_as_raw(T29);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:384
    T31 = primitive_machine_word_equalQ(T30,1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:382
    if (T31 != &KPfalseVKi) {
      T20 = Dllvm_void_typeVllvm;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:388
      T33_0 = Kobject_classVKdI(required_value_type_specs_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:388
      T34 = T33_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:388
      T32 = CALL3(&Kmap_as_oneVKi, T34, T14, required_value_type_specs_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:389
      CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
      T15 = CONGRUENT_CALL1(T32);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:389
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T16 = CONGRUENT_CALL2(T15, (D) 5);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:389
      if (T16 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:390
        T17 = CALL1(&KfirstVKd, T32);
        T19 = T17;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:392
        T35.vector_element_[0] = IKJelements_;
        T35.vector_element_[1] = T32;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:392
        CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
        T18 = CONGRUENT_CALL2(&KLllvm_struct_typeGVllvm, &T35);
        T19 = T18;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:389
      T20 = T19;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:382
    return_type_ = T20;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:382
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:395
  T36.vector_element_[0] = IKJparameter_types_;
  T36.vector_element_[1] = T24;
  T36.vector_element_[2] = IKJreturn_type_;
  T36.vector_element_[3] = return_type_;
  T36.vector_element_[4] = IKJvarargsQ_;
  T36.vector_element_[5] = parameters_restQ_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:395
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T22_0 = CONGRUENT_CALL2(&KLllvm_function_typeGVllvm, &T36);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:345
  MV_SET_COUNT(1);
  return(T22_0);
}

static D Kparameter_typeF115I (D type_name_) {
  D o_;
  D T3_0;
  D T4_0;
  D T5_0;
  D T6_0;
  D T7_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:361
  o_ = Kdylan_valueVdfmc_namespaceI(type_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:362
  if (CREF(0) != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:363
    ENGINE_NODE_CALL_PROLOG(&Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_end, &K116, 2);
    T6_0 = ENGINE_NODE_CALL2(&K116, CREF(1), o_);
    T3_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:365
    ENGINE_NODE_CALL_PROLOG(&Kllvm_reference_typeVdfmc_llvm_back_end, &K117, 2);
    T7_0 = ENGINE_NODE_CALL2(&K117, CREF(1), o_);
    T3_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:362
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  T4_0 = T3_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  T5_0 = T4_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T4_0);
    primitive_type_check(T5_0, &KLllvm_typeGVllvm);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  MV_SET_COUNT(1);
  return(T5_0);
}

static D Kresult_typeF96I (D type_name_) {
  D o_;
  D T3_0;
  D T4_0;
  D T5_0;
  D T6_0;
  D T7_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:369
  o_ = Kdylan_valueVdfmc_namespaceI(type_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:370
  if (CREF(0) != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:371
    ENGINE_NODE_CALL_PROLOG(&Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_end, &K97, 2);
    T6_0 = ENGINE_NODE_CALL2(&K97, CREF(1), o_);
    T3_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:373
    ENGINE_NODE_CALL_PROLOG(&Kllvm_reference_typeVdfmc_llvm_back_end, &K99, 2);
    T7_0 = ENGINE_NODE_CALL2(&K99, CREF(1), o_);
    T3_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:370
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  T4_0 = T3_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  T5_0 = T4_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T4_0);
    primitive_type_check(T5_0, &KLllvm_typeGVllvm);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:359
  MV_SET_COUNT(1);
  return(T5_0);
}

D Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM0I (D back_end_, D class_) {
  D T3;
  D typeF4;
  D T5_0;
  D T6;
  D T7_0;
  D T8_0;
  D T9;
  D T10_0;
  D Utmp_;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T13;
  D T14;
  _KLsimple_object_vectorGVKd_4 T15 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T16;
  D T17_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:401
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
  T3 = Kllvm_class_typeVdfmc_llvm_back_endMM0I(back_end_, class_, &KPempty_vectorVKi, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
  CONGRUENT_CALL_PROLOG(&Kllvm_type_forwardVllvm, 1);
  typeF4 = CONGRUENT_CALL1(T3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
  T9 = SLOT_VALUE_INITD(back_end_, 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
  T10_0 = KgethashVKiI(T9, typeF4, &KPfalseVKi, &KPtrueVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
  Utmp_ = T10_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
  if (Utmp_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    T5_0 = Utmp_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    T17_0 = T5_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T5_0);
      primitive_type_check(T17_0, &KLllvm_pointer_typeGVllvm);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T8_0 = T17_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    T12.vector_element_[0] = IKJpointee_;
    T12.vector_element_[1] = typeF4;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
    T6 = CONGRUENT_CALL2(&KLllvm_pointer_typeGVllvm, &T12);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    T13 = SLOT_VALUE_INITD(T9, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    T14 = primitive_instanceQ(T6,T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    if (T14 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
      T15.vector_element_[0] = &KJvalue_;
      T15.vector_element_[1] = T6;
      T15.vector_element_[2] = &KJtype_;
      T15.vector_element_[3] = T13;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T16 = CONGRUENT_CALL2(&KLtype_errorGVKd, &T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
      CONGRUENT_CALL_PROLOG(&KerrorVKd, 2);
      CONGRUENT_CALL2(T16, &KPempty_vectorVKi);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    KputhashVKiI(T6, T9, typeF4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
    T7_0 = T6;
    T8_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:404
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:401
  MV_SET_COUNT(1);
  return(T8_0);
}

D Kllvm_mapped_primitive_parameter_typeVdfmc_llvm_back_endMM1I (D back_end_, D o_) {
  D T3_0;
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:407
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:410
  ENGINE_NODE_CALL_PROLOG(&Kllvm_reference_typeVdfmc_llvm_back_end, &K107, 2);
  T4_0 = ENGINE_NODE_CALL2(&K107, back_end_, o_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:407
  T3_0 = T4_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T4_0);
    primitive_type_check(T3_0, &KLllvm_typeGVllvm);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:407
  MV_SET_COUNT(1);
  return(T3_0);
}

static D Kanonymous_of_make_primitive_mapped_emitterF181I (D be_, D arguments_) {
  D T3;
  D T4;
  D resultsF5;
  D T6;
  D T7;
  D T8;
  _KLsimple_object_vectorGVKd_1 T9 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D argumentsF10;
  _KLsimple_object_vectorGVKd_2 T11 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T12 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D resultsF13;
  _KLsimple_object_vectorGVKd_1 T14 = {&KLsimple_object_vectorGVKdW, (D) 5};
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:427
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:427
  T8 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:429
  T3 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_mapped_emitterF188, 1, be_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:429
  T9.vector_element_[0] = CREF(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:429
  argumentsF10 = KmapVKdMM0I(T3, T8, &T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:435
  T11.vector_element_[0] = be_;
  T11.vector_element_[1] = argumentsF10;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:435
  T4 = KapplyVKdI(CREF(2), &T11);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:435
  resultsF5 = MV_GET_REST_AT(T4, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:437
  T6 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_mapped_emitterF186, 1, be_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:437
  T12.vector_element_[0] = CREF(0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:437
  resultsF13 = KmapVKdMM0I(T6, resultsF5, &T12);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:443
  T14.vector_element_[0] = resultsF13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:443
  T7 = KapplyVKdI(&KvaluesVKd, &T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:427
  return(T7);
}

static D Kanonymous_of_make_primitive_mapped_emitterF166I (D be_, D arguments_) {
  D T3;
  D T4;
  D T5;
  _KLsimple_object_vectorGVKd_1 T6 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D argumentsF7;
  _KLsimple_object_vectorGVKd_2 T8 = {&KLsimple_object_vectorGVKdW, (D) 9};
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:446
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:446
  T5 = primitive_copy_vector(arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:448
  T3 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_mapped_emitterF169, 1, be_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:448
  T6.vector_element_[0] = CREF(0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:448
  argumentsF7 = KmapVKdMM0I(T3, T5, &T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:454
  T8.vector_element_[0] = be_;
  T8.vector_element_[1] = argumentsF7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:454
  T4 = KapplyVKdI(CREF(1), &T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:446
  return(T4);
}

static D Kanonymous_of_make_primitive_mapped_emitterF139I (D be_, D arguments_) {
  D resultsF3;
  D T4;
  D T5;
  D T6;
  _KLsimple_object_vectorGVKd_1 T7 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D resultsF8;
  _KLsimple_object_vectorGVKd_1 T9 = {&KLsimple_object_vectorGVKdW, (D) 5};
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:457
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:458
  T6 = APPLY2(CREF(1), be_, arguments_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:458
  resultsF3 = MV_GET_REST_AT(T6, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:460
  T4 = MAKE_CLOSURE_INITD(&Kanonymous_of_make_primitive_mapped_emitterF142, 1, be_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:460
  T7.vector_element_[0] = CREF(0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:460
  resultsF8 = KmapVKdMM0I(T4, resultsF3, &T7);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:466
  T9.vector_element_[0] = resultsF8;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:466
  T5 = KapplyVKdI(&KvaluesVKd, &T9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:457
  return(T5);
}

static D Kanonymous_of_make_primitive_mapped_emitterF142I (D value_, D type_name_) {
  D type_;
  D T4;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:460
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:461
  type_ = Kdylan_valueVdfmc_namespaceI(type_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:462
  ENGINE_NODE_CALL_PROLOG(&Kemit_mapped_primitive_resultVdfmc_llvm_back_end, &K143, 3);
  T4 = ENGINE_NODE_CALL3(&K143, CREF(0), value_, type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:460
  return(T4);
}

D Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM0I (D back_end_, D value_, D o_) {
  D T4;
  D T5_0;
  D T6_0;
  D T7;
  _KLsimple_object_vectorGVKd_1 T8 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  _KLsimple_object_vectorGVKd_8 T14 = {&KLsimple_object_vectorGVKdW, (D) 33};
  D T15;
  D T16;
  D T17;
  D T18_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:485
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T4 = SLOT_VALUE_INITD(back_end_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T5_0 = CALL2(T4, back_end_, value_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T6_0 = T5_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T5_0);
    primitive_type_check(T6_0, &KLllvm_valueGVllvm);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T7 = T6_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T8.vector_element_[0] = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T9 = primitive_copy_vector(&T8);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T10 = SLOT_VALUE_INITD(back_end_, 4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  if (T10 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
    T11 = SLOT_VALUE_INITD(back_end_, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
    T12 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
    SLOT_VALUE_SETTER(T11, T12, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
    SLOT_VALUE_SETTER(&KPempty_listVKi, T12, 1);
    T13 = T12;
  } else {
    T13 = &KPempty_listVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T14.vector_element_[0] = IKJoperator_;
  T14.vector_element_[1] = IKJbitcast_;
  T14.vector_element_[2] = IKJoperands_;
  T14.vector_element_[3] = T9;
  T14.vector_element_[4] = &KJtype_;
  T14.vector_element_[5] = Dllvm_object_pointer_typeVdfmc_llvm_back_end;
  T14.vector_element_[6] = IKJmetadata_;
  T14.vector_element_[7] = T13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T15 = CONGRUENT_CALL2(&KLllvm_cast_instructionGVllvm, &T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T16 = SLOT_VALUE_INITD(back_end_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T17 = CALL1(&Kllvm_basic_block_instructionsVllvm, T16);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  CALL2(&KaddXVKd, T17, T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:488
  T18_0 = T15;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:485
  MV_SET_COUNT(1);
  return(T18_0);
}

D Kemit_mapped_primitive_resultVdfmc_llvm_back_endMM1I (D back_end_, D value_, D type_) {
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:491
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:494
  T4_0 = value_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:491
  MV_SET_COUNT(1);
  return(T4_0);
}

static D Kanonymous_of_make_primitive_mapped_emitterF169I (D value_, D type_name_) {
  D type_;
  D T4;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:448
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:449
  type_ = Kdylan_valueVdfmc_namespaceI(type_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:450
  ENGINE_NODE_CALL_PROLOG(&Kemit_mapped_primitive_argumentVdfmc_llvm_back_end, &K170, 3);
  T4 = ENGINE_NODE_CALL3(&K170, CREF(0), value_, type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:448
  return(T4);
}

D Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM0I (D back_end_, D value_, D class_) {
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:473
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:476
  T4_0 = Kop__object_pointer_castVdfmc_llvm_back_endMM0I(back_end_, value_, class_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:473
  MV_SET_COUNT(1);
  return(T4_0);
}

D Kemit_mapped_primitive_argumentVdfmc_llvm_back_endMM1I (D back_end_, D value_, D type_) {
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:479
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:482
  T4_0 = value_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:479
  MV_SET_COUNT(1);
  return(T4_0);
}

static D Kanonymous_of_make_primitive_mapped_emitterF188I (D value_, D type_name_) {
  D type_;
  D T4;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:429
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:430
  type_ = Kdylan_valueVdfmc_namespaceI(type_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:431
  ENGINE_NODE_CALL_PROLOG(&Kemit_mapped_primitive_argumentVdfmc_llvm_back_end, &K189, 3);
  T4 = ENGINE_NODE_CALL3(&K189, CREF(0), value_, type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:429
  return(T4);
}

static D Kanonymous_of_make_primitive_mapped_emitterF186I (D value_, D type_name_) {
  D type_;
  D T4;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:437
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:438
  type_ = Kdylan_valueVdfmc_namespaceI(type_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:439
  ENGINE_NODE_CALL_PROLOG(&Kemit_mapped_primitive_resultVdfmc_llvm_back_end, &K187, 3);
  T4 = ENGINE_NODE_CALL3(&K187, CREF(0), value_, type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:437
  return(T4);
}

D KLllvm_runtime_variable_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0I (D class_, D init_args_, D Uunique_runtime_variable_name_, D Uunique_runtime_variable_type_name_, D Uunique_runtime_variable_init_function_, D Uunique_runtime_variable_attributes_, D Uunique_runtime_variable_section_) {
  D T8;
  D Uunique_runtime_variable_nameF9;
  D T10;
  D Uunique_runtime_variable_type_nameF11;
  D T12;
  D Uunique_runtime_variable_init_functionF13;
  D T14;
  D Uunique_runtime_variable_attributesF15;
  D T16;
  D Uunique_runtime_variable_sectionF17;
  D T18;
  D Uunique_runtime_variable_nameF19;
  D Uunique_runtime_variable_type_nameF20;
  D Uunique_runtime_variable_init_functionF21;
  D Uunique_runtime_variable_attributesF22;
  D Uunique_runtime_variable_sectionF23;
  D T24_0;
  D T25;
  _KLsimple_object_vectorGVKd_1 T26 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T27;
  D T28;
  _KLsimple_object_vectorGVKd_1 T29 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T30;
  D T31;
  _KLsimple_object_vectorGVKd_1 T32 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T33;
  D T34;
  _KLsimple_object_vectorGVKd_1 T35 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T36;
  D T37;
  _KLsimple_object_vectorGVKd_1 T38 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T39;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  T25 = primitive_idQ(Uunique_runtime_variable_name_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  if (T25 != &KPfalseVKi) {
    T26.vector_element_[0] = &KJname_;
    T27 = KerrorVKdMM1I(&K198, &T26);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
    T8 = T27;
    Uunique_runtime_variable_nameF9 = T8;
  } else {
    Uunique_runtime_variable_nameF9 = Uunique_runtime_variable_name_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  T28 = primitive_idQ(Uunique_runtime_variable_type_name_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  if (T28 != &KPfalseVKi) {
    T29.vector_element_[0] = IKJtype_name_;
    T30 = KerrorVKdMM1I(&K198, &T29);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
    T10 = T30;
    Uunique_runtime_variable_type_nameF11 = T10;
  } else {
    Uunique_runtime_variable_type_nameF11 = Uunique_runtime_variable_type_name_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  T31 = primitive_idQ(Uunique_runtime_variable_init_function_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  if (T31 != &KPfalseVKi) {
    T32.vector_element_[0] = &KJinit_function_;
    T33 = KerrorVKdMM1I(&K198, &T32);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
    T12 = T33;
    Uunique_runtime_variable_init_functionF13 = T12;
  } else {
    Uunique_runtime_variable_init_functionF13 = Uunique_runtime_variable_init_function_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  T34 = primitive_idQ(Uunique_runtime_variable_attributes_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  if (T34 != &KPfalseVKi) {
    T35.vector_element_[0] = IKJattributes_;
    T36 = KerrorVKdMM1I(&K198, &T35);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
    T14 = T36;
    Uunique_runtime_variable_attributesF15 = T14;
  } else {
    Uunique_runtime_variable_attributesF15 = Uunique_runtime_variable_attributes_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  T37 = primitive_idQ(Uunique_runtime_variable_section_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  if (T37 != &KPfalseVKi) {
    T38.vector_element_[0] = IKJsection_;
    T39 = KerrorVKdMM1I(&K198, &T38);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
    T16 = T39;
    Uunique_runtime_variable_sectionF17 = T16;
  } else {
    Uunique_runtime_variable_sectionF17 = Uunique_runtime_variable_section_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  T18 = primitive_object_allocate_filled(6,&KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_endW,5,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_runtime_variable_nameF9, &KLsymbolGVKd);
  Uunique_runtime_variable_nameF19 = Uunique_runtime_variable_nameF9;
  SLOT_VALUE_SETTER(Uunique_runtime_variable_nameF19, T18, 0);
  primitive_type_check(Uunique_runtime_variable_type_nameF11, &KLsymbolGVKd);
  Uunique_runtime_variable_type_nameF20 = Uunique_runtime_variable_type_nameF11;
  SLOT_VALUE_SETTER(Uunique_runtime_variable_type_nameF20, T18, 1);
  primitive_type_check(Uunique_runtime_variable_init_functionF13, &KLfunctionGVKd);
  Uunique_runtime_variable_init_functionF21 = Uunique_runtime_variable_init_functionF13;
  SLOT_VALUE_SETTER(Uunique_runtime_variable_init_functionF21, T18, 2);
  primitive_type_check(Uunique_runtime_variable_attributesF15, &KLsequenceGVKd);
  Uunique_runtime_variable_attributesF22 = Uunique_runtime_variable_attributesF15;
  SLOT_VALUE_SETTER(Uunique_runtime_variable_attributesF22, T18, 3);
  primitive_type_check(Uunique_runtime_variable_sectionF17, &KLsymbolGVKd);
  Uunique_runtime_variable_sectionF23 = Uunique_runtime_variable_sectionF17;
  SLOT_VALUE_SETTER(Uunique_runtime_variable_sectionF23, T18, 4);
  APPLY2(&KinitializeVKd, T18, init_args_);
  T24_0 = T18;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  MV_SET_COUNT(1);
  return(T24_0);
}

D KLllvm_primitive_descriptorGZ32ZconstructorVdfmc_llvm_back_endMM0I (D class_, D init_args_, D Uunique_primitive_emitter_, D Uunique_primitive_attributes_, D Uunique_primitive_mapped_emitter_, D Uunique_primitive_generator_, D Uunique_primitive_function_declarator_) {
  D T8;
  D Uunique_primitive_emitterF9;
  D T10;
  D Uunique_primitive_attributesF11;
  D T12;
  D Uunique_primitive_mapped_emitterF13;
  D T14;
  D Uunique_primitive_emitterF15;
  D Uunique_primitive_attributesF16;
  D Uunique_primitive_mapped_emitterF17;
  D Uunique_primitive_generatorF18;
  D Uunique_primitive_function_declaratorF19;
  D T20_0;
  D T21;
  _KLsimple_object_vectorGVKd_1 T22 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T23;
  D T24;
  _KLsimple_object_vectorGVKd_1 T25 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T26;
  D T27;
  _KLsimple_object_vectorGVKd_1 T28 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T29;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  T21 = primitive_idQ(Uunique_primitive_emitter_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  if (T21 != &KPfalseVKi) {
    T22.vector_element_[0] = IKJemitter_;
    T23 = KerrorVKdMM1I(&K198, &T22);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
    T8 = T23;
    Uunique_primitive_emitterF9 = T8;
  } else {
    Uunique_primitive_emitterF9 = Uunique_primitive_emitter_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  T24 = primitive_idQ(Uunique_primitive_attributes_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  if (T24 != &KPfalseVKi) {
    T25.vector_element_[0] = IKJattributes_;
    T26 = KerrorVKdMM1I(&K198, &T25);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
    T10 = T26;
    Uunique_primitive_attributesF11 = T10;
  } else {
    Uunique_primitive_attributesF11 = Uunique_primitive_attributes_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  T27 = primitive_idQ(Uunique_primitive_mapped_emitter_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  if (T27 != &KPfalseVKi) {
    T28.vector_element_[0] = IKJmapped_emitter_;
    T29 = KerrorVKdMM1I(&K198, &T28);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
    T12 = T29;
    Uunique_primitive_mapped_emitterF13 = T12;
  } else {
    Uunique_primitive_mapped_emitterF13 = Uunique_primitive_mapped_emitter_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  T14 = primitive_object_allocate_filled(6,&KLllvm_primitive_descriptorGVdfmc_llvm_back_endW,5,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_primitive_emitterF9, &KLfunctionGVKd);
  Uunique_primitive_emitterF15 = Uunique_primitive_emitterF9;
  SLOT_VALUE_SETTER(Uunique_primitive_emitterF15, T14, 0);
  primitive_type_check(Uunique_primitive_attributesF11, &KLsequenceGVKd);
  Uunique_primitive_attributesF16 = Uunique_primitive_attributesF11;
  SLOT_VALUE_SETTER(Uunique_primitive_attributesF16, T14, 1);
  primitive_type_check(Uunique_primitive_mapped_emitterF13, &KLfunctionGVKd);
  Uunique_primitive_mapped_emitterF17 = Uunique_primitive_mapped_emitterF13;
  SLOT_VALUE_SETTER(Uunique_primitive_mapped_emitterF17, T14, 2);
  primitive_type_check(Uunique_primitive_generator_, &K251);
  Uunique_primitive_generatorF18 = Uunique_primitive_generator_;
  SLOT_VALUE_SETTER(Uunique_primitive_generatorF18, T14, 3);
  primitive_type_check(Uunique_primitive_function_declarator_, &KLsimple_object_vectorGVKd);
  Uunique_primitive_function_declaratorF19 = Uunique_primitive_function_declarator_;
  SLOT_VALUE_SETTER(Uunique_primitive_function_declaratorF19, T14, 4);
  APPLY2(&KinitializeVKd, T14, init_args_);
  T20_0 = T14;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  MV_SET_COUNT(1);
  return(T20_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJrest_);
    if (T0 != &KJrest_) {
      IKJrest_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJvalue_types_spec_);
    if (T0 != &KJvalue_types_spec_) {
      primitive_repeated_slot_value_setter(T0, &K127, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K122, 1, 6);
      primitive_repeated_slot_value_setter(T0, &K31, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K27, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmapped_emitter_);
    if (T0 != &KJmapped_emitter_) {
      primitive_repeated_slot_value_setter(T0, &K265, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K264, 1, 4);
      IKJmapped_emitter_ = T0;
      primitive_slot_value_setter(T0, &Kprimitive_mapped_emitterVdfmc_llvm_back_endHLllvm_primitive_descriptorG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLtebG_);
    if (T0 != &KJLtebG_) {
      IKJLtebG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJthread_local_);
    if (T0 != &KJthread_local_) {
      IKJthread_local_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJinitializer_);
    if (T0 != &KJinitializer_) {
      IKJinitializer_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJconstantQ_);
    if (T0 != &KJconstantQ_) {
      IKJconstantQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlinkage_);
    if (T0 != &KJlinkage_) {
      IKJlinkage_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexternal_);
    if (T0 != &KJexternal_) {
      IKJexternal_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsection_);
    if (T0 != &KJsection_) {
      primitive_slot_value_setter(T0, &Kruntime_variable_sectionVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG, 3);
      primitive_repeated_slot_value_setter(T0, &K205, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K204, 1, 8);
      IKJsection_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJinitializedQ_);
    if (T0 != &KJinitializedQ_) {
      primitive_repeated_slot_value_setter(T0, &K62, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K58, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_callable_);
    if (T0 != &KJc_callable_) {
      IKJc_callable_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJpointee_);
    if (T0 != &KJpointee_) {
      IKJpointee_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcalling_convention_);
    if (T0 != &KJcalling_convention_) {
      IKJcalling_convention_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmapped_);
    if (T0 != &KJmapped_) {
      IKJmapped_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmapped_parameter_);
    if (T0 != &KJmapped_parameter_) {
      IKJmapped_parameter_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmapped_result_);
    if (T0 != &KJmapped_result_) {
      IKJmapped_result_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJelements_);
    if (T0 != &KJelements_) {
      IKJelements_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJparameter_types_);
    if (T0 != &KJparameter_types_) {
      IKJparameter_types_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJreturn_type_);
    if (T0 != &KJreturn_type_) {
      IKJreturn_type_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJvarargsQ_);
    if (T0 != &KJvarargsQ_) {
      IKJvarargsQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJindex_);
    if (T0 != &KJindex_) {
      IKJindex_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJparameter_names_);
    if (T0 != &KJparameter_names_) {
      primitive_repeated_slot_value_setter(T0, &K127, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K122, 1, 2);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJparameter_types_spec_);
    if (T0 != &KJparameter_types_spec_) {
      primitive_repeated_slot_value_setter(T0, &K127, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K122, 1, 4);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJoperator_);
    if (T0 != &KJoperator_) {
      IKJoperator_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJbitcast_);
    if (T0 != &KJbitcast_) {
      IKJbitcast_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJoperands_);
    if (T0 != &KJoperands_) {
      IKJoperands_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmetadata_);
    if (T0 != &KJmetadata_) {
      IKJmetadata_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJtype_name_);
    if (T0 != &KJtype_name_) {
      primitive_slot_value_setter(T0, &Kruntime_variable_type_nameVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG, 3);
      primitive_repeated_slot_value_setter(T0, &K205, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K204, 1, 2);
      IKJtype_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJattributes_);
    if (T0 != &KJattributes_) {
      primitive_repeated_slot_value_setter(T0, &K265, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K264, 1, 2);
      IKJattributes_ = T0;
      primitive_slot_value_setter(T0, &Kprimitive_attributesVdfmc_llvm_back_endHLllvm_primitive_descriptorG, 3);
      primitive_slot_value_setter(T0, &Kruntime_variable_attributesVdfmc_llvm_back_endHLllvm_runtime_variable_descriptorG, 3);
      primitive_repeated_slot_value_setter(T0, &K205, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K204, 1, 6);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdeclarator_);
    if (T0 != &KJdeclarator_) {
      primitive_repeated_slot_value_setter(T0, &K265, 1, 4);
      primitive_repeated_slot_value_setter(T0, &K264, 1, 8);
      primitive_slot_value_setter(T0, &Kprimitive_function_declaratorVdfmc_llvm_back_endHLllvm_primitive_descriptorG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJgenerator_);
    if (T0 != &KJgenerator_) {
      primitive_repeated_slot_value_setter(T0, &K265, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K264, 1, 6);
      primitive_slot_value_setter(T0, &Kprimitive_generatorVdfmc_llvm_back_endHLllvm_primitive_descriptorG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJemitter_);
    if (T0 != &KJemitter_) {
      primitive_repeated_slot_value_setter(T0, &K265, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K264, 1, 0);
      IKJemitter_ = T0;
    }
  }
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:19
  T0 = KPadd_classVKeI(&KLllvm_primitive_descriptorGVdfmc_llvm_back_end);
  goto I0;
}
I0:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:522
  T0 = KPadd_classVKeI(&KLllvm_runtime_variable_descriptorGVdfmc_llvm_back_end);
  goto I4;
}
I4:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_llvm_back_end__X_llvm_primitives_for_user () {
{
  D T0;
  D T1;
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:263
  T2_0 = KLobject_tableGZ32ZconstructorVKiMM0I(&KLobject_tableGVKd, &KPempty_vectorVKi, &KLobjectGVKd, (D) 41, &Kdefault_grow_sizeVKe, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:263
  T1 = T2_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:263
  Dllvm_primitive_descriptorsVdfmc_llvm_back_end = T1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:263
  T0 = &KPfalseVKi;
  goto I3;
}
I3:

{
  D T0;
  D T1;
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:553
  T2_0 = KLobject_tableGZ32ZconstructorVKiMM0I(&KLobject_tableGVKd, &KPempty_vectorVKi, &KLobjectGVKd, (D) 41, &Kdefault_grow_sizeVKe, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:553
  T1 = T2_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:553
  Dllvm_runtime_variable_descriptorsVdfmc_llvm_back_end = T1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/llvm-back-end/llvm-primitives.dylan:553
  T0 = &KPfalseVKi;
  goto I7;
}
I7:

  return;
}


/* eof */
