#include "run-time.h"

/* Typedefs for referenced classes */

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

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

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

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

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

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

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(15);

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

typedef struct {
  D wrapper;
  D library_major_version_;
  D library_minor_version_;
  D library_build_count_;
  D used_library_;
  D used_library_binding_;
} _KLused_libraryGVKe;

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

typedef struct {
  D wrapper;
} _KLserious_conditionGVKd;

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

typedef struct {
  D wrapper;
  D users_;
} _KLreferenced_objectGVdfmc_common;

typedef struct {
  D wrapper;
  D name_;
} _KLnamed_objectGVdfmc_common;

typedef struct {
  D wrapper;
} _KLerrorGVKd;

typedef struct {
  D wrapper;
} _KLbindingGVdfmc_namespace;

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
} _KLsimple_conditionGVKe;

typedef struct {
  D wrapper;
  D users_;
} _KLvalue_referenceGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D emitted_name_;
  D name_;
} _KLnamed_temporary_mixinGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D users_;
  D generator_;
  D environment_;
  D temporary_properties_;
  D emitted_name_;
  D name_;
  D assignments_;
  D cell_type_;
} _KLcellGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D generator_;
  D environment_;
  D temporary_properties_;
  D emitted_name_;
  D name_;
  D me_block_;
  D exits_;
} _KLentry_stateGVdfmc_flow_graph;

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

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

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

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

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

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

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

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

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

typedef struct {
  D wrapper;
  D outer_;
} _KLlexical_environmentGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D outer_;
  D lambda_;
  D temporaries_;
  D rare_environment_data_;
} _KLlambda_lexical_environmentGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D outer_;
  D lambda_;
  D temporaries_;
  D rare_environment_data_;
} _KLtop_level_environmentGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D outer_;
  D binding_id_;
  D binding_type_;
  D binding_value_;
} _KLlocal_lexical_environmentGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
} _KLqueueable_item_mixinGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D temporary_getter_;
  D temporary_zetter_;
} _KLtemporary_accessorsGVdfmc_flow_graph;

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

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

typedef struct {
  D wrapper;
} _KLbinding_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D referenced_binding_;
} _KLmodule_binding_referenceGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D referenced_binding_;
  D users_;
} _KLdefined_constant_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D referenced_binding_;
} _KLinteractor_binding_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D reference_value_;
} _KLobject_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D reference_value_;
} _KLimmutable_object_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D reference_value_;
} _KLmethod_referenceGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_closure_method_;
  D computation_closure_;
} _KLinitialize_closureGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Passigned_binding_;
} _KLassignmentGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Passigned_binding_;
} _KLany_definitionGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Passigned_binding_;
} _KLdefinitionGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Passigned_binding_;
} _KLredefinitionGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Passigned_binding_;
} _KLsetXGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Passigned_binding_;
  D computation_test_value_;
} _KLconditional_updateXGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D users_;
  D Ptyped_binding_;
} _KLtype_referenceGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Ptyped_binding_;
} _KLany_type_definitionGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Ptyped_binding_;
} _KLtype_definitionGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D Ptyped_binding_;
} _KLtype_redefinitionGVdfmc_flow_graph;

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

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

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D keyword_default_value_keyword_variable_;
  D keyword_default_value_specifiers_;
} _KLkeyword_defaultGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D merge_left_value_;
  D merge_right_value_;
  D merge_left_previous_computation_;
  D merge_right_previous_computation_;
} _KLbinary_mergeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D merge_left_value_;
  D merge_right_value_;
  D merge_left_previous_computation_;
  D merge_right_previous_computation_;
} _KLif_mergeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D merge_left_value_;
  D merge_right_value_;
  D merge_left_previous_computation_;
  D merge_right_previous_computation_;
} _KLloop_mergeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D merge_left_value_;
  D merge_right_value_;
  D merge_left_previous_computation_;
  D merge_right_previous_computation_;
} _KLbind_exit_mergeGVdfmc_flow_graph;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D test_;
  D consequent_;
  D alternative_;
} _KLifGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D entry_state_;
  D body_;
} _KLblockGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D entry_state_;
  D body_;
  D Plabel_;
} _KLbind_exitGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D entry_state_;
  D body_;
  D protected_end_;
  D cleanups_;
  D cleanups_end_;
} _KLunwind_protectGVdfmc_flow_graph;

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

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D entry_state_;
} _KLexitGVdfmc_flow_graph;

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

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D entry_state_;
  D return_temp_;
} _KLend_protected_blockGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D Plabel_;
  D loop_merges_;
  D loop_body_;
} _KLloopGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D loop_call_loop_;
  D loop_call_merges_;
} _KLloop_callGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D fixed_values_;
  D rest_value_;
} _KLvaluesGVdfmc_flow_graph;

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

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

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

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

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

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

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

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

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D type_;
} _KLsingle_value_check_type_computationGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D type_;
} _KLcheck_typeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D type_;
} _KLkeyword_check_typeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D type_;
} _KLconstrain_typeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D type_;
  D lhs_variable_name_;
} _KLassignment_check_typeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D types_;
} _KLmultiple_value_check_type_computationGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D types_;
} _KLmultiple_value_check_typeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D types_;
  D rest_type_;
} _KLmultiple_value_check_type_restGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D type_;
} _KLsingle_value_result_check_typeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D types_;
} _KLmultiple_value_result_check_typeGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D types_;
  D rest_type_;
} _KLmultiple_value_result_check_type_restGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_value_;
  D guaranteed_type_;
  D static_guaranteed_type_;
} _KLguarantee_typeGVdfmc_flow_graph;

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

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D computation_cell_;
  D computation_value_;
} _KLset_cell_valueXGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D arguments_;
  D primitive_;
  D c_variable_;
} _KLc_variable_pointer_callGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D item_properties_;
  D computation_source_location_;
  D previous_computation_;
  D next_computation_;
  D temporary_;
  D environment_;
  D computation_type_;
  D wss_size_temp_;
  D wss_var_;
  D end_wss_;
} _KLbegin_with_stack_structureGVdfmc_flow_graph;

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

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
} _KLinvariant_violationGVdfmc_flow_graph;

typedef struct {
  D wrapper;
  D walker_walked_;
  D walker_classes_;
} _KLdfm_copierGVdfmc_flow_graph;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
D Kinitialize_class_dispatch_keys_vectoredVKgI (D);
D KdoVKdMM0I (D, D, D);
extern _KLsimple_methodGVKe Kaugment_rcpl_position_data_multipleVKi;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLsimple_methodGVKe Kaugment_class_known_jointVKiMM0;
D KPlibrary_version_checkVKeI (D, D);
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 KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLused_libraryGVKe;
extern _KLmm_wrapperGVKi_0 KLused_libraryGVKeW;
extern _KLlibraryGVKe Kdylan_libraryYdylan_userVdylan;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLlibraryGVKe Kcommon_dylan_libraryYdylan_userVcommon_dylan;
extern _KLlibraryGVKe Kdfmc_common_libraryYdylan_userVdfmc_common;
extern _KLlibraryGVKe Kdfmc_definitions_libraryYdylan_userVdfmc_definitions;
extern _KLlibraryGVKe Kdfmc_modeling_libraryYdylan_userVdfmc_modeling;
extern _KLlibraryGVKe Kdfmc_namespace_libraryYdylan_userVdfmc_namespace;
extern _KLlibraryGVKe Kdfmc_reader_libraryYdylan_userVdfmc_reader;
extern _KLclassGVKd KLserious_conditionGVKd;
extern _KLmm_wrapperGVKi_0 KLserious_conditionGVKdW;
extern _KLclassGVKd KLemitted_objectGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLemitted_objectGVdfmc_commonW;
extern _KLclassGVKd KLreferenced_objectGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLreferenced_objectGVdfmc_commonW;
extern _KLclassGVKd KLnamed_objectGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLnamed_objectGVdfmc_commonW;
extern _KLclassGVKd KLerrorGVKd;
extern _KLmm_wrapperGVKi_0 KLerrorGVKdW;
extern _KLclassGVKd KLbindingGVdfmc_namespace;
extern _KLmm_wrapperGVKi_0 KLbindingGVdfmc_namespaceW;
extern _KLclassGVKd KLsimple_conditionGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_conditionGVKeW;
extern _KLclassGVKd KLvalue_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLtemporaryGVdfmc_flow_graph;
extern _KLclassGVKd KLnamed_temporary_mixinGVdfmc_flow_graph;
extern _KLclassGVKd KLnamed_temporaryGVdfmc_flow_graph;
extern _KLclassGVKd KLcellGVdfmc_flow_graph;
extern _KLclassGVKd KLentry_stateGVdfmc_flow_graph;
extern _KLclassGVKd KLstack_vector_temporaryGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_temporaryGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_variableGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_specialized_variableGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_local_variableGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_required_variableGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_optional_variableGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_rest_variableGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_keyword_variableGVdfmc_flow_graph;
extern _KLclassGVKd KLlexical_environmentGVdfmc_flow_graph;
extern _KLclassGVKd KLlambda_lexical_environmentGVdfmc_flow_graph;
extern _KLclassGVKd KLtop_level_environmentGVdfmc_flow_graph;
extern _KLclassGVKd KLlocal_lexical_environmentGVdfmc_flow_graph;
extern _KLclassGVKd KLqueueable_item_mixinGVdfmc_flow_graph;
extern _KLclassGVKd KLcomputationGVdfmc_flow_graph;
extern _KLclassGVKd KLtemporary_accessorsGVdfmc_flow_graph;
extern _KLclassGVKd KLnop_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLnopGVdfmc_flow_graph;
extern _KLclassGVKd KLbinding_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLmodule_binding_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLvariable_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLdefined_constant_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLinteractor_binding_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLobject_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLimmutable_object_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLmethod_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLmake_closureGVdfmc_flow_graph;
extern _KLclassGVKd KLinitialize_closureGVdfmc_flow_graph;
extern _KLclassGVKd KLassignmentGVdfmc_flow_graph;
extern _KLclassGVKd KLany_definitionGVdfmc_flow_graph;
extern _KLclassGVKd KLdefinitionGVdfmc_flow_graph;
extern _KLclassGVKd KLredefinitionGVdfmc_flow_graph;
extern _KLclassGVKd KLsetXGVdfmc_flow_graph;
extern _KLclassGVKd KLconditional_updateXGVdfmc_flow_graph;
extern _KLclassGVKd KLtype_referenceGVdfmc_flow_graph;
extern _KLclassGVKd KLany_type_definitionGVdfmc_flow_graph;
extern _KLclassGVKd KLtype_definitionGVdfmc_flow_graph;
extern _KLclassGVKd KLtype_redefinitionGVdfmc_flow_graph;
extern _KLclassGVKd KLmergeGVdfmc_flow_graph;
extern _KLclassGVKd KLtemporary_transfer_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLtemporary_transferGVdfmc_flow_graph;
extern _KLclassGVKd KLkeyword_defaultGVdfmc_flow_graph;
extern _KLclassGVKd KLbinary_mergeGVdfmc_flow_graph;
extern _KLclassGVKd KLif_mergeGVdfmc_flow_graph;
extern _KLclassGVKd KLloop_mergeGVdfmc_flow_graph;
extern _KLclassGVKd KLbind_exit_mergeGVdfmc_flow_graph;
extern _KLclassGVKd KLany_slot_valueGVdfmc_flow_graph;
extern _KLclassGVKd KLany_repeated_slot_valueGVdfmc_flow_graph;
extern _KLclassGVKd KLslot_valueGVdfmc_flow_graph;
extern _KLclassGVKd KLslot_value_setterGVdfmc_flow_graph;
extern _KLclassGVKd KLrepeated_slot_valueGVdfmc_flow_graph;
extern _KLclassGVKd KLrepeated_slot_value_setterGVdfmc_flow_graph;
extern _KLclassGVKd KLcallGVdfmc_flow_graph;
extern _KLclassGVKd KLstack_vectorGVdfmc_flow_graph;
extern _KLclassGVKd KLfunction_callGVdfmc_flow_graph;
extern _KLclassGVKd KLprimitive_callGVdfmc_flow_graph;
extern _KLclassGVKd KLsimple_callGVdfmc_flow_graph;
extern _KLclassGVKd KLcongruent_call_mixinGVdfmc_flow_graph;
extern _KLclassGVKd KLmethod_callGVdfmc_flow_graph;
extern _KLclassGVKd KLengine_node_callGVdfmc_flow_graph;
extern _KLclassGVKd KLapplyGVdfmc_flow_graph;
extern _KLclassGVKd KLmethod_applyGVdfmc_flow_graph;
extern _KLclassGVKd KLengine_node_applyGVdfmc_flow_graph;
extern _KLclassGVKd KLifGVdfmc_flow_graph;
extern _KLclassGVKd KLblockGVdfmc_flow_graph;
extern _KLclassGVKd KLbind_exitGVdfmc_flow_graph;
extern _KLclassGVKd KLunwind_protectGVdfmc_flow_graph;
extern _KLclassGVKd KLendGVdfmc_flow_graph;
extern _KLclassGVKd KLreturnGVdfmc_flow_graph;
extern _KLclassGVKd KLexitGVdfmc_flow_graph;
extern _KLclassGVKd KLend_blockGVdfmc_flow_graph;
extern _KLclassGVKd KLend_exit_blockGVdfmc_flow_graph;
extern _KLclassGVKd KLend_protected_blockGVdfmc_flow_graph;
extern _KLclassGVKd KLend_cleanup_blockGVdfmc_flow_graph;
extern _KLclassGVKd KLloopGVdfmc_flow_graph;
extern _KLclassGVKd KLend_loopGVdfmc_flow_graph;
extern _KLclassGVKd KLloop_callGVdfmc_flow_graph;
extern _KLclassGVKd KLbindGVdfmc_flow_graph;
extern _KLclassGVKd KLvaluesGVdfmc_flow_graph;
extern _KLclassGVKd KLextract_value_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLextract_single_valueGVdfmc_flow_graph;
extern _KLclassGVKd KLextract_rest_valueGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_spillGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_unspillGVdfmc_flow_graph;
extern _KLclassGVKd KLadjust_multiple_values_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLadjust_multiple_valuesGVdfmc_flow_graph;
extern _KLclassGVKd KLadjust_multiple_values_restGVdfmc_flow_graph;
extern _KLclassGVKd KLcheck_type_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLsingle_value_check_type_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLcheck_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLkeyword_check_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLconstrain_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLassignment_check_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_check_type_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_check_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_check_type_restGVdfmc_flow_graph;
extern _KLclassGVKd KLresult_check_type_computationGVdfmc_flow_graph;
extern _KLclassGVKd KLsingle_value_result_check_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_result_check_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLmultiple_value_result_check_type_restGVdfmc_flow_graph;
extern _KLclassGVKd KLguarantee_typeGVdfmc_flow_graph;
extern _KLclassGVKd KLmake_cellGVdfmc_flow_graph;
extern _KLclassGVKd KLget_cell_valueGVdfmc_flow_graph;
extern _KLclassGVKd KLset_cell_valueXGVdfmc_flow_graph;
extern _KLclassGVKd KLprimitive_indirect_callGVdfmc_flow_graph;
extern _KLclassGVKd KLc_variable_pointer_callGVdfmc_flow_graph;
extern _KLclassGVKd KLbegin_with_stack_structureGVdfmc_flow_graph;
extern _KLclassGVKd KLend_with_stack_structureGVdfmc_flow_graph;
extern _KLclassGVKd KLinvariant_violationGVdfmc_flow_graph;
extern _KLclassGVKd KLdfm_copierGVdfmc_flow_graph;

/* Defined object declarations */

static _KLsimple_object_vectorGVKd_3 K1;
static _KLsimple_object_vectorGVKd_3 K2;
static _KLsimple_object_vectorGVKd_5 K3;
static _KLsimple_object_vectorGVKd_5 K4;
extern _KLlibraryGVKe Kdfmc_flow_graph_libraryYdylan_userVdfmc_flow_graph;
extern _KLmoduleGVKe Kdfmc_flow_graph_moduleYdylan_userVdfmc_flow_graph;
static _KLbyte_stringGVKd_15 K9;
static _KLsimple_object_vectorGVKd_7 K10;
static _KLused_libraryGVKe K11;
static _KLused_libraryGVKe K12;
static _KLused_libraryGVKe K13;
static _KLused_libraryGVKe K14;
static _KLused_libraryGVKe K15;
static _KLused_libraryGVKe K16;
static _KLused_libraryGVKe K17;
static _KLsymbolGVKd KJtight_;
static _KLbyte_stringGVKd_5 K19;
static _KLsimple_object_vectorGVKd_1 K20;
static _KLsimple_object_vectorGVKd_2 K21;
static _KLsimple_object_vectorGVKd_1 K22;
static _KLsimple_object_vectorGVKd_3 K23;
static _KLsimple_object_vectorGVKd_2 K24;
static _KLsimple_object_vectorGVKd_2 K25;
static _KLsimple_object_vectorGVKd_3 K26;
static _KLsimple_object_vectorGVKd_116 K27;

/* Indirection variables */

static D IKJtight_ = &KJtight_;

/* Variables */

D dfmc_flow_graph_moduleYdylan_userVdfmc_flow_graph = &Kdfmc_flow_graph_moduleYdylan_userVdfmc_flow_graph;
D dfmc_flow_graph_libraryYdylan_userVdfmc_flow_graph = &Kdfmc_flow_graph_libraryYdylan_userVdfmc_flow_graph;

/* Objects */

static _KLsimple_object_vectorGVKd_3 K1 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &K24,
  &K25,
  &K26
};

static _KLsimple_object_vectorGVKd_3 K2 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLemitted_objectGVdfmc_common,
  &KLreferenced_objectGVdfmc_common,
  &KLnamed_objectGVdfmc_common
};

static _KLsimple_object_vectorGVKd_5 K3 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &K20,
  &K21,
  &K22,
  &K23,
  &K20
};

static _KLsimple_object_vectorGVKd_5 K4 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &KLserious_conditionGVKd,
  &KLemitted_objectGVdfmc_common,
  &KLreferenced_objectGVdfmc_common,
  &KLnamed_objectGVdfmc_common,
  &KLerrorGVKd
};

_KLlibraryGVKe Kdfmc_flow_graph_libraryYdylan_userVdfmc_flow_graph = {
  &KLlibraryGVKeW /* wrapper */,
  &K9,
  (D) 1,
  (D) 1,
  (D) 128815189,
  &K10,
  &KPempty_vectorVKi,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) 7429,
  (D) 2813
};

_KLmoduleGVKe Kdfmc_flow_graph_moduleYdylan_userVdfmc_flow_graph = {
  &KLmoduleGVKeW /* wrapper */,
  &K9,
  &Kdfmc_flow_graph_libraryYdylan_userVdfmc_flow_graph
};

static _KLbyte_stringGVKd_15 K9 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "dfmc-flow-graph"
};

static _KLsimple_object_vectorGVKd_7 K10 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 29,
  &K11,
  &K12,
  &K13,
  &K14,
  &K15,
  &K16,
  &K17
};

static _KLused_libraryGVKe K11 = {
  &KLused_libraryGVKeW /* wrapper */,
  (D) 1,
  (D) 1,
  (D) 128659797,
  &Kdfmc_reader_libraryYdylan_userVdfmc_reader,
  &KJtight_
};

static _KLused_libraryGVKe K12 = {
  &KLused_libraryGVKeW /* wrapper */,
  (D) 1,
  (D) 1,
  (D) 128576373,
  &Kdfmc_namespace_libraryYdylan_userVdfmc_namespace,
  &KJtight_
};

static _KLused_libraryGVKe K13 = {
  &KLused_libraryGVKeW /* wrapper */,
  (D) 1,
  (D) 1,
  (D) 128970453,
  &Kdfmc_modeling_libraryYdylan_userVdfmc_modeling,
  &KJtight_
};

static _KLused_libraryGVKe K14 = {
  &KLused_libraryGVKeW /* wrapper */,
  (D) 1,
  (D) 1,
  (D) 128886357,
  &Kdfmc_definitions_libraryYdylan_userVdfmc_definitions,
  &KJtight_
};

static _KLused_libraryGVKe K15 = {
  &KLused_libraryGVKeW /* wrapper */,
  (D) 1,
  (D) 1,
  (D) 128251253,
  &Kdfmc_common_libraryYdylan_userVdfmc_common,
  &KJtight_
};

static _KLused_libraryGVKe K16 = {
  &KLused_libraryGVKeW /* wrapper */,
  (D) 1,
  (D) 1,
  (D) 128002773,
  &Kcommon_dylan_libraryYdylan_userVcommon_dylan,
  &KJtight_
};

static _KLused_libraryGVKe K17 = {
  &KLused_libraryGVKeW /* wrapper */,
  (D) 9,
  (D) 5,
  (D) 128132821,
  &Kdylan_libraryYdylan_userVdylan,
  &KJtight_
};

static _KLsymbolGVKd KJtight_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K19
};

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

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

static _KLsimple_object_vectorGVKd_2 K21 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLbindingGVdfmc_namespace,
  &KLreferenced_objectGVdfmc_common
};

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

static _KLsimple_object_vectorGVKd_3 K23 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLbindingGVdfmc_namespace,
  &KLreferenced_objectGVdfmc_common,
  &KLemitted_objectGVdfmc_common
};

static _KLsimple_object_vectorGVKd_2 K24 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  (D) 17,
  (D) 21
};

static _KLsimple_object_vectorGVKd_2 K25 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  (D) 9,
  (D) 13
};

static _KLsimple_object_vectorGVKd_3 K26 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  (D) 9,
  (D) 21,
  (D) 25
};

static _KLsimple_object_vectorGVKd_116 K27 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 465,
  &KLvalue_referenceGVdfmc_flow_graph,
  &KLtemporaryGVdfmc_flow_graph,
  &KLnamed_temporary_mixinGVdfmc_flow_graph,
  &KLnamed_temporaryGVdfmc_flow_graph,
  &KLcellGVdfmc_flow_graph,
  &KLentry_stateGVdfmc_flow_graph,
  &KLstack_vector_temporaryGVdfmc_flow_graph,
  &KLmultiple_value_temporaryGVdfmc_flow_graph,
  &KLlexical_variableGVdfmc_flow_graph,
  &KLlexical_specialized_variableGVdfmc_flow_graph,
  &KLlexical_local_variableGVdfmc_flow_graph,
  &KLlexical_required_variableGVdfmc_flow_graph,
  &KLlexical_optional_variableGVdfmc_flow_graph,
  &KLlexical_rest_variableGVdfmc_flow_graph,
  &KLlexical_keyword_variableGVdfmc_flow_graph,
  &KLlexical_environmentGVdfmc_flow_graph,
  &KLlambda_lexical_environmentGVdfmc_flow_graph,
  &KLtop_level_environmentGVdfmc_flow_graph,
  &KLlocal_lexical_environmentGVdfmc_flow_graph,
  &KLqueueable_item_mixinGVdfmc_flow_graph,
  &KLcomputationGVdfmc_flow_graph,
  &KLtemporary_accessorsGVdfmc_flow_graph,
  &KLnop_computationGVdfmc_flow_graph,
  &KLnopGVdfmc_flow_graph,
  &KLbinding_referenceGVdfmc_flow_graph,
  &KLmodule_binding_referenceGVdfmc_flow_graph,
  &KLvariable_referenceGVdfmc_flow_graph,
  &KLdefined_constant_referenceGVdfmc_flow_graph,
  &KLinteractor_binding_referenceGVdfmc_flow_graph,
  &KLobject_referenceGVdfmc_flow_graph,
  &KLimmutable_object_referenceGVdfmc_flow_graph,
  &KLmethod_referenceGVdfmc_flow_graph,
  &KLmake_closureGVdfmc_flow_graph,
  &KLinitialize_closureGVdfmc_flow_graph,
  &KLassignmentGVdfmc_flow_graph,
  &KLany_definitionGVdfmc_flow_graph,
  &KLdefinitionGVdfmc_flow_graph,
  &KLredefinitionGVdfmc_flow_graph,
  &KLsetXGVdfmc_flow_graph,
  &KLconditional_updateXGVdfmc_flow_graph,
  &KLtype_referenceGVdfmc_flow_graph,
  &KLany_type_definitionGVdfmc_flow_graph,
  &KLtype_definitionGVdfmc_flow_graph,
  &KLtype_redefinitionGVdfmc_flow_graph,
  &KLmergeGVdfmc_flow_graph,
  &KLtemporary_transfer_computationGVdfmc_flow_graph,
  &KLtemporary_transferGVdfmc_flow_graph,
  &KLkeyword_defaultGVdfmc_flow_graph,
  &KLbinary_mergeGVdfmc_flow_graph,
  &KLif_mergeGVdfmc_flow_graph,
  &KLloop_mergeGVdfmc_flow_graph,
  &KLbind_exit_mergeGVdfmc_flow_graph,
  &KLany_slot_valueGVdfmc_flow_graph,
  &KLany_repeated_slot_valueGVdfmc_flow_graph,
  &KLslot_valueGVdfmc_flow_graph,
  &KLslot_value_setterGVdfmc_flow_graph,
  &KLrepeated_slot_valueGVdfmc_flow_graph,
  &KLrepeated_slot_value_setterGVdfmc_flow_graph,
  &KLcallGVdfmc_flow_graph,
  &KLstack_vectorGVdfmc_flow_graph,
  &KLfunction_callGVdfmc_flow_graph,
  &KLprimitive_callGVdfmc_flow_graph,
  &KLsimple_callGVdfmc_flow_graph,
  &KLcongruent_call_mixinGVdfmc_flow_graph,
  &KLmethod_callGVdfmc_flow_graph,
  &KLengine_node_callGVdfmc_flow_graph,
  &KLapplyGVdfmc_flow_graph,
  &KLmethod_applyGVdfmc_flow_graph,
  &KLengine_node_applyGVdfmc_flow_graph,
  &KLifGVdfmc_flow_graph,
  &KLblockGVdfmc_flow_graph,
  &KLbind_exitGVdfmc_flow_graph,
  &KLunwind_protectGVdfmc_flow_graph,
  &KLendGVdfmc_flow_graph,
  &KLreturnGVdfmc_flow_graph,
  &KLexitGVdfmc_flow_graph,
  &KLend_blockGVdfmc_flow_graph,
  &KLend_exit_blockGVdfmc_flow_graph,
  &KLend_protected_blockGVdfmc_flow_graph,
  &KLend_cleanup_blockGVdfmc_flow_graph,
  &KLloopGVdfmc_flow_graph,
  &KLend_loopGVdfmc_flow_graph,
  &KLloop_callGVdfmc_flow_graph,
  &KLbindGVdfmc_flow_graph,
  &KLvaluesGVdfmc_flow_graph,
  &KLextract_value_computationGVdfmc_flow_graph,
  &KLextract_single_valueGVdfmc_flow_graph,
  &KLextract_rest_valueGVdfmc_flow_graph,
  &KLmultiple_value_spillGVdfmc_flow_graph,
  &KLmultiple_value_unspillGVdfmc_flow_graph,
  &KLadjust_multiple_values_computationGVdfmc_flow_graph,
  &KLadjust_multiple_valuesGVdfmc_flow_graph,
  &KLadjust_multiple_values_restGVdfmc_flow_graph,
  &KLcheck_type_computationGVdfmc_flow_graph,
  &KLsingle_value_check_type_computationGVdfmc_flow_graph,
  &KLcheck_typeGVdfmc_flow_graph,
  &KLkeyword_check_typeGVdfmc_flow_graph,
  &KLconstrain_typeGVdfmc_flow_graph,
  &KLassignment_check_typeGVdfmc_flow_graph,
  &KLmultiple_value_check_type_computationGVdfmc_flow_graph,
  &KLmultiple_value_check_typeGVdfmc_flow_graph,
  &KLmultiple_value_check_type_restGVdfmc_flow_graph,
  &KLresult_check_type_computationGVdfmc_flow_graph,
  &KLsingle_value_result_check_typeGVdfmc_flow_graph,
  &KLmultiple_value_result_check_typeGVdfmc_flow_graph,
  &KLmultiple_value_result_check_type_restGVdfmc_flow_graph,
  &KLguarantee_typeGVdfmc_flow_graph,
  &KLmake_cellGVdfmc_flow_graph,
  &KLget_cell_valueGVdfmc_flow_graph,
  &KLset_cell_valueXGVdfmc_flow_graph,
  &KLprimitive_indirect_callGVdfmc_flow_graph,
  &KLc_variable_pointer_callGVdfmc_flow_graph,
  &KLbegin_with_stack_structureGVdfmc_flow_graph,
  &KLend_with_stack_structureGVdfmc_flow_graph,
  &KLinvariant_violationGVdfmc_flow_graph,
  &KLdfm_copierGVdfmc_flow_graph
};

/* Code */


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJtight_);
    if (T0 != &KJtight_) {
      primitive_slot_value_setter(T0, &K11, 4);
      primitive_slot_value_setter(T0, &K12, 4);
      primitive_slot_value_setter(T0, &K13, 4);
      primitive_slot_value_setter(T0, &K14, 4);
      primitive_slot_value_setter(T0, &K15, 4);
      primitive_slot_value_setter(T0, &K16, 4);
      primitive_slot_value_setter(T0, &K17, 4);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_flow_graph__X_flow_graph_library_for_user () {
{
  _KLsimple_object_vectorGVKd_1 T0 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T1 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T2;

  Kinitialize_class_dispatch_keys_vectoredVKgI(&K27);
  T0.vector_element_[0] = &K1;
  KdoVKdMM0I(&Kaugment_rcpl_position_data_multipleVKi, &K2, &T0);
  T1.vector_element_[0] = &K3;
  T2 = KdoVKdMM0I(&Kaugment_class_known_jointVKiMM0, &K4, &T1);
  goto I0;
}
I0:

{
  D T0;

  T0 = &KPfalseVKi;
  goto I5;
}
I5:

{
  D T0;
  D T1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/flow-graph/flow-graph-library.dylan:8
  T0 = primitive_runtime_module_handle();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/flow-graph/flow-graph-library.dylan:8
  T1 = KPlibrary_version_checkVKeI(&Kdfmc_flow_graph_libraryYdylan_userVdfmc_flow_graph, T0);
  goto I6;
}
I6:

  return;
}


/* eof */
