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

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

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;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(22);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(21);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(29);

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

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 symbol_name_;
} _KLsymbolGVKd;

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
  dylan_value entry_state_;
  dylan_value Pbody_;
  dylan_value Pprotected_end_;
  dylan_value Pcleanups_;
  dylan_value Pcleanups_end_;
} _KLunwind_protectGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
  dylan_value entry_state_;
  dylan_value Pbody_;
  dylan_value Plabel_;
} _KLbind_exitGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
  dylan_value Plabel_;
  dylan_value loop_merges_;
  dylan_value loop_body_;
} _KLloopGVdfmc_flow_graph;

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 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 item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
  dylan_value test_;
  dylan_value Pconsequent_;
  dylan_value Palternative_;
} _KLifGVdfmc_flow_graph;

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

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 instanceQ_iep_;
  dylan_value singleton_object_;
} _KLsingletonGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value stretchy_representation_;
} _KLstretchy_object_vectorGVKe;

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_;
  dylan_value signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

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

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

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

typedef struct {
  dylan_value wrapper;
  dylan_value item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
  dylan_value computation_slot_descriptor_;
  dylan_value computation_instance_;
} _KLslot_valueGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
  dylan_value arguments_;
  dylan_value primitive_;
} _KLprimitive_callGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value users_;
  dylan_value reference_value_;
  dylan_value Pnode_id_;
} _KLobject_referenceGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
} _KLbinding_referenceGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value users_;
  dylan_value Pgenerator_;
  dylan_value Penvironment_;
  dylan_value temporary_properties_;
  dylan_value Pnode_id_;
} _KLtemporaryGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
  dylan_value merge_left_value_;
  dylan_value merge_right_value_;
  dylan_value merge_left_previous_computation_;
  dylan_value merge_right_previous_computation_;
} _KLloop_mergeGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value item_properties_;
  dylan_value computation_source_location_;
  dylan_value previous_computation_;
  dylan_value Pnext_computation_;
  dylan_value temporary_;
  dylan_value Penvironment_;
  dylan_value Pcomputation_type_;
  dylan_value Pnode_id_;
} _KLcomputationGVdfmc_flow_graph;

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value Craw_object_value_;
} _KLBraw_machine_wordGVdfmc_modeling;

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

typedef struct {
  dylan_value wrapper;
  dylan_value emitted_name_;
  dylan_value private_model_definition_;
  dylan_value private_model_creator_;
  dylan_value users_;
  dylan_value private_Cfunction_signature_;
  dylan_value Pmep_;
  dylan_value private_debug_name_;
  dylan_value function_properties_;
  dylan_value private_signature_spec_;
  dylan_value parameters_dynamic_extent_;
  dylan_value private_lambda_heap_;
  dylan_value private_lambda_body_;
} _KLBlambdaGVdfmc_modeling;

#define  define__KLstandalone_domainGVKe(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value domain_library_; \
    dylan_value domain_next_; \
    dylan_value domain_number_required_; \
    dylan_value domain_type_[nrepeated+1]; \
  } _KLstandalone_domainGVKe_##nrepeated;
define__KLstandalone_domainGVKe(1);

typedef struct {
  dylan_value wrapper;
  dylan_value namespace_name_;
  dylan_value library_major_version_;
  dylan_value library_minor_version_;
  dylan_value library_build_count_;
  dylan_value used_libraries_;
  dylan_value all_used_libraries_;
  dylan_value runtime_module_;
  dylan_value library_defined_generics_;
  dylan_value library_number_static_dispatches_;
  dylan_value library_number_dynamic_dispatches_;
} _KLlibraryGVKe;


/* Typedefs for defined classes */

typedef struct {
  dylan_value wrapper;
  dylan_value reusable_computations_;
  dylan_value dominating_state_;
} _KLcse_stateGVdfmc_optimization;

typedef struct {
  dylan_value wrapper;
  dylan_value reusable_computations_;
  dylan_value dominating_state_;
  dylan_value cse_if_;
} _KLcse_consequent_if_stateGVdfmc_optimization;

typedef struct {
  dylan_value wrapper;
  dylan_value reusable_computations_;
  dylan_value dominating_state_;
  dylan_value cse_if_;
} _KLcse_alternative_if_stateGVdfmc_optimization;

typedef struct {
  dylan_value wrapper;
  dylan_value reusable_computations_;
  dylan_value dominating_state_;
  dylan_value cse_if_;
} _KLcse_if_stateGVdfmc_optimization;


/* Referenced object declarations */

dylan_value KPadd_classVKeI (dylan_value);
dylan_value KPadd_nonsiblinged_domainVKnI (dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLsealed_generic_functionGVKe KbodyVdfmc_modeling;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
dylan_value Kformat_outYformat_outVioMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLsealed_generic_functionGVKe Knext_computationVdfmc_flow_graph;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
dylan_value Knext_computationVdfmc_flow_graphMM0I (dylan_value);
dylan_value KcleanupsVdfmc_flow_graphMM0I (dylan_value);
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLunwind_protectGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLunwind_protectGVdfmc_flow_graphW;
extern _KLclassGVKd KLbind_exitGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLbind_exitGVdfmc_flow_graphW;
extern _KLclassGVKd KLloopGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLloopGVdfmc_flow_graphW;
dylan_value Kconstant_fold_ifVdfmc_optimizationMM0I (dylan_value, dylan_value);
dylan_value KconsequentVdfmc_flow_graphMM0I (dylan_value);
dylan_value KalternativeVdfmc_flow_graphMM0I (dylan_value);
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLclassGVKd KLifGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLifGVdfmc_flow_graphW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
dylan_value KerrorVKdMM1I (dylan_value, dylan_value);
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
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);
dylan_value KLstretchy_object_vectorGZ32ZconstructorVKiMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLstretchy_object_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLstretchy_object_vectorGVKeW;
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_2 KDsignature_LclassG_typesVKi;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
dylan_value Kclass_instanceQ_rcpl_single_smallVKiI (dylan_value, dylan_value);
extern _KLmoduleGVKe Kdfmc_optimization_moduleYdylan_userVdfmc_optimization;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
dylan_value Kclass_instanceQ_initialVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLclassGVKd KLslot_valueGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLslot_valueGVdfmc_flow_graphW;
extern _KLsimple_methodGVKe Kprimitive_statelessQVdfmc_modelingMM0;
extern _KLclassGVKd KLprimitive_callGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLprimitive_callGVdfmc_flow_graphW;
extern _KLclassGVKd KLobject_referenceGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLobject_referenceGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe Kreferenced_bindingVdfmc_flow_graph;
extern _KLsealed_generic_functionGVKe KconstantQVdfmc_namespace;
extern _KLclassGVKd KLbinding_referenceGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLbinding_referenceGVdfmc_flow_graphW;
dylan_value KgeneratorVdfmc_flow_graphMM1I (dylan_value);
extern _KLclassGVKd KLtemporaryGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLtemporaryGVdfmc_flow_graphW;
extern _KLclassGVKd KLloop_mergeGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLloop_mergeGVdfmc_flow_graphW;
extern _KLclassGVKd KLcomputationGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLcomputationGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe KtemporaryVdfmc_flow_graph;
extern _KLsimple_methodGVKe Kreplace_computation_with_temporaryXVdfmc_flow_graphMM0;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
dylan_value KaddXVKdMM3I (dylan_value, dylan_value);
dylan_value KeveryQVKdMM0I (dylan_value, dylan_value, dylan_value);
dylan_value KEEVKdI (dylan_value, dylan_value);
extern _KLclassGVKd KLBraw_machine_wordGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBraw_machine_wordGVdfmc_modelingW;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLclassGVKd KLBlambdaGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBlambdaGVdfmc_modelingW;
extern _KLclassGVKd KLstandalone_domainGVKe;
extern _KLmm_wrapperGVKi_0 KLstandalone_domainGVKeW;
extern _KLlibraryGVKe Kdfmc_optimization_libraryYdylan_userVdfmc_optimization;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;

/* Defined object declarations */

extern _KLclassGVKd KLcse_stateGVdfmc_optimization;
extern _KLmm_wrapperGVKi_0 KLcse_stateGVdfmc_optimizationW;
extern _KLstandalone_domainGVKe_1 KmakeVKdRD_dfmc_optimizationRD_0;
extern _KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_optimizationRD_0;
extern _KLsimple_methodGVKe Kshare_common_subexpressionsVdfmc_optimizationMM0;
dylan_value Kshare_common_subexpressionsVdfmc_optimizationMM0I (dylan_value);
dylan_value KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kcse_walk_computationsVdfmc_optimizationMM0;
dylan_value Kcse_walk_computationsVdfmc_optimizationMM0I (dylan_value, dylan_value, dylan_value);
static _KLbyte_stringGVKd_29 K12;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K13;
extern _KLsealed_generic_functionGVKe Kcse_walk_computationVdfmc_optimization;
extern _KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM0;
dylan_value Kcse_walk_computationVdfmc_optimizationMM0I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM1;
dylan_value Kcse_walk_computationVdfmc_optimizationMM1I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM2;
dylan_value Kcse_walk_computationVdfmc_optimizationMM2I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM3;
dylan_value Kcse_walk_computationVdfmc_optimizationMM3I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM4;
dylan_value Kcse_walk_computationVdfmc_optimizationMM4I (dylan_value, dylan_value);
static _KLpairGVKd K25;
static _KLpairGVKd K26;
static _KLpairGVKd K27;
static _KLpairGVKd K28;
static _KLpairGVKd K29;
static _KLbyte_stringGVKd_20 K30;
static _KLsymbolGVKd KJdominating_state_;
static _KLbyte_stringGVKd_16 K32;
static _KLsignatureGVKe K33;
static _KLsimple_object_vectorGVKd_2 K34;
static _KLsignatureGVKe K35;
static _KLsimple_object_vectorGVKd_2 K36;
static _KLsignatureGVKe K37;
static _KLsimple_object_vectorGVKd_2 K38;
dylan_value Kcse_lookup_reusable_if_testVdfmc_optimizationMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJconsequent_;
static _KLsymbolGVKd KJalternative_;
static _KLsymbolGVKd KJif_;
extern _KLclassGVKd KLcse_consequent_if_stateGVdfmc_optimization;
extern _KLmm_wrapperGVKi_0 KLcse_consequent_if_stateGVdfmc_optimizationW;
extern _KLclassGVKd KLcse_alternative_if_stateGVdfmc_optimization;
extern _KLmm_wrapperGVKi_0 KLcse_alternative_if_stateGVdfmc_optimizationW;
static _KLimplementation_classGVKe K47;
static _KLsimple_object_vectorGVKd_3 K48;
extern _KLkeyword_methodGVKe KLcse_alternative_if_stateGZ32ZconstructorVdfmc_optimizationMM0;
dylan_value KLcse_alternative_if_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K51;
static _KLsimple_object_vectorGVKd_6 K52;
extern _KLclassGVKd KLcse_if_stateGVdfmc_optimization;
extern _KLmm_wrapperGVKi_0 KLcse_if_stateGVdfmc_optimizationW;
static _KLimplementation_classGVKe K55;
extern _KLkeyword_methodGVKe KLcse_if_stateGZ32ZconstructorVdfmc_optimizationMM0;
dylan_value KLcse_if_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K58;
static _KLsimple_object_vectorGVKd_6 K59;
static _KLsimple_object_vectorGVKd_1 K60;
extern _KLinstance_slot_descriptorGVKe Kcse_ifVdfmc_optimizationHLcse_if_stateG;
extern _KLsealed_generic_functionGVKe Kcse_ifVdfmc_optimization;
extern _KLgetter_methodGVKi Kcse_ifVdfmc_optimizationMM0;
static _KLpairGVKd K64;
static _KLbyte_stringGVKd_6 K65;
static _KLbyte_stringGVKd_23 K66;
static dylan_value K70I ();
static _KLunionGVKe K68;
static _KLsingletonGVKd K69;
static _KLkeyword_signatureAvaluesGVKi K71;
static _KLsimple_object_vectorGVKd_4 K72;
static _KLsimple_object_vectorGVKd_2 K73;
static _KLbyte_stringGVKd_14 K74;
static dylan_value K76I ();
static _KLkeyword_signatureAvaluesGVKi K77;
static _KLsimple_object_vectorGVKd_1 K78;
extern _KLinstance_slot_descriptorGVKe Kreusable_computationsVdfmc_optimizationHLcse_stateG;
extern _KLinstance_slot_descriptorGVKe Kdominating_stateVdfmc_optimizationHLcse_stateG;
extern _KLsealed_generic_functionGVKe Kdominating_stateVdfmc_optimization;
extern _KLgetter_methodGVKi Kdominating_stateVdfmc_optimizationMM0;
static _KLpairGVKd K83;
static _KLsimple_closure_methodGVKi_0 K90;
static dylan_value K90I ();
extern _KLsealed_generic_functionGVKe Kreusable_computationsVdfmc_optimization;
extern _KLgetter_methodGVKi Kreusable_computationsVdfmc_optimizationMM0;
static _KLpairGVKd K88;
static _KLbyte_stringGVKd_21 K89;
static _KLsignatureGVKe K91;
static _KLbyte_stringGVKd_26 K92;
static _KLimplementation_classGVKe K93;
extern _KLkeyword_methodGVKe KLcse_consequent_if_stateGZ32ZconstructorVdfmc_optimizationMM0;
dylan_value KLcse_consequent_if_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K96;
static dylan_value K98I ();
static _KLkeyword_signatureAvaluesGVKi K99;
static _KLsimple_object_vectorGVKd_1 K100;
static _KLbyte_stringGVKd_25 K101;
static _KLbyte_stringGVKd_2 K102;
static _KLbyte_stringGVKd_11 K103;
static _KLbyte_stringGVKd_10 K104;
extern _KLsealed_generic_functionGVKe Kreusable_computationQVdfmc_optimization;
extern _KLsealed_generic_functionGVKe Kcse_if_state_directionVdfmc_optimization;
static _KLunionGVKe K107;
extern _KLsimple_methodGVKe Kcse_if_state_directionVdfmc_optimizationMM0;
dylan_value Kcse_if_state_directionVdfmc_optimizationMM0I (dylan_value);
extern _KLsimple_methodGVKe Kcse_if_state_directionVdfmc_optimizationMM1;
dylan_value Kcse_if_state_directionVdfmc_optimizationMM1I (dylan_value);
static _KLpairGVKd K112;
static _KLpairGVKd K113;
static _KLbyte_stringGVKd_22 K114;
static _KLsignatureAvaluesGVKi K115;
static _KLsimple_object_vectorGVKd_1 K116;
static _KLsignatureAvaluesGVKi K117;
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM0;
dylan_value Kreusable_computationQVdfmc_optimizationMM0I (dylan_value);
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM1;
dylan_value Kreusable_computationQVdfmc_optimizationMM1I (dylan_value);
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM2;
dylan_value Kreusable_computationQVdfmc_optimizationMM2I (dylan_value);
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM3;
dylan_value Kreusable_computationQVdfmc_optimizationMM3I (dylan_value);
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM4;
dylan_value Kreusable_computationQVdfmc_optimizationMM4I (dylan_value);
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM5;
dylan_value Kreusable_computationQVdfmc_optimizationMM5I (dylan_value);
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM6;
dylan_value Kreusable_computationQVdfmc_optimizationMM6I (dylan_value);
extern _KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM7;
dylan_value Kreusable_computationQVdfmc_optimizationMM7I (dylan_value);
static _KLpairGVKd K134;
static _KLpairGVKd K135;
static _KLpairGVKd K136;
static _KLpairGVKd K137;
static _KLpairGVKd K138;
static _KLpairGVKd K139;
static _KLpairGVKd K140;
static _KLpairGVKd K141;
static _KLbyte_stringGVKd_21 K142;
static _KLsignatureAvaluesGVKi K143;
static _KLsimple_object_vectorGVKd_1 K144;
static _KLsignatureAvaluesGVKi K145;
static _KLsimple_object_vectorGVKd_1 K146;
static _KLsignatureAvaluesGVKi K147;
static _KLsimple_object_vectorGVKd_1 K148;
static _KLsignatureAvaluesGVKi K149;
static _KLsimple_object_vectorGVKd_1 K150;
static _KLsignatureAvaluesGVKi K151;
static _KLsimple_object_vectorGVKd_1 K152;
static _KLsignatureAvaluesGVKi K153;
static _KLsimple_object_vectorGVKd_1 K154;
static _KLsignatureAvaluesGVKi K155;
static _KLsignatureAvaluesGVKi K156;
static _KLsimple_object_vectorGVKd_1 K157;
static _KLsignatureGVKe K158;
static _KLsimple_object_vectorGVKd_2 K159;
dylan_value Kintern_reusable_computationVdfmc_optimizationI (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kequivalent_computationQVdfmc_optimization;
extern _KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM0;
dylan_value Kequivalent_computationQVdfmc_optimizationMM0I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM1;
dylan_value Kequivalent_computationQVdfmc_optimizationMM1I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM2;
dylan_value Kequivalent_computationQVdfmc_optimizationMM2I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM3;
dylan_value Kequivalent_computationQVdfmc_optimizationMM3I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM4;
dylan_value Kequivalent_computationQVdfmc_optimizationMM4I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM5;
dylan_value Kequivalent_computationQVdfmc_optimizationMM5I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM6;
dylan_value Kequivalent_computationQVdfmc_optimizationMM6I (dylan_value, dylan_value);
static _KLpairGVKd K176;
static _KLpairGVKd K177;
static _KLpairGVKd K178;
static _KLpairGVKd K179;
static _KLpairGVKd K180;
static _KLpairGVKd K181;
static _KLpairGVKd K182;
static _KLbyte_stringGVKd_23 K183;
static _KLsignatureAvaluesGVKi K184;
static _KLsimple_object_vectorGVKd_2 K185;
static _KLsignatureAvaluesGVKi K186;
static _KLsimple_object_vectorGVKd_2 K187;
static _KLsignatureAvaluesGVKi K188;
static _KLsimple_object_vectorGVKd_2 K189;
static _KLsignatureAvaluesGVKi K190;
static _KLsimple_object_vectorGVKd_2 K191;
static _KLsignatureAvaluesGVKi K192;
static _KLsimple_object_vectorGVKd_2 K193;
static _KLsignatureAvaluesGVKi K194;
static _KLsimple_object_vectorGVKd_2 K195;
static _KLsignatureAvaluesGVKi K196;
static _KLsignatureGVKe K197;
static _KLsimple_object_vectorGVKd_2 K198;
static _KLsignatureGVKe K199;
static _KLsimple_object_vectorGVKd_3 K200;
static _KLunionGVKe K201;
static dylan_value K203I ();
static _KLsignatureGVKe K204;
static _KLsimple_object_vectorGVKd_1 K205;
static _KLsingletonGVKd K206;
static _KLimplementation_classGVKe K207;
static _KLsimple_object_vectorGVKd_2 K208;
extern _KLkeyword_methodGVKe KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0;
static _KLsimple_object_vectorGVKd_1 K210;
static _KLsimple_object_vectorGVKd_6 K211;
static _KLkeyword_signatureAvaluesGVKi K212;
static _KLsimple_object_vectorGVKd_2 K213;
static _KLsimple_object_vectorGVKd_1 K214;
static _KLbyte_stringGVKd_11 K215;
static _KLpairGVKd K216;
static _KLpairGVKd K217;
static _KLpairGVKd K218;

/* Indirection variables */

static dylan_value IKJdominating_state_ = &KJdominating_state_;
static dylan_value IKJconsequent_ = &KJconsequent_;
static dylan_value IKJalternative_ = &KJalternative_;
static dylan_value IKJif_ = &KJif_;

/* Variables */

dylan_value share_common_subexpressionsVdfmc_optimization = &Kshare_common_subexpressionsVdfmc_optimizationMM0;
dylan_value Lcse_stateGVdfmc_optimization = &KLcse_stateGVdfmc_optimization;
dylan_value Lcse_if_stateGVdfmc_optimization = &KLcse_if_stateGVdfmc_optimization;
dylan_value Lcse_consequent_if_stateGVdfmc_optimization = &KLcse_consequent_if_stateGVdfmc_optimization;
dylan_value Lcse_alternative_if_stateGVdfmc_optimization = &KLcse_alternative_if_stateGVdfmc_optimization;

/* Objects */

_KLclassGVKd KLcse_stateGVdfmc_optimization = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K215,
  &K207,
  (dylan_value) 1,
  &Kdfmc_optimization_moduleYdylan_userVdfmc_optimization
};

_KLmm_wrapperGVKi_0 KLcse_stateGVdfmc_optimizationW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K207,
  (dylan_value) 1,
  9,
  33554439,
  (dylan_value) 1
};

_KLstandalone_domainGVKe_1 KmakeVKdRD_dfmc_optimizationRD_0 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_optimization_libraryYdylan_userVdfmc_optimization,
  &KPfalseVKi,
  (dylan_value) 5,
  &K206
};

_KLstandalone_domainGVKe_1 KinitializeVKdRD_dfmc_optimizationRD_0 = {
  &KLstandalone_domainGVKeW /* wrapper */,
  &Kdfmc_optimization_libraryYdylan_userVdfmc_optimization,
  &KPfalseVKi,
  (dylan_value) 5,
  &KLcse_stateGVdfmc_optimization
};

_KLsimple_methodGVKe Kshare_common_subexpressionsVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K204,
  &Kshare_common_subexpressionsVdfmc_optimizationMM0I
};

_KLsimple_methodGVKe Kcse_walk_computationsVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K199,
  &Kcse_walk_computationsVdfmc_optimizationMM0I
};

static _KLbyte_stringGVKd_29 K12 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 117,
  "CSE found empty function: %=\n"
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K13 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (dylan_value) 131129,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kcse_walk_computationVdfmc_optimization
};

_KLsealed_generic_functionGVKe Kcse_walk_computationVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (dylan_value) 9,
  &K30,
  &K25,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K197,
  &Kcse_walk_computationVdfmc_optimizationMM0I
};

_KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K158,
  &Kcse_walk_computationVdfmc_optimizationMM1I
};

_KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K37,
  &Kcse_walk_computationVdfmc_optimizationMM2I
};

_KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K35,
  &Kcse_walk_computationVdfmc_optimizationMM3I
};

_KLsimple_methodGVKe Kcse_walk_computationVdfmc_optimizationMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K33,
  &Kcse_walk_computationVdfmc_optimizationMM4I
};

static _KLpairGVKd K25 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_walk_computationVdfmc_optimizationMM0,
  &K26
};

static _KLpairGVKd K26 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_walk_computationVdfmc_optimizationMM1,
  &K27
};

static _KLpairGVKd K27 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_walk_computationVdfmc_optimizationMM2,
  &K28
};

static _KLpairGVKd K28 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_walk_computationVdfmc_optimizationMM3,
  &K29
};

static _KLpairGVKd K29 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_walk_computationVdfmc_optimizationMM4,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K30 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 81,
  "cse-walk-computation"
};

static _KLsymbolGVKd KJdominating_state_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K32
};

static _KLbyte_stringGVKd_16 K32 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 65,
  "dominating-state"
};

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

static _KLsimple_object_vectorGVKd_2 K34 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLunwind_protectGVdfmc_flow_graph,
  &KLcse_stateGVdfmc_optimization
};

static _KLsignatureGVKe K35 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943049,
  &K36
};

static _KLsimple_object_vectorGVKd_2 K36 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLbind_exitGVdfmc_flow_graph,
  &KLcse_stateGVdfmc_optimization
};

static _KLsignatureGVKe K37 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943049,
  &K38
};

static _KLsimple_object_vectorGVKd_2 K38 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLloopGVdfmc_flow_graph,
  &KLcse_stateGVdfmc_optimization
};

static _KLsymbolGVKd KJconsequent_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K104
};

static _KLsymbolGVKd KJalternative_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K103
};

static _KLsymbolGVKd KJif_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K102
};

_KLclassGVKd KLcse_consequent_if_stateGVdfmc_optimization = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K101,
  &K93,
  (dylan_value) 1,
  &Kdfmc_optimization_moduleYdylan_userVdfmc_optimization
};

_KLmm_wrapperGVKi_0 KLcse_consequent_if_stateGVdfmc_optimizationW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K93,
  (dylan_value) 1,
  13,
  33554439,
  (dylan_value) 1
};

_KLclassGVKd KLcse_alternative_if_stateGVdfmc_optimization = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K92,
  &K47,
  (dylan_value) 1,
  &Kdfmc_optimization_moduleYdylan_userVdfmc_optimization
};

_KLmm_wrapperGVKi_0 KLcse_alternative_if_stateGVdfmc_optimizationW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K47,
  (dylan_value) 1,
  13,
  33554439,
  (dylan_value) 1
};

static _KLimplementation_classGVKe K47 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102093,
  &KLcse_alternative_if_stateGVdfmc_optimization,
  &KLcse_alternative_if_stateGVdfmc_optimizationW,
  &KPfalseVKi,
  &K48,
  (dylan_value) -3,
  &KLcse_alternative_if_stateGZ32ZconstructorVdfmc_optimizationMM0,
  &K51,
  &K52,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K48,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K48 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &Kreusable_computationsVdfmc_optimizationHLcse_stateG,
  &Kdominating_stateVdfmc_optimizationHLcse_stateG,
  &Kcse_ifVdfmc_optimizationHLcse_if_stateG
};

_KLkeyword_methodGVKe KLcse_alternative_if_stateGZ32ZconstructorVdfmc_optimizationMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K77,
  &key_mep_2,
  &KLcse_alternative_if_stateGZ32ZconstructorVdfmc_optimizationMM0I,
  &K72
};

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

static _KLsimple_object_vectorGVKd_6 K52 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLcse_stateGVdfmc_optimization,
  &KLcse_if_stateGVdfmc_optimization,
  &KLcse_alternative_if_stateGVdfmc_optimization,
  &KPfalseVKi,
  &KPfalseVKi
};

_KLclassGVKd KLcse_if_stateGVdfmc_optimization = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K74,
  &K55,
  (dylan_value) 1,
  &Kdfmc_optimization_moduleYdylan_userVdfmc_optimization
};

_KLmm_wrapperGVKi_0 KLcse_if_stateGVdfmc_optimizationW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K55,
  (dylan_value) 1,
  13,
  33554439,
  (dylan_value) 1
};

static _KLimplementation_classGVKe K55 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527958029,
  &KLcse_if_stateGVdfmc_optimization,
  &KLcse_if_stateGVdfmc_optimizationW,
  &KPfalseVKi,
  &K48,
  (dylan_value) -3,
  &KLcse_if_stateGZ32ZconstructorVdfmc_optimizationMM0,
  &K58,
  &K59,
  (dylan_value) 9,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K217,
  &KPempty_vectorVKi,
  &K60,
  &K48,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLcse_if_stateGZ32ZconstructorVdfmc_optimizationMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K71,
  &key_mep_2,
  &KLcse_if_stateGZ32ZconstructorVdfmc_optimizationMM0I,
  &K72
};

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

static _KLsimple_object_vectorGVKd_6 K59 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLcse_stateGVdfmc_optimization,
  &KLcse_if_stateGVdfmc_optimization,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

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

_KLinstance_slot_descriptorGVKe Kcse_ifVdfmc_optimizationHLcse_if_stateG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 193,
  &KPfalseVKi,
  &KLcse_if_stateGVdfmc_optimization,
  &KJif_,
  &Kcse_ifVdfmc_optimization,
  &KPfalseVKi,
  &KLifGVdfmc_flow_graph
};

_KLsealed_generic_functionGVKe Kcse_ifVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K65,
  &K64,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kcse_ifVdfmc_optimizationMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kcse_ifVdfmc_optimizationHLcse_if_stateG
};

static _KLpairGVKd K64 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_ifVdfmc_optimizationMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_6 K65 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "cse-if"
};

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

static _KLunionGVKe K68 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K69,
  &KLcse_stateGVdfmc_optimization
};

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

static _KLkeyword_signatureAvaluesGVKi K71 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K73,
  &KDsignature_LobjectG_typesVKi,
  &K51
};

static _KLsimple_object_vectorGVKd_4 K72 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJdominating_state_,
  &KPfalseVKi,
  &KJif_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_2 K73 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJdominating_state_,
  &KJif_
};

static _KLbyte_stringGVKd_14 K74 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 57,
  "<cse-if-state>"
};

static _KLkeyword_signatureAvaluesGVKi K77 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K73,
  &KDsignature_LobjectG_typesVKi,
  &K78
};

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

_KLinstance_slot_descriptorGVKe Kreusable_computationsVdfmc_optimizationHLcse_stateG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 149,
  &K90,
  &KLcse_stateGVdfmc_optimization,
  &KPfalseVKi,
  &Kreusable_computationsVdfmc_optimization,
  &KPfalseVKi,
  &KLstretchy_object_vectorGVKe
};

_KLinstance_slot_descriptorGVKe Kdominating_stateVdfmc_optimizationHLcse_stateG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLcse_stateGVdfmc_optimization,
  &KJdominating_state_,
  &Kdominating_stateVdfmc_optimization,
  &KPfalseVKi,
  &K68
};

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

_KLgetter_methodGVKi Kdominating_stateVdfmc_optimizationMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kdominating_stateVdfmc_optimizationHLcse_stateG
};

static _KLpairGVKd K83 = {
  &KLpairGVKdW /* wrapper */,
  &Kdominating_stateVdfmc_optimizationMM0,
  &KPempty_listVKi
};

static _KLsimple_closure_methodGVKi_0 K90 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K91,
  &K90I,
  (dylan_value) 1
};

_KLsealed_generic_functionGVKe Kreusable_computationsVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K89,
  &K88,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kreusable_computationsVdfmc_optimizationMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kreusable_computationsVdfmc_optimizationHLcse_stateG
};

static _KLpairGVKd K88 = {
  &KLpairGVKdW /* wrapper */,
  &Kreusable_computationsVdfmc_optimizationMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K89 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 85,
  "reusable-computations"
};

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

static _KLbyte_stringGVKd_26 K92 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 105,
  "<cse-alternative-if-state>"
};

static _KLimplementation_classGVKe K93 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 477102093,
  &KLcse_consequent_if_stateGVdfmc_optimization,
  &KLcse_consequent_if_stateGVdfmc_optimizationW,
  &KPfalseVKi,
  &K48,
  (dylan_value) -3,
  &KLcse_consequent_if_stateGZ32ZconstructorVdfmc_optimizationMM0,
  &K51,
  &K96,
  (dylan_value) 13,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K48,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLcse_consequent_if_stateGZ32ZconstructorVdfmc_optimizationMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K99,
  &key_mep_2,
  &KLcse_consequent_if_stateGZ32ZconstructorVdfmc_optimizationMM0I,
  &K72
};

static _KLsimple_object_vectorGVKd_6 K96 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLcse_stateGVdfmc_optimization,
  &KLcse_if_stateGVdfmc_optimization,
  &KLcse_consequent_if_stateGVdfmc_optimization,
  &KPfalseVKi,
  &KPfalseVKi
};

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

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

static _KLbyte_stringGVKd_25 K101 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 101,
  "<cse-consequent-if-state>"
};

static _KLbyte_stringGVKd_2 K102 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 9,
  "if"
};

static _KLbyte_stringGVKd_11 K103 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "alternative"
};

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

_KLsealed_generic_functionGVKe Kreusable_computationQVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K142,
  &K134,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kcse_if_state_directionVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K114,
  &K112,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLunionGVKe K107 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K69,
  &KLsymbolGVKd
};

_KLsimple_methodGVKe Kcse_if_state_directionVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K117,
  &Kcse_if_state_directionVdfmc_optimizationMM0I
};

_KLsimple_methodGVKe Kcse_if_state_directionVdfmc_optimizationMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K115,
  &Kcse_if_state_directionVdfmc_optimizationMM1I
};

static _KLpairGVKd K112 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_if_state_directionVdfmc_optimizationMM0,
  &K113
};

static _KLpairGVKd K113 = {
  &KLpairGVKdW /* wrapper */,
  &Kcse_if_state_directionVdfmc_optimizationMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_22 K114 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 89,
  "cse-if-state-direction"
};

static _KLsignatureAvaluesGVKi K115 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K78,
  &K116
};

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

static _KLsignatureAvaluesGVKi K117 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K100,
  &K116
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K156,
  &Kreusable_computationQVdfmc_optimizationMM0I
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K155,
  &Kreusable_computationQVdfmc_optimizationMM1I
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K153,
  &Kreusable_computationQVdfmc_optimizationMM2I
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K151,
  &Kreusable_computationQVdfmc_optimizationMM3I
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K149,
  &Kreusable_computationQVdfmc_optimizationMM4I
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K147,
  &Kreusable_computationQVdfmc_optimizationMM5I
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K145,
  &Kreusable_computationQVdfmc_optimizationMM6I
};

_KLsimple_methodGVKe Kreusable_computationQVdfmc_optimizationMM7 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K143,
  &Kreusable_computationQVdfmc_optimizationMM7I
};

static _KLpairGVKd K134 = {
  &KLpairGVKdW /* wrapper */,
  &Kreusable_computationQVdfmc_optimizationMM0,
  &K135
};

static _KLpairGVKd K135 = {
  &KLpairGVKdW /* wrapper */,
  &Kreusable_computationQVdfmc_optimizationMM1,
  &K136
};

static _KLpairGVKd K136 = {
  &KLpairGVKdW /* wrapper */,
  &Kreusable_computationQVdfmc_optimizationMM2,
  &K137
};

static _KLpairGVKd K137 = {
  &KLpairGVKdW /* wrapper */,
  &Kreusable_computationQVdfmc_optimizationMM3,
  &K138
};

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

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

static _KLpairGVKd K140 = {
  &KLpairGVKdW /* wrapper */,
  &Kreusable_computationQVdfmc_optimizationMM6,
  &K141
};

static _KLpairGVKd K141 = {
  &KLpairGVKdW /* wrapper */,
  &Kreusable_computationQVdfmc_optimizationMM7,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_21 K142 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 85,
  "reusable-computation?"
};

static _KLsignatureAvaluesGVKi K143 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K144,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K145 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K146,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K147 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K148,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K149 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K150,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K151 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K152,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K153 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K154,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K155 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &KDsignature_LbooleanG_typesVKi,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsignatureAvaluesGVKi K156 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555461,
  &K157,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureGVKe K158 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943049,
  &K159
};

static _KLsimple_object_vectorGVKd_2 K159 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLifGVdfmc_flow_graph,
  &KLcse_stateGVdfmc_optimization
};

_KLsealed_generic_functionGVKe Kequivalent_computationQVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (dylan_value) 1,
  &K183,
  &K176,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K196,
  &Kequivalent_computationQVdfmc_optimizationMM0I
};

_KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K194,
  &Kequivalent_computationQVdfmc_optimizationMM1I
};

_KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K192,
  &Kequivalent_computationQVdfmc_optimizationMM2I
};

_KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K190,
  &Kequivalent_computationQVdfmc_optimizationMM3I
};

_KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K188,
  &Kequivalent_computationQVdfmc_optimizationMM4I
};

_KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K186,
  &Kequivalent_computationQVdfmc_optimizationMM5I
};

_KLsimple_methodGVKe Kequivalent_computationQVdfmc_optimizationMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K184,
  &Kequivalent_computationQVdfmc_optimizationMM6I
};

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

static _KLpairGVKd K177 = {
  &KLpairGVKdW /* wrapper */,
  &Kequivalent_computationQVdfmc_optimizationMM1,
  &K178
};

static _KLpairGVKd K178 = {
  &KLpairGVKdW /* wrapper */,
  &Kequivalent_computationQVdfmc_optimizationMM2,
  &K179
};

static _KLpairGVKd K179 = {
  &KLpairGVKdW /* wrapper */,
  &Kequivalent_computationQVdfmc_optimizationMM3,
  &K180
};

static _KLpairGVKd K180 = {
  &KLpairGVKdW /* wrapper */,
  &Kequivalent_computationQVdfmc_optimizationMM4,
  &K181
};

static _KLpairGVKd K181 = {
  &KLpairGVKdW /* wrapper */,
  &Kequivalent_computationQVdfmc_optimizationMM5,
  &K182
};

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

static _KLbyte_stringGVKd_23 K183 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 93,
  "equivalent-computation?"
};

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

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

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

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

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

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

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

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

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

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

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

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

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

static _KLsignatureGVKe K197 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943049,
  &K198
};

static _KLsimple_object_vectorGVKd_2 K198 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLcomputationGVdfmc_flow_graph,
  &KLcse_stateGVdfmc_optimization
};

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

static _KLsimple_object_vectorGVKd_3 K200 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLcomputationGVdfmc_flow_graph,
  &K201,
  &KLcse_stateGVdfmc_optimization
};

static _KLunionGVKe K201 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K69,
  &KLcomputationGVdfmc_flow_graph
};

static _KLsignatureGVKe K204 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943045,
  &K205
};

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

static _KLsingletonGVKd K206 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KLcse_stateGVdfmc_optimization
};

static _KLimplementation_classGVKe K207 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527958025,
  &KLcse_stateGVdfmc_optimization,
  &KLcse_stateGVdfmc_optimizationW,
  &KPfalseVKi,
  &K208,
  (dylan_value) -3,
  &KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0,
  &K210,
  &K211,
  (dylan_value) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K216,
  &KPempty_vectorVKi,
  &K208,
  &K208,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_2 K208 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &Kreusable_computationsVdfmc_optimizationHLcse_stateG,
  &Kdominating_stateVdfmc_optimizationHLcse_stateG
};

_KLkeyword_methodGVKe KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K212,
  &key_mep_2,
  &KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I,
  &K213
};

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

static _KLsimple_object_vectorGVKd_6 K211 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 25,
  &KLobjectGVKd,
  &KLcse_stateGVdfmc_optimization,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K212 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K214,
  &KDsignature_LobjectG_typesVKi,
  &K58
};

static _KLsimple_object_vectorGVKd_2 K213 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJdominating_state_,
  &KPfalseVKi
};

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

static _KLbyte_stringGVKd_11 K215 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "<cse-state>"
};

static _KLpairGVKd K216 = {
  &KLpairGVKdW /* wrapper */,
  &KLcse_if_stateGVdfmc_optimization,
  &KPempty_listVKi
};

static _KLpairGVKd K217 = {
  &KLpairGVKdW /* wrapper */,
  &KLcse_alternative_if_stateGVdfmc_optimization,
  &K218
};

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

/* Code */

dylan_value Kshare_common_subexpressionsVdfmc_optimizationMM0I (dylan_value f_) {
  dylan_value code_;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7_0;
  _KLsimple_object_vectorGVKd_1 T8 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:104
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:105
  CONGRUENT_CALL_PROLOG(&KbodyVdfmc_modeling, 1);
  code_ = CONGRUENT_CALL1(f_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:106
  if (code_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:107
    T7_0 = KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I(&KLcse_stateGVdfmc_optimization, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:107
    T6 = T7_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:107
    T3 = CALL3(&Kcse_walk_computationsVdfmc_optimizationMM0, code_, &KPfalseVKi, T6);
    T5 = T3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:109
    T8.vector_element_[0] = f_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:109
    T4 = Kformat_outYformat_outVioMM0I(&K12, &T8);
    T5 = T4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:106
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:104
  MV_SET_COUNT(0);
  return(T5);
}

dylan_value KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_dominating_state_) {
  dylan_value T4;
  dylan_value T5;
  dylan_value Uunique_dominating_stateF6;
  dylan_value T7_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:47
  T4 = primitive_object_allocate_filled(3,&KLcse_stateGVdfmc_optimizationW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  T5 = K203I();
  SLOT_VALUE_SETTER(T5, T4, 0);
  primitive_type_check(Uunique_dominating_state_, &K68);
  Uunique_dominating_stateF6 = Uunique_dominating_state_;
  SLOT_VALUE_SETTER(Uunique_dominating_stateF6, T4, 1);
  T7_0 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:47
  MV_SET_COUNT(1);
  return(T7_0);
}

dylan_value Kcse_walk_computationsVdfmc_optimizationMM0I (dylan_value c_, dylan_value last_, dylan_value state_) {
  dylan_value cc_;
  dylan_value T5;
  dylan_value cF6T, cF6;
  dylan_value T7;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:113
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:122
  cF6T = c_;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:122
    cF6 = cF6T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:118
    T5 = primitive_idQ(cF6,last_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:118
    if (T5 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:119
      ENGINE_NODE_CALL_PROLOG(&Kcse_walk_computationVdfmc_optimization, &K13, 2);
      ENGINE_NODE_CALL2(&K13, cF6, state_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:120
      cc_ = CALL1(&Knext_computationVdfmc_flow_graph, cF6);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:121
      if (cc_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:122
        cF6T = cc_;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:121
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:118
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:122
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:117
  T7 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:113
  MV_SET_COUNT(0);
  return(T7);
}

dylan_value Kcse_walk_computationVdfmc_optimizationMM0I (dylan_value c_, dylan_value state_) {
  dylan_value T3;
  dylan_value canonical_c_;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:128
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:130
  CONGRUENT_CALL_PROLOG(&Kreusable_computationQVdfmc_optimization, 1);
  T3 = CONGRUENT_CALL1(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:130
  if (T3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:131
    canonical_c_ = Kintern_reusable_computationVdfmc_optimizationI(c_, state_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:132
    T11 = primitive_idQ(c_,canonical_c_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:132
    if (T11 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:132
      T7 = &KPfalseVKi;
      T8 = T7;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:134
      CONGRUENT_CALL_PROLOG(&KtemporaryVdfmc_flow_graph, 1);
      T5 = CONGRUENT_CALL1(canonical_c_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:134
      T6 = CALL2(&Kreplace_computation_with_temporaryXVdfmc_flow_graphMM0, c_, T5);
      T8 = T6;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:132
    T10 = T8;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:130
    T9 = &KPfalseVKi;
    T10 = T9;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:130
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:128
  MV_SET_COUNT(0);
  return(T10);
}

dylan_value Kcse_walk_computationVdfmc_optimizationMM1I (dylan_value c_, dylan_value state_) {
  dylan_value directionQ_;
  dylan_value consequent_state_;
  dylan_value T5;
  dylan_value alternative_state_;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  _KLsimple_object_vectorGVKd_4 T12 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T13;
  _KLsimple_object_vectorGVKd_4 T14 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T15;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:154
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:157
  T9 = SLOT_VALUE_INITD(c_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:157
  directionQ_ = Kcse_lookup_reusable_if_testVdfmc_optimizationMM0I(state_, T9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:158
  T10 = primitive_idQ(directionQ_,IKJconsequent_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:158
  if (T10 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:159
    Kconstant_fold_ifVdfmc_optimizationMM0I(c_, &KPtrueVKi);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:158
    T11 = primitive_idQ(directionQ_,IKJalternative_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:158
    if (T11 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:160
      Kconstant_fold_ifVdfmc_optimizationMM0I(c_, &KPfalseVKi);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:158
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:158
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:164
  T12.vector_element_[0] = IKJdominating_state_;
  T12.vector_element_[1] = state_;
  T12.vector_element_[2] = IKJif_;
  T12.vector_element_[3] = c_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:164
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  consequent_state_ = CONGRUENT_CALL2(&KLcse_consequent_if_stateGVdfmc_optimization, &T12);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:166
  T5 = KconsequentVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:166
  T13 = Knext_computationVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:165
  CALL3(&Kcse_walk_computationsVdfmc_optimizationMM0, T5, T13, consequent_state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:168
  T14.vector_element_[0] = IKJdominating_state_;
  T14.vector_element_[1] = state_;
  T14.vector_element_[2] = IKJif_;
  T14.vector_element_[3] = c_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:168
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  alternative_state_ = CONGRUENT_CALL2(&KLcse_alternative_if_stateGVdfmc_optimization, &T14);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:170
  T7 = KalternativeVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:170
  T15 = Knext_computationVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:169
  T8 = CALL3(&Kcse_walk_computationsVdfmc_optimizationMM0, T7, T15, alternative_state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:154
  MV_SET_COUNT(0);
  return(T8);
}

dylan_value Kcse_walk_computationVdfmc_optimizationMM2I (dylan_value c_, dylan_value state_) {
  dylan_value T3;
  dylan_value body_state_;
  dylan_value T5_0;
  _KLsimple_object_vectorGVKd_2 T6 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T7;
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:173
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:175
  T6.vector_element_[0] = IKJdominating_state_;
  T6.vector_element_[1] = state_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:175
  T5_0 = KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I(&KLcse_stateGVdfmc_optimization, &T6, state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:175
  body_state_ = T5_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:177
  T7 = SLOT_VALUE_INITD(c_, 10);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:177
  T8 = Knext_computationVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:176
  T3 = CALL3(&Kcse_walk_computationsVdfmc_optimizationMM0, T7, T8, body_state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:173
  MV_SET_COUNT(0);
  return(T3);
}

dylan_value Kcse_walk_computationVdfmc_optimizationMM3I (dylan_value c_, dylan_value state_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value exit_state_;
  dylan_value T6_0;
  _KLsimple_object_vectorGVKd_2 T7 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:180
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:182
  T7.vector_element_[0] = IKJdominating_state_;
  T7.vector_element_[1] = state_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:182
  T6_0 = KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I(&KLcse_stateGVdfmc_optimization, &T7, state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:182
  exit_state_ = T6_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:183
  CONGRUENT_CALL_PROLOG(&KbodyVdfmc_modeling, 1);
  T3 = CONGRUENT_CALL1(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:183
  T8 = Knext_computationVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:183
  T4 = CALL3(&Kcse_walk_computationsVdfmc_optimizationMM0, T3, T8, exit_state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:180
  MV_SET_COUNT(0);
  return(T4);
}

dylan_value Kcse_walk_computationVdfmc_optimizationMM4I (dylan_value c_, dylan_value state_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value body_state_;
  dylan_value T7_0;
  _KLsimple_object_vectorGVKd_2 T8 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T9;
  dylan_value cleanups_state_;
  dylan_value T11_0;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  dylan_value T13;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:186
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:188
  T8.vector_element_[0] = IKJdominating_state_;
  T8.vector_element_[1] = state_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:188
  T7_0 = KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I(&KLcse_stateGVdfmc_optimization, &T8, state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:188
  body_state_ = T7_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:189
  CONGRUENT_CALL_PROLOG(&KbodyVdfmc_modeling, 1);
  T3 = CONGRUENT_CALL1(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:189
  T9 = Knext_computationVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:189
  CALL3(&Kcse_walk_computationsVdfmc_optimizationMM0, T3, T9, body_state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:190
  T12.vector_element_[0] = IKJdominating_state_;
  T12.vector_element_[1] = state_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:190
  T11_0 = KLcse_stateGZ32ZconstructorVdfmc_optimizationMM0I(&KLcse_stateGVdfmc_optimization, &T12, state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:190
  cleanups_state_ = T11_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:191
  T4 = KcleanupsVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:191
  T13 = Knext_computationVdfmc_flow_graphMM0I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:191
  T5 = CALL3(&Kcse_walk_computationsVdfmc_optimizationMM0, T4, T13, cleanups_state_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:186
  MV_SET_COUNT(0);
  return(T5);
}

dylan_value Kcse_lookup_reusable_if_testVdfmc_optimizationMM0I (dylan_value state_, dylan_value tst_) {
  dylan_value T3;
  dylan_value returnPexit_4_;
  dylan_value T5;
  dylan_value search_state_T, search_state_;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11_0;
  dylan_value T12_0;
  dylan_value T13_0;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  _KLsimple_object_vectorGVKd_1 T19 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T20;
  dylan_value T21_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:139
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:142
  CONGRUENT_CALL_PROLOG(&Kreusable_computationQVdfmc_optimization, 1);
  T3 = CONGRUENT_CALL1(tst_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:142
  if (T3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:143
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
    search_state_T = state_;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
      search_state_ = search_state_T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
      if (search_state_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
        T15 = primitive_instanceQ(state_,&KLcse_if_stateGVdfmc_optimization);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
        if (T15 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:157
          T14 = state_;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
          T16 = SLOT_VALUE_INITD(T14, 2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
          T17 = SLOT_VALUE_INITD(T16, 8);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
          T18 = primitive_idQ(tst_,T17);
          T7 = T18;
        } else {
          T7 = &KPfalseVKi;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
        if (T7 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:147
          CONGRUENT_CALL_PROLOG(&Kcse_if_state_directionVdfmc_optimization, 1);
          T8 = CONGRUENT_CALL1(state_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:147
          T19.vector_element_[0] = T8;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:143
          T20 = MV_SET_REST_AT(&T19, 0);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:143
          T11_0 = T20;
          goto L1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:146
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
        T9 = CALL1(&Kdominating_stateVdfmc_optimization, search_state_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
        search_state_T = T9;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
      T10 = &KPfalseVKi;
      MV_SET_ELT(0, &KPfalseVKi);
      MV_SET_COUNT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:144
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:143
    T11_0 = T10;
    L1: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:143
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:143
    T21_0 = T11_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T11_0);
      primitive_type_check(T21_0, &K107);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T13_0 = T21_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:142
    T12_0 = &KPfalseVKi;
    T13_0 = T12_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:142
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:139
  MV_SET_COUNT(1);
  return(T13_0);
}

dylan_value KLcse_alternative_if_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_dominating_state_, dylan_value Uunique_cse_if_) {
  dylan_value T5;
  dylan_value Uunique_cse_ifF6;
  dylan_value T7;
  dylan_value T8;
  dylan_value Uunique_dominating_stateF9;
  dylan_value Uunique_cse_ifF10;
  dylan_value T11_0;
  dylan_value T12;
  _KLsimple_object_vectorGVKd_1 T13 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T14;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:72
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:72
  T12 = primitive_idQ(Uunique_cse_if_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:72
  if (T12 != &KPfalseVKi) {
    T13.vector_element_[0] = IKJif_;
    T14 = KerrorVKdMM1I(&K66, &T13);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:72
    T5 = T14;
    Uunique_cse_ifF6 = T5;
  } else {
    Uunique_cse_ifF6 = Uunique_cse_if_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:72
  T7 = primitive_object_allocate_filled(4,&KLcse_alternative_if_stateGVdfmc_optimizationW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  T8 = K76I();
  SLOT_VALUE_SETTER(T8, T7, 0);
  primitive_type_check(Uunique_dominating_state_, &K68);
  Uunique_dominating_stateF9 = Uunique_dominating_state_;
  SLOT_VALUE_SETTER(Uunique_dominating_stateF9, T7, 1);
  primitive_type_check(Uunique_cse_ifF6, &KLifGVdfmc_flow_graph);
  Uunique_cse_ifF10 = Uunique_cse_ifF6;
  SLOT_VALUE_SETTER(Uunique_cse_ifF10, T7, 2);
  T11_0 = T7;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:72
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value KLcse_if_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_dominating_state_, dylan_value Uunique_cse_if_) {
  dylan_value T5;
  dylan_value Uunique_cse_ifF6;
  dylan_value T7;
  dylan_value T8;
  dylan_value Uunique_dominating_stateF9;
  dylan_value Uunique_cse_ifF10;
  dylan_value T11_0;
  dylan_value T12;
  _KLsimple_object_vectorGVKd_1 T13 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T14;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:57
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:57
  T12 = primitive_idQ(Uunique_cse_if_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:57
  if (T12 != &KPfalseVKi) {
    T13.vector_element_[0] = IKJif_;
    T14 = KerrorVKdMM1I(&K66, &T13);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:57
    T5 = T14;
    Uunique_cse_ifF6 = T5;
  } else {
    Uunique_cse_ifF6 = Uunique_cse_if_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:57
  T7 = primitive_object_allocate_filled(4,&KLcse_if_stateGVdfmc_optimizationW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  T8 = K70I();
  SLOT_VALUE_SETTER(T8, T7, 0);
  primitive_type_check(Uunique_dominating_state_, &K68);
  Uunique_dominating_stateF9 = Uunique_dominating_state_;
  SLOT_VALUE_SETTER(Uunique_dominating_stateF9, T7, 1);
  primitive_type_check(Uunique_cse_ifF6, &KLifGVdfmc_flow_graph);
  Uunique_cse_ifF10 = Uunique_cse_ifF6;
  SLOT_VALUE_SETTER(Uunique_cse_ifF10, T7, 2);
  T11_0 = T7;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:57
  MV_SET_COUNT(1);
  return(T11_0);
}

static dylan_value K70I () {
  dylan_value T0_0;
  dylan_value T1_0;
  dylan_value T2;

  T1_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  T2 = T1_0;
  T0_0 = T2;
  MV_SET_COUNT(1);
  return(T0_0);
}

static dylan_value K76I () {
  dylan_value T0_0;
  dylan_value T1_0;
  dylan_value T2;

  T1_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  T2 = T1_0;
  T0_0 = T2;
  MV_SET_COUNT(1);
  return(T0_0);
}

static dylan_value K90I () {
  dylan_value T0_0;
  dylan_value T1_0;
  dylan_value T2;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:49
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:49
  T1_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:49
  T2 = T1_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:49
  T0_0 = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:49
  MV_SET_COUNT(1);
  return(T0_0);
}

dylan_value KLcse_consequent_if_stateGZ32ZconstructorVdfmc_optimizationMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_dominating_state_, dylan_value Uunique_cse_if_) {
  dylan_value T5;
  dylan_value Uunique_cse_ifF6;
  dylan_value T7;
  dylan_value T8;
  dylan_value Uunique_dominating_stateF9;
  dylan_value Uunique_cse_ifF10;
  dylan_value T11_0;
  dylan_value T12;
  _KLsimple_object_vectorGVKd_1 T13 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T14;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:62
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:62
  T12 = primitive_idQ(Uunique_cse_if_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:62
  if (T12 != &KPfalseVKi) {
    T13.vector_element_[0] = IKJif_;
    T14 = KerrorVKdMM1I(&K66, &T13);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:62
    T5 = T14;
    Uunique_cse_ifF6 = T5;
  } else {
    Uunique_cse_ifF6 = Uunique_cse_if_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:62
  T7 = primitive_object_allocate_filled(4,&KLcse_consequent_if_stateGVdfmc_optimizationW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  T8 = K98I();
  SLOT_VALUE_SETTER(T8, T7, 0);
  primitive_type_check(Uunique_dominating_state_, &K68);
  Uunique_dominating_stateF9 = Uunique_dominating_state_;
  SLOT_VALUE_SETTER(Uunique_dominating_stateF9, T7, 1);
  primitive_type_check(Uunique_cse_ifF6, &KLifGVdfmc_flow_graph);
  Uunique_cse_ifF10 = Uunique_cse_ifF6;
  SLOT_VALUE_SETTER(Uunique_cse_ifF10, T7, 2);
  T11_0 = T7;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:62
  MV_SET_COUNT(1);
  return(T11_0);
}

static dylan_value K98I () {
  dylan_value T0_0;
  dylan_value T1_0;
  dylan_value T2;

  T1_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  T2 = T1_0;
  T0_0 = T2;
  MV_SET_COUNT(1);
  return(T0_0);
}

dylan_value Kcse_if_state_directionVdfmc_optimizationMM0I (dylan_value state_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:67
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:69
  T2_0 = IKJconsequent_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:67
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kcse_if_state_directionVdfmc_optimizationMM1I (dylan_value state_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:77
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:79
  T2_0 = IKJalternative_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:77
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM0I (dylan_value c_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:200
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:202
  T2_0 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:200
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM1I (dylan_value c_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:205
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:207
  T2_0 = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:205
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM2I (dylan_value c_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:222
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:224
  T2_0 = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:222
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM3I (dylan_value c_) {
  dylan_value T2_0;
  dylan_value T3_0;
  dylan_value T4;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:227
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:229
  T4 = KgeneratorVdfmc_flow_graphMM1I(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:229
  CONGRUENT_CALL_PROLOG(&Kreusable_computationQVdfmc_optimization, 1);
  T2_0 = CONGRUENT_CALL1(T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:227
  T3_0 = T2_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T2_0);
    primitive_type_check(T3_0, &KLbooleanGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:227
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM4I (dylan_value c_) {
  dylan_value T2;
  dylan_value T3_0;
  dylan_value T4_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:234
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:236
  CONGRUENT_CALL_PROLOG(&Kreferenced_bindingVdfmc_flow_graph, 1);
  T2 = CONGRUENT_CALL1(c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:236
  CONGRUENT_CALL_PROLOG(&KconstantQVdfmc_namespace, 1);
  T3_0 = CONGRUENT_CALL1(T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:234
  T4_0 = T3_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T3_0);
    primitive_type_check(T4_0, &KLbooleanGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:234
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM5I (dylan_value c_) {
  dylan_value T2_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:247
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:249
  T2_0 = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:247
  MV_SET_COUNT(1);
  return(T2_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM6I (dylan_value c_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8_0;
  DWORD T9T, T9;
  dylan_value result_T, result_;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  DWORD T14;
  dylan_value T15;
  dylan_value T16;
  DWORD T17;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:266
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:270
  T6 = SLOT_VALUE_INITD(c_, 9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:270
  if (T6 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:271
    T2 = CALL1(&Kprimitive_statelessQVdfmc_modelingMM0, T6);
    T3 = T2;
  } else {
    T3 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:270
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:270
  if (T3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
    T7 = SLOT_VALUE_INITD(c_, 8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
    T13 = SLOT_VALUE_INITD(T7, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
    T14 = primitive_cast_integer_as_raw(T13);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
    T9T = 1;
    result_T = &KPtrueVKi;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
      T9 = T9T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
      result_ = result_T;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
      T15 = primitive_machine_word_equalQ(T9,T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
      if (T15 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
        T16 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(T7, 1, T9);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
        if (result_ != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
          T17 = primitive_machine_word_add_signal_overflow(T9,4);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
          CONGRUENT_CALL_PROLOG(&Kreusable_computationQVdfmc_optimization, 1);
          T11 = CONGRUENT_CALL1(T16);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
          T9T = T17;
          result_T = T11;
          goto L0;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
      T12 = primitive_as_boolean(result_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:272
    T8_0 = T12;
    T5_0 = T8_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:270
    T4_0 = &KPfalseVKi;
    T5_0 = T4_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:270
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:266
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kreusable_computationQVdfmc_optimizationMM7I (dylan_value c_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:284
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:286
  T2 = SLOT_VALUE_INITD(c_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:286
  T3 = SLOT_VALUE_INITD(T2, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:286
  T4 = primitive_not(T3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:286
  T5_0 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:284
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kintern_reusable_computationVdfmc_optimizationI (dylan_value c_, dylan_value state_) {
  dylan_value returnPexit_3_;
  dylan_value T3;
  dylan_value search_state_T, search_state_;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12T, T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19_0;
  dylan_value T20_0;
  _KLsimple_object_vectorGVKd_1 T21 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T22;
  dylan_value T23;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:85
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:88
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:89
  search_state_T = state_;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:89
    search_state_ = search_state_T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:89
    if (search_state_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T5 = CALL1(&Kreusable_computationsVdfmc_optimization, search_state_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T6 = CALL1(&Kforward_iteration_protocolVKd, T5);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T7 = T6;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T8 = MV_GET_ELT(1);
;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T9 = MV_GET_ELT(2);
;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T10 = MV_GET_ELT(3);
;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T11 = MV_GET_ELT(5);
;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      T12T = T7;
    L1: ;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
        T12 = T12T;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
        T13 = CALL3(T10, T5, T12, T8);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
        if (T13 == &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
          T14 = CALL2(T11, T5, T12);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:92
          CONGRUENT_CALL_PROLOG(&Kequivalent_computationQVdfmc_optimization, 2);
          T15 = CONGRUENT_CALL2(c_, T14);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:92
          if (T15 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:93
            T21.vector_element_[0] = T14;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:88
            T22 = MV_SET_REST_AT(&T21, 0);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:88
            T19_0 = T22;
            goto L2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:92
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
          T16 = CALL2(T9, T5, T12);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
          T12T = T16;
          goto L1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:91
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:89
      T17 = CALL1(&Kdominating_stateVdfmc_optimization, search_state_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:89
      search_state_T = T17;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:89
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:89
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:97
  T23 = SLOT_VALUE_INITD(state_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:97
  KaddXVKdMM3I(T23, c_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:98
  T18 = c_;
  MV_SET_ELT(0, c_);
  MV_SET_COUNT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:88
  T19_0 = T18;
  L2: ;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:88
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:85
  T20_0 = T19_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T19_0);
    primitive_type_check(T20_0, &KLcomputationGVdfmc_flow_graph);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:85
  MV_SET_COUNT(1);
  return(T20_0);
}

dylan_value Kequivalent_computationQVdfmc_optimizationMM0I (dylan_value c1_, dylan_value c2_) {
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:210
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:213
  T3_0 = KEEVKdI(c1_, c2_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:210
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Kequivalent_computationQVdfmc_optimizationMM1I (dylan_value c1_, dylan_value c2_) {
  dylan_value T3;
  dylan_value T4_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:216
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:219
  T3 = primitive_idQ(c1_,c2_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:219
  T4_0 = T3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:216
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kequivalent_computationQVdfmc_optimizationMM2I (dylan_value ref1_, dylan_value ref2_) {
  dylan_value T3;
  dylan_value T4;
  dylan_value T5_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:239
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:242
  CONGRUENT_CALL_PROLOG(&Kreferenced_bindingVdfmc_flow_graph, 1);
  T3 = CONGRUENT_CALL1(ref1_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:242
  CONGRUENT_CALL_PROLOG(&Kreferenced_bindingVdfmc_flow_graph, 1);
  T4 = CONGRUENT_CALL1(ref2_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:242
  T5_0 = KEEVKdI(T3, T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:239
  MV_SET_COUNT(1);
  return(T5_0);
}

dylan_value Kequivalent_computationQVdfmc_optimizationMM3I (dylan_value ref1_, dylan_value ref2_) {
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5;
  dylan_value T6;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:252
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:255
  T5 = SLOT_VALUE_INITD(ref1_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:255
  T6 = SLOT_VALUE_INITD(ref2_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:255
  CONGRUENT_CALL_PROLOG(&Kequivalent_computationQVdfmc_optimization, 2);
  T3_0 = CONGRUENT_CALL2(T5, T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:252
  T4_0 = T3_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T3_0);
    primitive_type_check(T4_0, &KLbooleanGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:252
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kequivalent_computationQVdfmc_optimizationMM4I (dylan_value c1_, dylan_value c2_) {
  dylan_value T3_0;
  dylan_value T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:258
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:261
  T4 = SLOT_VALUE_INITD(c1_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:261
  T5 = SLOT_VALUE_INITD(c2_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:261
  T3_0 = KEEVKdI(T4, T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:258
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Kequivalent_computationQVdfmc_optimizationMM5I (dylan_value c1_, dylan_value c2_) {
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T11_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:275
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:278
  T5 = SLOT_VALUE_INITD(c1_, 9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:278
  T6 = SLOT_VALUE_INITD(c2_, 9);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:278
  T7 = primitive_idQ(T5,T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:278
  if (T7 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:279
    T8 = SLOT_VALUE_INITD(c1_, 8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:279
    T9 = SLOT_VALUE_INITD(c2_, 8);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:279
    T10.vector_element_[0] = T9;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:279
    T11_0 = KeveryQVKdMM0I(&Kequivalent_computationQVdfmc_optimization, T8, &T10);
    T4_0 = T11_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:278
    T3_0 = &KPfalseVKi;
    T4_0 = T3_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:278
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:275
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kequivalent_computationQVdfmc_optimizationMM6I (dylan_value c1_, dylan_value c2_) {
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:289
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:292
  T6 = SLOT_VALUE_INITD(c1_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:292
  T7 = SLOT_VALUE_INITD(c2_, 8);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:292
  T8 = primitive_idQ(T6,T7);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:292
  if (T8 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:294
    T9 = SLOT_VALUE_INITD(c1_, 9);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:294
    T10 = SLOT_VALUE_INITD(c2_, 9);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:293
    CONGRUENT_CALL_PROLOG(&Kequivalent_computationQVdfmc_optimization, 2);
    T3_0 = CONGRUENT_CALL2(T9, T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:293
    T11_0 = T3_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T3_0);
      primitive_type_check(T11_0, &KLbooleanGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T11_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:292
    T4_0 = &KPfalseVKi;
    T5_0 = T4_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:292
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:289
  MV_SET_COUNT(1);
  return(T5_0);
}

static dylan_value K203I () {
  dylan_value T0_0;
  dylan_value T1_0;
  dylan_value T2;

  T1_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  T2 = T1_0;
  T0_0 = T2;
  MV_SET_COUNT(1);
  return(T0_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJdominating_state_);
    if (T0 != &KJdominating_state_) {
      primitive_repeated_slot_value_setter(T0, &K214, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K213, 1, 0);
      primitive_slot_value_setter(T0, &Kdominating_stateVdfmc_optimizationHLcse_stateG, 3);
      primitive_repeated_slot_value_setter(T0, &K73, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K72, 1, 0);
      IKJdominating_state_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJconsequent_);
    if (T0 != &KJconsequent_) {
      IKJconsequent_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJalternative_);
    if (T0 != &KJalternative_) {
      IKJalternative_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJif_);
    if (T0 != &KJif_) {
      IKJif_ = T0;
      primitive_repeated_slot_value_setter(T0, &K73, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K72, 1, 2);
      primitive_slot_value_setter(T0, &Kcse_ifVdfmc_optimizationHLcse_if_stateG, 3);
    }
  }
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:47
  T0 = KPadd_classVKeI(&KLcse_stateGVdfmc_optimization);
  goto I0;
}
I0:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_optimization__X_cse_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:54
  T0 = KPadd_nonsiblinged_domainVKnI(&KmakeVKd, &KmakeVKdRD_dfmc_optimizationRD_0);
  goto I4;
}
I4:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/optimization/cse.dylan:55
  T0 = KPadd_nonsiblinged_domainVKnI(&KinitializeVKd, &KinitializeVKdRD_dfmc_optimizationRD_0);
  goto I6;
}
I6:

  return;
}


/* eof */
