#include "opendylan/run-time.h"

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

/* Typedefs for referenced classes */

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

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

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value PinstanceQ_iep_;
  dylan_value CinstanceQ_function_;
} _KLBtypeGVdfmc_modeling;

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(32);
define__KLbyte_stringGVKd(63);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(9);

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

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

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

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(9);
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(19);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(16);

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLintegerGVKd;

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
} _KLkeyword_signatureGVKe;

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

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

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
} _KLemitted_objectGVdfmc_common;

typedef struct {
  dylan_value wrapper;
} _KLdood_mapped_objectGVdood;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
} _KLmodel_propertiesGVdfmc_common;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
} _KLBtopGVdfmc_modeling;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
} _KLBobjectGVdfmc_modeling;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value PinstanceQ_iep_;
  dylan_value CinstanceQ_function_;
} _KLBlimited_typeGVdfmc_modeling;

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

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


/* Typedefs for defined classes */

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value PinstanceQ_iep_;
  dylan_value CinstanceQ_function_;
  dylan_value Climited_integer_min_;
  dylan_value Climited_integer_max_;
} _KLBlimited_integerGVdfmc_modeling;


/* Referenced object declarations */

dylan_value Kinstall_Bclass_mappingVdfmc_modelingMM0I (dylan_value, dylan_value);
dylan_value Kdo_define_evaluator_overrideVdfmc_definitionsMM0I (dylan_value, dylan_value);
dylan_value Kdo_define_core_unadorned_definitionVdfmc_definitionsMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
dylan_value Kdylan_valueVdfmc_namespaceI (dylan_value);
extern _KLclassGVKd KLBtypeGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBtypeGVdfmc_modelingW;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLsealed_generic_functionGVKe KCknown_disjointQVdfmc_modeling;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
extern _KLunionGVKe KLmodel_valueGVdfmc_modeling;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
extern _KLsimple_methodGVKe KGEVKd;
extern _KLsimple_methodGVKe KLEVKd;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLclassGVKd KLBclassGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBclassGVdfmc_modelingW;
extern _KLsealed_generic_functionGVKe KCsubtypeQVdfmc_modeling;
extern _KLsymbolGVKd KJmin_;
extern _KLsymbolGVKd KJmax_;
dylan_value Kimmutable_modelVdfmc_commonMM2I (dylan_value);
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
dylan_value Kmake_name_fragmentVdfmc_macro_expanderI (dylan_value);
extern _KLsymbolGVKd KJclass_;
dylan_value KlistVKdI (dylan_value);
dylan_value Kmake_parens_fragmentVdfmc_macro_expanderI (dylan_value);
extern _KLsymbolGVKd KJconstant_;
dylan_value Kmake_comma_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM3I (dylan_value);
extern _KLsymbolGVKd KJrequired_init_keyword_;
dylan_value Kmake_semicolon_fragmentVdfmc_macro_expanderI ();
extern _KLsymbolGVKd KJend_;
dylan_value Kmake_templateVdfmc_macro_expanderI (dylan_value);
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
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 KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLclassGVKd KLemitted_objectGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLemitted_objectGVdfmc_commonW;
extern _KLclassGVKd KLdood_mapped_objectGVdood;
extern _KLmm_wrapperGVKi_0 KLdood_mapped_objectGVdoodW;
extern _KLclassGVKd KLmodel_propertiesGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLmodel_propertiesGVdfmc_commonW;
extern _KLclassGVKd KLBtopGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBtopGVdfmc_modelingW;
extern _KLclassGVKd KLBobjectGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBobjectGVdfmc_modelingW;
extern _KLclassGVKd KLBlimited_typeGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBlimited_typeGVdfmc_modelingW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLinstance_slot_descriptorGVKe Kemitted_nameVdfmc_commonHLemitted_objectG;
extern _KLinstance_slot_descriptorGVKe Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG;
extern _KLinstance_slot_descriptorGVKe Kprivate_model_creatorVdfmc_commonHLmodel_propertiesG;
extern _KLinstance_slot_descriptorGVKe KPinstanceQ_iepVdfmc_modelingHLBtypeG;
extern _KLinstance_slot_descriptorGVKe KCinstanceQ_functionVdfmc_modelingHLBtypeG;
dylan_value Kclass_instanceQ_initialVKiI (dylan_value, dylan_value);
extern _KLmoduleGVKe Kdfmc_modeling_moduleYdylan_userVdfmc_modeling;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern dylan_value Tcurrent_dependentTVdfmc_common;

/* Defined object declarations */

extern _KLclassGVKd KLBlimited_integerGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBlimited_integerGVdfmc_modelingW;
static _KLsymbolGVKd KJLlimited_integerG_;
static _KLsymbolGVKd KJlimited_integer_min_;
extern _KLsealed_generic_functionGVKe KClimited_integer_minVdfmc_modeling;
static _KLsymbolGVKd KJlimited_integer_max_;
extern _KLsealed_generic_functionGVKe KClimited_integer_maxVdfmc_modeling;
extern _KLsimple_methodGVKe Ksource_constructor_for_limited_integerVdfmc_modeling;
dylan_value Ksource_constructor_for_limited_integerVdfmc_modelingI ();
extern _KLkeyword_methodGVKe KClimited_integerVdfmc_modelingMM0;
dylan_value KClimited_integerVdfmc_modelingMM0I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCsubtypeQVdfmc_modelingMM25;
dylan_value KCsubtypeQVdfmc_modelingMM25I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCsubtypeQVdfmc_modelingMM24;
dylan_value KCsubtypeQVdfmc_modelingMM24I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCsubtypeQVdfmc_modelingMM23;
dylan_value KCsubtypeQVdfmc_modelingMM23I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCinstanceQVdfmc_modelingMM4;
dylan_value KCinstanceQVdfmc_modelingMM4I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCinstanceQVdfmc_modelingMM5;
dylan_value KCinstanceQVdfmc_modelingMM5I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCknown_disjointQVdfmc_modelingMM12;
dylan_value KCknown_disjointQVdfmc_modelingMM12I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCknown_disjointQVdfmc_modelingMM13;
dylan_value KCknown_disjointQVdfmc_modelingMM13I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCknown_disjointQVdfmc_modelingMM14;
dylan_value KCknown_disjointQVdfmc_modelingMM14I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe KCbase_typeVdfmc_modelingMM2;
dylan_value KCbase_typeVdfmc_modelingMM2I (dylan_value);
static _KLsymbolGVKd KJLintegerG_;
static _KLbyte_stringGVKd_9 K34;
static _KLsignatureAvaluesGVKi K35;
static _KLsimple_object_vectorGVKd_1 K36;
static _KLsimple_object_vectorGVKd_1 K37;
static _KLsignatureAvaluesGVKi K38;
static _KLsimple_object_vectorGVKd_2 K39;
static _KLsignatureAvaluesGVKi K40;
static _KLsimple_object_vectorGVKd_2 K41;
static dylan_value Kexceeds_boundF43I (dylan_value, dylan_value);
static _KLsignatureAvaluesGVKi K44;
static _KLsimple_object_vectorGVKd_2 K45;
static _KLsignatureAvaluesGVKi K46;
static _KLsimple_object_vectorGVKd_2 K47;
static _KLsignatureAvaluesGVKi K48;
static _KLsimple_object_vectorGVKd_2 K49;
static dylan_value Ksatisifies_boundF51I (dylan_value, dylan_value, dylan_value);
static _KLsignatureAvaluesGVKi K52;
static _KLsimple_object_vectorGVKd_2 K53;
static _KLsignatureAvaluesGVKi K54;
static _KLsimple_object_vectorGVKd_2 K55;
static _KLunionGVKe K56;
dylan_value KLBlimited_integerGZ32ZconstructorVdfmc_modelingMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLbyte_stringGVKd_23 K58;
static _KLbyte_stringGVKd_63 K59;
static _KLsymbolGVKd KJuninitialized_instanceQ_function_;
static _KLbyte_stringGVKd_32 K61;
static _KLsingletonGVKd K62;
static _KLkeyword_signatureGVKe K63;
static _KLsimple_object_vectorGVKd_4 K64;
static _KLsimple_object_vectorGVKd_2 K65;
static _KLsimple_object_vectorGVKd_2 K66;
static _KLsymbolGVKd KJdefine_;
static _KLsymbolGVKd KJprimary_;
static _KLsymbolGVKd KJLlimited_typeG_;
static _KLsymbolGVKd KJslot_;
static _KLbyte_stringGVKd_4 K71;
static _KLbyte_stringGVKd_14 K72;
static _KLbyte_stringGVKd_7 K73;
static _KLbyte_stringGVKd_6 K74;
static _KLsignatureGVKe K75;
extern _KLgetter_methodGVKi KClimited_integer_maxVdfmc_modelingMM0;
static _KLpairGVKd K77;
static _KLbyte_stringGVKd_20 K78;
extern _KLinstance_slot_descriptorGVKe KClimited_integer_maxVdfmc_modelingHLBlimited_integerG;
static _KLbyte_stringGVKd_19 K80;
extern _KLgetter_methodGVKi KClimited_integer_minVdfmc_modelingMM0;
static _KLpairGVKd K82;
static _KLbyte_stringGVKd_20 K83;
extern _KLinstance_slot_descriptorGVKe KClimited_integer_minVdfmc_modelingHLBlimited_integerG;
static _KLbyte_stringGVKd_19 K85;
static _KLbyte_stringGVKd_17 K86;
static _KLimplementation_classGVKe K87;
static _KLsimple_object_vectorGVKd_7 K88;
extern _KLkeyword_methodGVKe KLBlimited_integerGZ32ZconstructorVdfmc_modelingMM0;
static _KLsimple_object_vectorGVKd_1 K90;
static _KLsimple_object_vectorGVKd_9 K91;
static _KLsimple_object_vectorGVKd_2 K92;
static _KLkeyword_signatureAvaluesGVKi K93;
static _KLsimple_object_vectorGVKd_8 K94;
static _KLsymbolGVKd KJemitted_name_;
static _KLsymbolGVKd KJdefinition_;
static _KLbyte_stringGVKd_10 K97;
static _KLbyte_stringGVKd_12 K98;
static _KLsimple_object_vectorGVKd_4 K99;
static _KLbyte_stringGVKd_18 K100;

/* Indirection variables */

static dylan_value IKJLlimited_integerG_ = &KJLlimited_integerG_;
static dylan_value IKJlimited_integer_min_ = &KJlimited_integer_min_;
static dylan_value IKJlimited_integer_max_ = &KJlimited_integer_max_;
static dylan_value IKJLintegerG_ = &KJLintegerG_;
static dylan_value IKJuninitialized_instanceQ_function_ = &KJuninitialized_instanceQ_function_;
static dylan_value IKJdefine_ = &KJdefine_;
static dylan_value IKJprimary_ = &KJprimary_;
static dylan_value IKJLlimited_typeG_ = &KJLlimited_typeG_;
static dylan_value IKJslot_ = &KJslot_;
static dylan_value IKJemitted_name_ = &KJemitted_name_;
static dylan_value IKJdefinition_ = &KJdefinition_;

/* Variables */

dylan_value Climited_integerVdfmc_modeling = &KClimited_integerVdfmc_modelingMM0;
dylan_value Climited_integer_minVdfmc_modeling = &KClimited_integer_minVdfmc_modeling;
dylan_value Climited_integer_maxVdfmc_modeling = &KClimited_integer_maxVdfmc_modeling;
dylan_value LBlimited_integerGVdfmc_modeling = &KLBlimited_integerGVdfmc_modeling;

/* Objects */

_KLclassGVKd KLBlimited_integerGVdfmc_modeling = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K100,
  &K87,
  (dylan_value) 1,
  &Kdfmc_modeling_moduleYdylan_userVdfmc_modeling
};

_KLmm_wrapperGVKi_0 KLBlimited_integerGVdfmc_modelingW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K87,
  (dylan_value) 1,
  29,
  33554439,
  (dylan_value) 1
};

static _KLsymbolGVKd KJLlimited_integerG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K86
};

static _KLsymbolGVKd KJlimited_integer_min_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K85
};

_KLsealed_generic_functionGVKe KClimited_integer_minVdfmc_modeling = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K83,
  &K82,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsymbolGVKd KJlimited_integer_max_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K80
};

_KLsealed_generic_functionGVKe KClimited_integer_maxVdfmc_modeling = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K78,
  &K77,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Ksource_constructor_for_limited_integerVdfmc_modeling = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_0,
  &K75,
  &Ksource_constructor_for_limited_integerVdfmc_modelingI
};

_KLkeyword_methodGVKe KClimited_integerVdfmc_modelingMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K63,
  &key_mep_3,
  &KClimited_integerVdfmc_modelingMM0I,
  &K64
};

_KLsimple_methodGVKe KCsubtypeQVdfmc_modelingMM25 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K54,
  &KCsubtypeQVdfmc_modelingMM25I
};

_KLsimple_methodGVKe KCsubtypeQVdfmc_modelingMM24 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K52,
  &KCsubtypeQVdfmc_modelingMM24I
};

_KLsimple_methodGVKe KCsubtypeQVdfmc_modelingMM23 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K44,
  &KCsubtypeQVdfmc_modelingMM23I
};

_KLsimple_methodGVKe KCinstanceQVdfmc_modelingMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K48,
  &KCinstanceQVdfmc_modelingMM4I
};

_KLsimple_methodGVKe KCinstanceQVdfmc_modelingMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K46,
  &KCinstanceQVdfmc_modelingMM5I
};

_KLsimple_methodGVKe KCknown_disjointQVdfmc_modelingMM12 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K44,
  &KCknown_disjointQVdfmc_modelingMM12I
};

_KLsimple_methodGVKe KCknown_disjointQVdfmc_modelingMM13 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K40,
  &KCknown_disjointQVdfmc_modelingMM13I
};

_KLsimple_methodGVKe KCknown_disjointQVdfmc_modelingMM14 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K38,
  &KCknown_disjointQVdfmc_modelingMM14I
};

_KLsimple_methodGVKe KCbase_typeVdfmc_modelingMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K35,
  &KCbase_typeVdfmc_modelingMM2I
};

static _KLsymbolGVKd KJLintegerG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K34
};

static _KLbyte_stringGVKd_9 K34 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "<integer>"
};

static _KLsignatureAvaluesGVKi K35 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K36,
  &K37
};

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

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

static _KLsignatureAvaluesGVKi K38 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K39,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K39 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLBtypeGVdfmc_modeling,
  &KLBlimited_integerGVdfmc_modeling
};

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

static _KLsimple_object_vectorGVKd_2 K41 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLBlimited_integerGVdfmc_modeling,
  &KLBtypeGVdfmc_modeling
};

static _KLsignatureAvaluesGVKi K44 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K45,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K45 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLBlimited_integerGVdfmc_modeling,
  &KLBlimited_integerGVdfmc_modeling
};

static _KLsignatureAvaluesGVKi K46 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K47,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K47 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLintegerGVKd,
  &KLBlimited_integerGVdfmc_modeling
};

static _KLsignatureAvaluesGVKi K48 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K49,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K49 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLmodel_valueGVdfmc_modeling,
  &KLBlimited_integerGVdfmc_modeling
};

static _KLsignatureAvaluesGVKi K52 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K53,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K53 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLBclassGVdfmc_modeling,
  &KLBlimited_integerGVdfmc_modeling
};

static _KLsignatureAvaluesGVKi K54 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K55,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K55 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLBlimited_integerGVdfmc_modeling,
  &KLBclassGVdfmc_modeling
};

static _KLunionGVKe K56 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K62,
  &KLintegerGVKd
};

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

static _KLbyte_stringGVKd_63 K59 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 253,
  "Attempt to create a model outside of proper compilation-context"
};

static _KLsymbolGVKd KJuninitialized_instanceQ_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K61
};

static _KLbyte_stringGVKd_32 K61 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 129,
  "uninitialized-instance?-function"
};

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

static _KLkeyword_signatureGVKe K63 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 45350913,
  &KPempty_vectorVKi,
  &K65,
  &K66
};

static _KLsimple_object_vectorGVKd_4 K64 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJmin_,
  &KPfalseVKi,
  &KJmax_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_2 K65 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJmin_,
  &KJmax_
};

static _KLsimple_object_vectorGVKd_2 K66 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &K56,
  &K56
};

static _KLsymbolGVKd KJdefine_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K74
};

static _KLsymbolGVKd KJprimary_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K73
};

static _KLsymbolGVKd KJLlimited_typeG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K72
};

static _KLsymbolGVKd KJslot_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K71
};

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

static _KLbyte_stringGVKd_14 K72 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "<limited-type>"
};

static _KLbyte_stringGVKd_7 K73 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 29,
  "primary"
};

static _KLbyte_stringGVKd_6 K74 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "define"
};

static _KLsignatureGVKe K75 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040193,
  &KPempty_vectorVKi
};

_KLgetter_methodGVKi KClimited_integer_maxVdfmc_modelingMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &KClimited_integer_maxVdfmc_modelingHLBlimited_integerG
};

static _KLpairGVKd K77 = {
  &KLpairGVKdW /* wrapper */,
  &KClimited_integer_maxVdfmc_modelingMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K78 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "^limited-integer-max"
};

_KLinstance_slot_descriptorGVKe KClimited_integer_maxVdfmc_modelingHLBlimited_integerG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLBlimited_integerGVdfmc_modeling,
  &KJmax_,
  &KClimited_integer_maxVdfmc_modeling,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLbyte_stringGVKd_19 K80 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 77,
  "limited-integer-max"
};

_KLgetter_methodGVKi KClimited_integer_minVdfmc_modelingMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &KClimited_integer_minVdfmc_modelingHLBlimited_integerG
};

static _KLpairGVKd K82 = {
  &KLpairGVKdW /* wrapper */,
  &KClimited_integer_minVdfmc_modelingMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K83 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "^limited-integer-min"
};

_KLinstance_slot_descriptorGVKe KClimited_integer_minVdfmc_modelingHLBlimited_integerG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLBlimited_integerGVdfmc_modeling,
  &KJmin_,
  &KClimited_integer_minVdfmc_modeling,
  &KPfalseVKi,
  &KLobjectGVKd
};

static _KLbyte_stringGVKd_19 K85 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 77,
  "limited-integer-min"
};

static _KLbyte_stringGVKd_17 K86 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "<limited-integer>"
};

static _KLimplementation_classGVKe K87 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527958045,
  &KLBlimited_integerGVdfmc_modeling,
  &KLBlimited_integerGVdfmc_modelingW,
  &KPfalseVKi,
  &K88,
  (dylan_value) -3,
  &KLBlimited_integerGZ32ZconstructorVdfmc_modelingMM0,
  &K90,
  &K91,
  (dylan_value) 33,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K92,
  &K88,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_7 K88 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 29,
  &Kemitted_nameVdfmc_commonHLemitted_objectG,
  &Kprivate_model_definitionVdfmc_commonHLmodel_propertiesG,
  &Kprivate_model_creatorVdfmc_commonHLmodel_propertiesG,
  &KPinstanceQ_iepVdfmc_modelingHLBtypeG,
  &KCinstanceQ_functionVdfmc_modelingHLBtypeG,
  &KClimited_integer_minVdfmc_modelingHLBlimited_integerG,
  &KClimited_integer_maxVdfmc_modelingHLBlimited_integerG
};

_KLkeyword_methodGVKe KLBlimited_integerGZ32ZconstructorVdfmc_modelingMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K93,
  &key_mep_2,
  &KLBlimited_integerGZ32ZconstructorVdfmc_modelingMM0I,
  &K94
};

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

static _KLsimple_object_vectorGVKd_9 K91 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 37,
  &KLobjectGVKd,
  &KLemitted_objectGVdfmc_common,
  &KLdood_mapped_objectGVdood,
  &KLmodel_propertiesGVdfmc_common,
  &KLBtopGVdfmc_modeling,
  &KLBobjectGVdfmc_modeling,
  &KLBtypeGVdfmc_modeling,
  &KLBlimited_typeGVdfmc_modeling,
  &KLBlimited_integerGVdfmc_modeling
};

static _KLsimple_object_vectorGVKd_2 K92 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KClimited_integer_minVdfmc_modelingHLBlimited_integerG,
  &KClimited_integer_maxVdfmc_modelingHLBlimited_integerG
};

static _KLkeyword_signatureAvaluesGVKi K93 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K99,
  &KDsignature_LobjectG_typesVKi,
  &K36
};

static _KLsimple_object_vectorGVKd_8 K94 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KJemitted_name_,
  &KPfalseVKi,
  &KJdefinition_,
  &KPfalseVKi,
  &KJmin_,
  &KPunboundVKi,
  &KJmax_,
  &KPunboundVKi
};

static _KLsymbolGVKd KJemitted_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K98
};

static _KLsymbolGVKd KJdefinition_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K97
};

static _KLbyte_stringGVKd_10 K97 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "definition"
};

static _KLbyte_stringGVKd_12 K98 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "emitted-name"
};

static _KLsimple_object_vectorGVKd_4 K99 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJemitted_name_,
  &KJdefinition_,
  &KJmin_,
  &KJmax_
};

static _KLbyte_stringGVKd_18 K100 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 73,
  "<&limited-integer>"
};

/* Code */

dylan_value Ksource_constructor_for_limited_integerVdfmc_modelingI () {
  dylan_value T0;
  dylan_value T1;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  _KLsimple_object_vectorGVKd_1 T18 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  _KLsimple_object_vectorGVKd_19 T23 = {&KLsimple_object_vectorGVKdW, (dylan_value) 77};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T0 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T1 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimary_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T2 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJclass_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T3 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLlimited_integerG_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLlimited_typeG_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T18.vector_element_[0] = T4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T5 = KlistVKdI(&T18);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T6 = Kmake_parens_fragmentVdfmc_macro_expanderI(T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T7 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJslot_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlimited_integer_min_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T10 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T19 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJrequired_init_keyword_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T20 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJmin_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T11 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T12 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T13 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJslot_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlimited_integer_max_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T15 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T21 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJrequired_init_keyword_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T22 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJmax_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T16 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T23.vector_element_[0] = T0;
  T23.vector_element_[1] = T1;
  T23.vector_element_[2] = T2;
  T23.vector_element_[3] = T3;
  T23.vector_element_[4] = T6;
  T23.vector_element_[5] = T7;
  T23.vector_element_[6] = T8;
  T23.vector_element_[7] = T9;
  T23.vector_element_[8] = T10;
  T23.vector_element_[9] = T19;
  T23.vector_element_[10] = T20;
  T23.vector_element_[11] = T11;
  T23.vector_element_[12] = T12;
  T23.vector_element_[13] = T13;
  T23.vector_element_[14] = T14;
  T23.vector_element_[15] = T15;
  T23.vector_element_[16] = T21;
  T23.vector_element_[17] = T22;
  T23.vector_element_[18] = T16;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T17 = Kmake_templateVdfmc_macro_expanderI(&T23);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  return(T17);
}

dylan_value KClimited_integerVdfmc_modelingMM0I (dylan_value all_keys_, dylan_value min_, dylan_value max_) {
  dylan_value minF4;
  dylan_value maxF5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10_0;
  _KLsimple_object_vectorGVKd_4 T11 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T12;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:18
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:18
  primitive_type_check(min_, &K56);
  minF4 = min_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:18
  primitive_type_check(max_, &K56);
  maxF5 = max_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:22
  if (minF4 != &KPfalseVKi) {
    T6 = minF4;
  } else {
    T6 = maxF5;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:22
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:22
  if (T6 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:25
    T11.vector_element_[0] = &KJmin_;
    T11.vector_element_[1] = minF4;
    T11.vector_element_[2] = &KJmax_;
    T11.vector_element_[3] = maxF5;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:25
    T10_0 = KLBlimited_integerGZ32ZconstructorVdfmc_modelingMM0I(&KLBlimited_integerGVdfmc_modeling, &T11, &KPfalseVKi, &KPfalseVKi, minF4, maxF5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:25
    T9 = T10_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:25
    T12 = Kimmutable_modelVdfmc_commonMM2I(T9);
    T8 = T12;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:27
    T7 = Kdylan_valueVdfmc_namespaceI(IKJLintegerG_);
    T8 = T7;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:22
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:18
  return(T8);
}

dylan_value KCsubtypeQVdfmc_modelingMM25I (dylan_value limint_, dylan_value class_) {
  dylan_value T3_0;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:79
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:81
  T4 = KCbase_typeVdfmc_modelingMM2I(limint_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:81
  CONGRUENT_CALL_PROLOG(&KCsubtypeQVdfmc_modeling, 2);
  T3_0 = CONGRUENT_CALL2(T4, class_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:79
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value KCsubtypeQVdfmc_modelingMM24I (dylan_value class_, dylan_value limint_) {
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:74
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:76
  T3_0 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:74
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value KCsubtypeQVdfmc_modelingMM23I (dylan_value limint1_, dylan_value limint2_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:57
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:67
  T7 = SLOT_VALUE_INITD(limint1_, 5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:67
  T8 = SLOT_VALUE_INITD(limint2_, 5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:67
  T3 = Ksatisifies_boundF51I(T7, T8, &KGEVKd);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:67
  if (T3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:68
    T9 = SLOT_VALUE_INITD(limint1_, 6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:68
    T10 = SLOT_VALUE_INITD(limint2_, 6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:68
    T4_0 = Ksatisifies_boundF51I(T9, T10, &KLEVKd);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:68
    T11_0 = T4_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T4_0);
      primitive_type_check(T11_0, &KLbooleanGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T11_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:67
    T5_0 = &KPfalseVKi;
    T6_0 = T5_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:67
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:57
  MV_SET_COUNT(1);
  return(T6_0);
}

dylan_value KCinstanceQVdfmc_modelingMM4I (dylan_value o_, dylan_value limint_) {
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:41
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:43
  T3_0 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:41
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value KCinstanceQVdfmc_modelingMM5I (dylan_value i_, dylan_value limint_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:46
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:48
  T8 = SLOT_VALUE_INITD(limint_, 5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:49
  T9 = SLOT_VALUE_INITD(limint_, 6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
  if (T8 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T10 = CONGRUENT_CALL2(i_, T8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
    T11 = primitive_not(T10);
    T3 = T11;
  } else {
    T3 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
  if (T3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
    if (T9 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T12 = CONGRUENT_CALL2(T9, i_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
      T13 = primitive_not(T12);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
      T14_0 = T13;
      T5_0 = T14_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
      T4_0 = &KPtrueVKi;
      T5_0 = T4_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
    T7_0 = T5_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
    T6_0 = &KPfalseVKi;
    T7_0 = T6_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:50
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:46
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value KCknown_disjointQVdfmc_modelingMM12I (dylan_value limint1_, dylan_value limint2_) {
  dylan_value Utmp_;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11_0;
  dylan_value T12_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:89
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:99
  T7 = SLOT_VALUE_INITD(limint1_, 5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:99
  T8 = SLOT_VALUE_INITD(limint2_, 6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:99
  Utmp_ = Kexceeds_boundF43I(T7, T8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:99
  if (Utmp_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:99
    T4_0 = Utmp_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:99
    T11_0 = T4_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T4_0);
      primitive_type_check(T11_0, &KLbooleanGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T11_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:100
    T9 = SLOT_VALUE_INITD(limint2_, 5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:100
    T10 = SLOT_VALUE_INITD(limint1_, 6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:100
    T5_0 = Kexceeds_boundF43I(T9, T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:100
    T12_0 = T5_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T5_0);
      primitive_type_check(T12_0, &KLbooleanGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T12_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:99
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:89
  MV_SET_COUNT(1);
  return(T6_0);
}

dylan_value KCknown_disjointQVdfmc_modelingMM13I (dylan_value limint_, dylan_value t_) {
  dylan_value T3_0;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:109
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:111
  T4 = KCbase_typeVdfmc_modelingMM2I(limint_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:111
  CONGRUENT_CALL_PROLOG(&KCknown_disjointQVdfmc_modeling, 2);
  T3_0 = CONGRUENT_CALL2(T4, t_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:109
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value KCknown_disjointQVdfmc_modelingMM14I (dylan_value t_, dylan_value limint_) {
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:114
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:116
  CONGRUENT_CALL_PROLOG(&KCknown_disjointQVdfmc_modeling, 2);
  T3_0 = CONGRUENT_CALL2(limint_, t_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:114
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value KCbase_typeVdfmc_modelingMM2I (dylan_value limint_) {
  dylan_value T2_0;
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:35
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:36
  T2_0 = Kdylan_valueVdfmc_namespaceI(IKJLintegerG_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:35
  T3_0 = T2_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T2_0);
    primitive_type_check(T3_0, &KLBtypeGVdfmc_modeling);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:35
  MV_SET_COUNT(1);
  return(T3_0);
}

static dylan_value Kexceeds_boundF43I (dylan_value value_, dylan_value bound_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:92
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:93
  if (bound_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:96
    if (value_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:96
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T6_0 = CONGRUENT_CALL2(bound_, value_);
      T4 = T6_0;
      MV_SET_COUNT(1);
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:96
      T3 = &KPfalseVKi;
      MV_SET_ELT(0, &KPfalseVKi);
      MV_SET_COUNT(1);
      T4 = T3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:96
    T5 = T4;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:94
    T2 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T2;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:93
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:92
  return(T5);
}

static dylan_value Ksatisifies_boundF51I (dylan_value value_, dylan_value bound_, dylan_value satisfiedQ_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:60
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:61
  if (bound_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:64
    if (value_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:64
      primitive_type_check(satisfiedQ_, &KLfunctionGVKd);
      T4 = satisfiedQ_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:64
      T5 = CALL2(T4, value_, bound_);
      T7 = T5;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:64
      T6 = &KPfalseVKi;
      MV_SET_ELT(0, &KPfalseVKi);
      MV_SET_COUNT(1);
      T7 = T6;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:64
    T8 = T7;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:62
    T3 = &KPtrueVKi;
    MV_SET_ELT(0, &KPtrueVKi);
    MV_SET_COUNT(1);
    T8 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:61
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:60
  return(T8);
}

dylan_value KLBlimited_integerGZ32ZconstructorVdfmc_modelingMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_emitted_name_, dylan_value Uunique_private_model_definition_, dylan_value Uunique_Climited_integer_min_, dylan_value Uunique_Climited_integer_max_) {
  dylan_value T7;
  dylan_value Uunique_Climited_integer_minF8;
  dylan_value T9;
  dylan_value Uunique_Climited_integer_maxF10;
  dylan_value T11;
  dylan_value T12_0;
  dylan_value T13;
  _KLsimple_object_vectorGVKd_1 T14 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T15;
  dylan_value T16;
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T18;
  dylan_value Utmp_;
  dylan_value T20;
  dylan_value T21;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T13 = primitive_idQ(Uunique_Climited_integer_min_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  if (T13 != &KPfalseVKi) {
    T14.vector_element_[0] = &KJmin_;
    T15 = KerrorVKdMM1I(&K58, &T14);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
    T7 = T15;
    Uunique_Climited_integer_minF8 = T7;
  } else {
    Uunique_Climited_integer_minF8 = Uunique_Climited_integer_min_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T16 = primitive_idQ(Uunique_Climited_integer_max_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  if (T16 != &KPfalseVKi) {
    T17.vector_element_[0] = &KJmax_;
    T18 = KerrorVKdMM1I(&K58, &T17);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
    T9 = T18;
    Uunique_Climited_integer_maxF10 = T9;
  } else {
    Uunique_Climited_integer_maxF10 = Uunique_Climited_integer_max_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T11 = primitive_object_allocate_filled(8,&KLBlimited_integerGVdfmc_modelingW,7,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_emitted_name_, T11, 0);
  SLOT_VALUE_SETTER(Uunique_private_model_definition_, T11, 1);
  Utmp_ = primitive_read_thread_variable(Tcurrent_dependentTVdfmc_common);
  if (Utmp_ != &KPfalseVKi) {
    T21 = Utmp_;
  } else {
    T20 = KerrorVKdMM1I(&K59, &KPempty_vectorVKi);
    T21 = T20;
  }
  SLOT_VALUE_SETTER(T21, T11, 2);
  SLOT_VALUE_SETTER(&KPfalseVKi, T11, 3);
  SLOT_VALUE_SETTER(IKJuninitialized_instanceQ_function_, T11, 4);
  SLOT_VALUE_SETTER(Uunique_Climited_integer_minF8, T11, 5);
  SLOT_VALUE_SETTER(Uunique_Climited_integer_maxF10, T11, 6);
  T12_0 = T11;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  MV_SET_COUNT(1);
  return(T12_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJLlimited_integerG_);
    if (T0 != &KJLlimited_integerG_) {
      IKJLlimited_integerG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJlimited_integer_min_);
    if (T0 != &KJlimited_integer_min_) {
      IKJlimited_integer_min_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJlimited_integer_max_);
    if (T0 != &KJlimited_integer_max_) {
      IKJlimited_integer_max_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLintegerG_);
    if (T0 != &KJLintegerG_) {
      IKJLintegerG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJuninitialized_instanceQ_function_);
    if (T0 != &KJuninitialized_instanceQ_function_) {
      IKJuninitialized_instanceQ_function_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdefine_);
    if (T0 != &KJdefine_) {
      IKJdefine_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJprimary_);
    if (T0 != &KJprimary_) {
      IKJprimary_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJLlimited_typeG_);
    if (T0 != &KJLlimited_typeG_) {
      IKJLlimited_typeG_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJslot_);
    if (T0 != &KJslot_) {
      IKJslot_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJemitted_name_);
    if (T0 != &KJemitted_name_) {
      primitive_repeated_slot_value_setter(T0, &K99, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K94, 1, 0);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdefinition_);
    if (T0 != &KJdefinition_) {
      primitive_repeated_slot_value_setter(T0, &K99, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K94, 1, 2);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_modeling__X_limited_integers_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T0 = Kinstall_Bclass_mappingVdfmc_modelingMM0I(&KLBlimited_integerGVdfmc_modeling, IKJLlimited_integerG_);
  goto I0;
}
I0:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T0 = Kdo_define_evaluator_overrideVdfmc_definitionsMM0I(IKJlimited_integer_min_, &KClimited_integer_minVdfmc_modeling);
  goto I4;
}
I4:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T0 = Kdo_define_evaluator_overrideVdfmc_definitionsMM0I(IKJlimited_integer_max_, &KClimited_integer_maxVdfmc_modeling);
  goto I7;
}
I7:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/modeling/limited-integers.dylan:11
  T0 = Kdo_define_core_unadorned_definitionVdfmc_definitionsMM0I(IKJLlimited_integerG_, &Ksource_constructor_for_limited_integerVdfmc_modeling);
  goto I10;
}
I10:

  return;
}


/* eof */
