#include "run-time.h"

/* Typedefs for referenced classes */

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

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

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

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

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

#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(8);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(35);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(28);
define__KLbyte_stringGVKd(39);
define__KLbyte_stringGVKd(29);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(33);
define__KLbyte_stringGVKd(10);

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 head_;
  D tail_;
} _KLempty_listGVKd;

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

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

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

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

typedef struct {
  D wrapper;
  D 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_;
  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_;
} _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 bind_return_;
} _KLbindGVdfmc_flow_graph;

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

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

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

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
  D fragment_name_;
} _KLvariable_name_fragmentGVdfmc_reader;

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

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

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

typedef struct {
  D wrapper;
  D handler_type_;
  D handler_function_;
  D handler_test_;
  D handler_init_arguments_;
} _KLhandlerGVKi;

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

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


/* Typedefs for defined classes */


/* Referenced object declarations */

D KPadd_a_methodVKnI (D, D, D, D, D, D);
extern _KLsealed_generic_functionGVKe Kre_optimize_type_estimateVdfmc_flow_graph;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLlibraryGVKe Kdfmc_optimization_libraryYdylan_userVdfmc_optimization;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLsealed_generic_functionGVKe Kqueue_headVdfmc_flow_graph;
D Kformat_outYformat_outVioMM0I (D, D);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLnopGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLnopGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe Kprint_method_outVdfmc_back_end;
extern _KLsimple_methodGVKe Kitem_statusVdfmc_flow_graphMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsealed_generic_functionGVKe Kqueue_popVdfmc_flow_graph;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLcomputationGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLcomputationGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe Kcomputation_source_locationVdfmc_flow_graph;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLsealed_generic_functionGVKe Kreturn_tempVdfmc_flow_graph;
extern _KLsimple_methodGVKe KusedQVdfmc_commonMM0;
extern _KLsealed_generic_functionGVKe KusersVdfmc_common;
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLsealed_generic_functionGVKe KheadVKd;
D Kdebug_assertion_failureVKiI (D, D);
extern _KLsealed_generic_functionGVKe Kremove_userXVdfmc_common;
extern _KLclassGVKd KLunwind_protectGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLunwind_protectGVdfmc_flow_graphW;
D Kanalyze_callsVdfmc_optimizationMM1I (D);
extern _KLclassGVKd KLprimitive_callGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLprimitive_callGVdfmc_flow_graphW;
D Kanalyze_callsVdfmc_optimizationMM2I (D);
D Ktry_inliningVdfmc_optimizationMM1I (D);
extern _KLclassGVKd KLfunction_callGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLfunction_callGVdfmc_flow_graphW;
extern _KLclassGVKd KLbindGVdfmc_flow_graph;
extern _KLmm_wrapperGVKi_0 KLbindGVdfmc_flow_graphW;
extern _KLsealed_generic_functionGVKe Kdelete_useless_computationsVdfmc_optimization;
extern _KLsealed_generic_functionGVKe Kconstant_foldVdfmc_optimization;
extern _KLsimple_methodGVKe Koptimization_queueVdfmc_modelingMM0;
extern _KLclassGVKd KLstretchy_object_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLstretchy_object_vectorGVKeW;
extern _KLsimple_methodGVKe Kinit_optimization_queueVdfmc_flow_graphMM0;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLsealed_generic_functionGVKe KbodyVdfmc_modeling;
extern _KLsealed_generic_functionGVKe KenvironmentVdfmc_modeling;
extern _KLsimple_methodGVKe KinnersVdfmc_flow_graphMM0;
extern _KLsealed_generic_functionGVKe KlambdaVdfmc_flow_graph;
extern _KLsimple_methodGVKe Kdo_all_lambdasVdfmc_flow_graphMM0;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLsealed_generic_functionGVKe Kcurrent_library_descriptionVdfmc_common;
extern _KLsealed_generic_functionGVKe Kcurrent_top_level_library_descriptionQVdfmc_common;
extern _KLsimple_methodGVKe Klanguage_definitionVdfmc_namespaceMM0;
extern _KLincremental_generic_functionGVKe Kdebug_nameVKe;
D KEEVKdI (D, D);
D Kmodel_compilation_recordVdfmc_commonI (D);
extern _KLsealed_generic_functionGVKe Kcompilation_record_source_recordVdfmc_common;
extern _KLincremental_generic_functionGVKe Ksource_record_locationVsource_records;
extern _KLincremental_generic_functionGVKe Klocator_baseYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLclassGVKd KLvariable_name_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_fragmentGVdfmc_readerW;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLsimple_methodGVKe Koptimization_queue_setterVdfmc_modelingMM0;
extern _KLsimple_methodGVKe Kstrip_environmentVdfmc_flow_graphMM0;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLsimple_methodGVKe Klambda_optimizedQ_setterVdfmc_modelingMM0;
extern _KLsymbolGVKd KJtype_;
extern _KLclassGVKd KLsimple_restartGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_restartGVKdW;
extern _KLsymbolGVKd KJfunction_;
extern _KLsymbolGVKd KJtest_;
extern _KLsymbolGVKd KJinit_arguments_;
D KLhandlerGZ32ZconstructorVKiMM0I (D, D, D, D, D, D);
extern _KLclassGVKd KLhandlerGVKi;
extern _KLmm_wrapperGVKi_0 KLhandlerGVKiW;
extern _KLsealed_generic_functionGVKe Kmodel_creatorVdfmc_common;
D Kdo_with_dependent_contextVdfmc_namespaceI (D, D, D);
extern _KLsymbolGVKd KJformat_string_;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLincremental_generic_functionGVKe KAVKd;
D Klambda_usedQVdfmc_flow_graphMM0I (D);
extern _KLsealed_generic_functionGVKe Klambda_top_levelQVdfmc_modeling;
extern _KLsealed_generic_functionGVKe Kconstant_fold_closureVdfmc_optimization;
extern _KLsimple_methodGVKe Kprune_closureVdfmc_optimizationMM0;
extern _KLsimple_methodGVKe Kanalyze_dynamic_extent_forVdfmc_optimization;
extern _KLsimple_methodGVKe Kanalyze_environmentsVdfmc_flow_graphMM0;
extern _KLsealed_generic_functionGVKe Kcheck_optimized_computationsVdfmc_optimization;
extern _KLsimple_methodGVKe Kshare_common_subexpressionsVdfmc_optimizationMM0;
extern _KLsimple_methodGVKe Kdelete_useless_environmentsVdfmc_optimizationMM0;
extern _KLsimple_methodGVKe Kmaybe_rename_temporaries_in_conditionalsVdfmc_optimizationMM0;
extern _KLsimple_methodGVKe Kmaybe_delete_function_bodyVdfmc_flow_graph;
extern _KLsimple_methodGVKe Keliminate_assignmentsVdfmc_optimizationMM0;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLBlambdaGVdfmc_modeling;
extern _KLmm_wrapperGVKi_0 KLBlambdaGVdfmc_modelingW;
extern _KLsealed_generic_functionGVKe KtemporaryVdfmc_flow_graph;
D Ktype_estimate_retractVdfmc_typistMM0I (D);
extern D Tparent_source_locationTVdfmc_reader;
extern D TdebuggingQTVKi;
extern D Tcurrent_handlersTVKi;
extern D Tflow_types_through_conditionalsQTVdfmc_optimization;

/* Defined object declarations */

extern _KLsimple_methodGVKe Kre_optimize_type_estimateVdfmc_flow_graphMdfmc_optimizationM0;
D Kre_optimize_type_estimateVdfmc_flow_graphMdfmc_optimizationM0I (D);
extern _KLsealed_generic_functionGVKe Kreally_run_compilation_passesVdfmc_optimization;
D Kensure_optimization_queueVdfmc_optimizationMM0I (D);
D Krun_optimizationsVdfmc_optimizationMM0I (D);
extern _KLsimple_methodGVKe Kdo_optimizeVdfmc_optimization;
D Kdo_optimizeVdfmc_optimizationI (D);
static _KLbyte_stringGVKd_10 K8;
static _KLbyte_stringGVKd_33 K9;
extern _KLsealed_generic_functionGVKe KoptimizeVdfmc_optimization;
extern _KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM0;
D KoptimizeVdfmc_optimizationMM0I (D);
extern _KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM1;
D KoptimizeVdfmc_optimizationMM1I (D);
extern _KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM2;
D KoptimizeVdfmc_optimizationMM2I (D);
extern _KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM3;
D KoptimizeVdfmc_optimizationMM3I (D);
extern _KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM4;
D KoptimizeVdfmc_optimizationMM4I (D);
static _KLpairGVKd K21;
static _KLpairGVKd K22;
static _KLpairGVKd K23;
static _KLpairGVKd K24;
static _KLpairGVKd K25;
static _KLsignatureAvaluesGVKi K26;
static _KLbyte_stringGVKd_8 K27;
static _KLsimple_object_vectorGVKd_1 K28;
static _KLbyte_stringGVKd_18 K29;
static _KLsignatureAvaluesGVKi K30;
static _KLsimple_object_vectorGVKd_1 K31;
static _KLbyte_stringGVKd_7 K32;
static _KLbyte_stringGVKd_7 K33;
static _KLsignatureAvaluesGVKi K34;
static _KLsimple_object_vectorGVKd_1 K35;
static _KLbyte_stringGVKd_6 K36;
static _KLsignatureAvaluesGVKi K37;
static _KLsimple_object_vectorGVKd_1 K38;
static _KLsignatureAvaluesGVKi K39;
static _KLsimple_object_vectorGVKd_1 K40;
static _KLbyte_stringGVKd_6 K41;
static _KLbyte_stringGVKd_4 K42;
extern _KLsimple_methodGVKe Kreally_run_compilation_passesVdfmc_optimizationMM0;
D Kreally_run_compilation_passesVdfmc_optimizationMM0I (D);
extern _KLsimple_methodGVKe Kreally_run_compilation_passesVdfmc_optimizationMM1;
D Kreally_run_compilation_passesVdfmc_optimizationMM1I (D);
static _KLpairGVKd K47;
static _KLpairGVKd K48;
static _KLbyte_stringGVKd_29 K49;
static _KLsimple_closure_methodGVKi_0 KUloopUF61;
static D KUloopUF61I (D);
D Ktracing_optimizationsQVdfmc_optimizationI (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF60;
static D Kanonymous_of_really_run_compilation_passesF60I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF59;
static D Kanonymous_of_really_run_compilation_passesF59I (D);
D Kdumping_dfmQVdfmc_optimizationI (D);
D Kdebug_stringVdfmc_optimizationI (D);
static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF110;
static D KUhandler_functionUF110I (D, D);
static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF107;
static D KUhandler_functionUF107I (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF72;
static D Kanonymous_of_really_run_compilation_passesF72I ();
static _KLsimple_object_vectorGVKd_2 K68;
static _KLsimple_object_vectorGVKd_2 K69;
static _KLbyte_stringGVKd_39 K70;
static _KLbyte_stringGVKd_28 K71;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF104;
static D Kanonymous_of_really_run_compilation_passesF104I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF102;
static D Kanonymous_of_really_run_compilation_passesF102I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF100;
static D Kanonymous_of_really_run_compilation_passesF100I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF98;
static D Kanonymous_of_really_run_compilation_passesF98I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF96;
static D Kanonymous_of_really_run_compilation_passesF96I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF94;
static D Kanonymous_of_really_run_compilation_passesF94I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF93;
static D Kanonymous_of_really_run_compilation_passesF93I (D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF91;
static D Kanonymous_of_really_run_compilation_passesF91I (D);
static _KLbyte_stringGVKd_9 K89;
static _KLbyte_stringGVKd_35 K90;
static _KLbyte_stringGVKd_12 K92;
static _KLbyte_stringGVKd_13 K95;
static _KLbyte_stringGVKd_13 K97;
static _KLbyte_stringGVKd_14 K99;
static _KLbyte_stringGVKd_12 K101;
static _KLbyte_stringGVKd_15 K103;
static _KLbyte_stringGVKd_12 K105;
static _KLsignatureGVKe K106;
static _KLsignatureGVKe K108;
static _KLsimple_object_vectorGVKd_2 K109;
static _KLsignatureGVKe K111;
static _KLsimple_object_vectorGVKd_1 K112;
static _KLsignatureGVKe K113;
static _KLsimple_object_vectorGVKd_1 K114;
static _KLsignatureGVKe K115;

/* Indirection variables */


/* Variables */

D really_run_compilation_passesVdfmc_optimization = &Kreally_run_compilation_passesVdfmc_optimization;
D Ttrace_optimizationsQTVdfmc_optimization = &KPfalseVKi;
D Ttrace_optimizing_libraryTVdfmc_optimization = &KPfalseVKi;
D Ttrace_optimizing_fileTVdfmc_optimization = &KPfalseVKi;
D Ttrace_optimizing_methodTVdfmc_optimization = &KPfalseVKi;
D Tdump_dfmQTVdfmc_optimization = &KPfalseVKi;
D Tdump_dfm_libraryTVdfmc_optimization = &KPfalseVKi;
D Tdump_dfm_fileTVdfmc_optimization = &KPfalseVKi;
D Tdump_dfm_methodTVdfmc_optimization = &KPfalseVKi;

/* Objects */

_KLsimple_methodGVKe Kre_optimize_type_estimateVdfmc_flow_graphMdfmc_optimizationM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K115,
  &Kre_optimize_type_estimateVdfmc_flow_graphMdfmc_optimizationM0I
};

_KLsealed_generic_functionGVKe Kreally_run_compilation_passesVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K49,
  &K47,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kdo_optimizeVdfmc_optimization = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K26,
  &Kdo_optimizeVdfmc_optimizationI
};

static _KLbyte_stringGVKd_10 K8 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "---------\n"
};

static _KLbyte_stringGVKd_33 K9 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 133,
  "MAX OPTIMIZATIONS FOR %= REACHED\n"
};

_KLsealed_generic_functionGVKe KoptimizeVdfmc_optimization = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &K26,
  (D) 1,
  &K27,
  &K21,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K26,
  &KoptimizeVdfmc_optimizationMM0I
};

_KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K39,
  &KoptimizeVdfmc_optimizationMM1I
};

_KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K37,
  &KoptimizeVdfmc_optimizationMM2I
};

_KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K34,
  &KoptimizeVdfmc_optimizationMM3I
};

_KLsimple_methodGVKe KoptimizeVdfmc_optimizationMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K30,
  &KoptimizeVdfmc_optimizationMM4I
};

static _KLpairGVKd K21 = {
  &KLpairGVKdW /* wrapper */,
  &KoptimizeVdfmc_optimizationMM0,
  &K22
};

static _KLpairGVKd K22 = {
  &KLpairGVKdW /* wrapper */,
  &KoptimizeVdfmc_optimizationMM1,
  &K23
};

static _KLpairGVKd K23 = {
  &KLpairGVKdW /* wrapper */,
  &KoptimizeVdfmc_optimizationMM2,
  &K24
};

static _KLpairGVKd K24 = {
  &KLpairGVKdW /* wrapper */,
  &KoptimizeVdfmc_optimizationMM3,
  &K25
};

static _KLpairGVKd K25 = {
  &KLpairGVKdW /* wrapper */,
  &KoptimizeVdfmc_optimizationMM4,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K26 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K28,
  &KDsignature_LbooleanG_typesVKi
};

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

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

static _KLbyte_stringGVKd_18 K29 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "no reason supplied"
};

static _KLsignatureAvaluesGVKi K30 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 37749765,
  &K31,
  &KDsignature_LbooleanG_typesVKi
};

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

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

static _KLbyte_stringGVKd_7 K33 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "%s %= \n"
};

static _KLsignatureAvaluesGVKi K34 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 37749765,
  &K35,
  &KDsignature_LbooleanG_typesVKi
};

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

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

static _KLsignatureAvaluesGVKi K37 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 37749765,
  &K38,
  &KDsignature_LbooleanG_typesVKi
};

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

static _KLsignatureAvaluesGVKi K39 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K40,
  &KDsignature_LbooleanG_typesVKi
};

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

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

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

_KLsimple_methodGVKe Kreally_run_compilation_passesVdfmc_optimizationMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kreally_run_compilation_passesVdfmc_optimizationMM0I
};

_KLsimple_methodGVKe Kreally_run_compilation_passesVdfmc_optimizationMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K113,
  &Kreally_run_compilation_passesVdfmc_optimizationMM1I
};

static _KLpairGVKd K47 = {
  &KLpairGVKdW /* wrapper */,
  &Kreally_run_compilation_passesVdfmc_optimizationMM0,
  &K48
};

static _KLpairGVKd K48 = {
  &KLpairGVKdW /* wrapper */,
  &Kreally_run_compilation_passesVdfmc_optimizationMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_29 K49 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 117,
  "really-run-compilation-passes"
};

static _KLsimple_closure_methodGVKi_0 KUloopUF61 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K111,
  &KUloopUF61I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF60 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF60I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF59 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF59I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF110 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K108,
  &KUhandler_functionUF110I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 KUhandler_functionUF107 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K108,
  &KUhandler_functionUF107I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF72 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K106,
  &Kanonymous_of_really_run_compilation_passesF72I,
  (D) 1
};

static _KLsimple_object_vectorGVKd_2 K68 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJformat_string_,
  &K71
};

static _KLsimple_object_vectorGVKd_2 K69 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJformat_string_,
  &K70
};

static _KLbyte_stringGVKd_39 K70 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 157,
  "Abort all analysis passes and continue."
};

static _KLbyte_stringGVKd_28 K71 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 113,
  "Restart all analysis passes."
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF104 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF104I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF102 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF102I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF100 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF100I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF98 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF98I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF96 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF96I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF94 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF94I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF93 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF93I,
  (D) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_really_run_compilation_passesF91 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_really_run_compilation_passesF91I,
  (D) 1
};

static _KLbyte_stringGVKd_9 K89 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "READY %=\n"
};

static _KLbyte_stringGVKd_35 K90 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 141,
  "MAX REOPTIMIZATIONS FOR %= REACHED\n"
};

static _KLbyte_stringGVKd_12 K92 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "PASS SIX %=\n"
};

static _KLbyte_stringGVKd_13 K95 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "PASS FIVE %=\n"
};

static _KLbyte_stringGVKd_13 K97 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "PASS FOUR %=\n"
};

static _KLbyte_stringGVKd_14 K99 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "PASS THREE %=\n"
};

static _KLbyte_stringGVKd_12 K101 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "PASS TWO %=\n"
};

static _KLbyte_stringGVKd_15 K103 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "PASS ONE(A) %=\n"
};

static _KLbyte_stringGVKd_12 K105 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "PASS ONE %=\n"
};

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

static _KLsignatureGVKe K108 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040201,
  &K109
};

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

static _KLsignatureGVKe K111 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K112
};

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

static _KLsignatureGVKe K113 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040197,
  &K114
};

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

static _KLsignatureGVKe K115 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41943045,
  &K28
};

/* Code */

D Kre_optimize_type_estimateVdfmc_flow_graphMdfmc_optimizationM0I (D c_) {
  D tmp_;
  D T3;
  D T4;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:309
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:310
  CONGRUENT_CALL_PROLOG(&KtemporaryVdfmc_flow_graph, 1);
  tmp_ = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:311
  if (tmp_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:312
    T5 = Ktype_estimate_retractVdfmc_typistMM0I(c_);
    T4 = T5;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:311
    T3 = &KPfalseVKi;
    T4 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:311
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:309
  MV_SET_COUNT(0);
  return(T4);
}

D Kensure_optimization_queueVdfmc_optimizationMM0I (D code_) {
  D Utmp_;
  D T3;
  D T4;
  D T5;
  D T6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:243
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:244
  Utmp_ = CALL1(&Koptimization_queueVdfmc_modelingMM0, code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:244
  if (Utmp_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/inlining.dylan:406
    T6 = Utmp_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:244
    T3 = T6;
    MV_SET_ELT(0, T6);
    MV_SET_COUNT(1);
    T5 = T3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:246
    CALL1(&Kinit_optimization_queueVdfmc_flow_graphMM0, code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:247
    T4 = CALL1(&Koptimization_queueVdfmc_modelingMM0, code_);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:244
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:243
  return(T5);
}

D Krun_optimizationsVdfmc_optimizationMM0I (D code_) {
  D queue_;
  D somethingQF3;
  DWORD count_T, count_;
  D item_T, item_;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10_0;
  D T11_0;
  D T12_0;
  D somethingQF13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  DWORD T19;
  D T20;
  _KLsimple_object_vectorGVKd_1 T21 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T22;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:251
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:253
  queue_ = Kensure_optimization_queueVdfmc_optimizationMM0I(code_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:254
  somethingQF3 = CALL1(&Kqueue_headVdfmc_flow_graph, queue_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:254
  somethingQF13 = somethingQF3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
  T15 = somethingQF13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
  count_T = 1;
  item_T = T15;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
    count_ = count_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
    item_ = item_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
    T16 = primitive_machine_word_less_thanQ(count_,40001);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
    if (T16 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
      if (item_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:258
        T6 = CALL1(&Kdo_optimizeVdfmc_optimization, item_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:258
        if (T6 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:259
          somethingQF13 = &KPtrueVKi;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:260
          T7 = Ttrace_optimizationsQTVdfmc_optimization;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:260
          if (T7 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:261
            Kformat_outYformat_outVioMM0I(&K8, &KPempty_vectorVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:262
            T17 = primitive_instanceQ(item_,&KLnopGVdfmc_flow_graph);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:262
            if (T17 == &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:263
              CALL1(&Kprint_method_outVdfmc_back_end, code_);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:264
              Kformat_outYformat_outVioMM0I(&K8, &KPempty_vectorVKi);
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:262
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:260
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:268
          T8 = CALL1(&Kitem_statusVdfmc_flow_graphMM0, item_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:268
          T18 = primitive_idQ(T8,(D) 9);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:268
          if (T18 == &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:269
            CALL1(&Kqueue_popVdfmc_flow_graph, queue_);
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:268
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:258
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
        T19 = primitive_machine_word_add_signal_overflow(count_,4);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:256
        T9 = CALL1(&Kqueue_headVdfmc_flow_graph, queue_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
        count_T = T19;
        item_T = T9;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:273
    T20 = primitive_machine_word_equalQ(count_,40001);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:273
    if (T20 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:274
      T21.vector_element_[0] = code_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:274
      T22 = Ttrace_optimizationsQTVdfmc_optimization;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:274
      if (T22 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:274
        Kformat_outYformat_outVioMM0I(&K9, &T21);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:274
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:273
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:255
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:277
  T14 = somethingQF13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:277
  if (T14 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:277
    T10_0 = &KPtrueVKi;
    T12_0 = T10_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:277
    T11_0 = &KPfalseVKi;
    T12_0 = T11_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:277
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:251
  MV_SET_COUNT(1);
  return(T12_0);
}

D Kdo_optimizeVdfmc_optimizationI (D item_) {
  D T2;
  D T3;
  D Pold_valueP_;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:294
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
  T2 = item_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
  CONGRUENT_CALL_PROLOG(&Kcomputation_source_locationVdfmc_flow_graph, 1);
  T3 = CONGRUENT_CALL1(T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
  Pold_valueP_ = primitive_read_thread_variable(Tparent_source_locationTVdfmc_reader);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
  ENTER_UNWIND_FRAME(T5);
  if (!nlx_setjmp(FRAME_DEST(T5))) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
    primitive_write_thread_variable(Tparent_source_locationTVdfmc_reader, T3);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:296
    CONGRUENT_CALL_PROLOG(&KoptimizeVdfmc_optimization, 1);
    T6 = CONGRUENT_CALL1(item_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:296
    if (T6 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:296
      T7 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T9 = T7;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:296
      T8 = &KPfalseVKi;
      MV_SET_ELT(0, &KPfalseVKi);
      MV_SET_COUNT(1);
      T9 = T8;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:296
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
    FALL_THROUGH_UNWIND(T9);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
  primitive_write_thread_variable(Tparent_source_locationTVdfmc_reader, Pold_valueP_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:295
  CONTINUE_UNWIND();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:294
  return(T9);
}

D KoptimizeVdfmc_optimizationMM0I (D c_) {
  D T2_0;
  D T3_0;
  D T4;
  _KLsimple_object_vectorGVKd_2 T5 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T6;
  D T7;
  D T8;
  D T9_0;
  D T10_0;
  D T11_0;
  _KLsimple_object_vectorGVKd_2 T12 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T13;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:317
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  T5.vector_element_[0] = &K41;
  T5.vector_element_[1] = c_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  T6 = Ttrace_optimizationsQTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
    Kformat_outYformat_outVioMM0I(&K33, &T5);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  CONGRUENT_CALL_PROLOG(&Kdelete_useless_computationsVdfmc_optimization, 1);
  T4 = CONGRUENT_CALL1(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  if (T4 != &KPfalseVKi) {
    T7 = &KPtrueVKi;
  } else {
    T7 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
    T2_0 = T7;
    T3_0 = T2_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
    T12.vector_element_[0] = &K42;
    T12.vector_element_[1] = c_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
    T13 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
    if (T13 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
      Kformat_outYformat_outVioMM0I(&K33, &T12);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
    CONGRUENT_CALL_PROLOG(&Kconstant_foldVdfmc_optimization, 1);
    T8 = CONGRUENT_CALL1(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
    if (T8 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
      T9_0 = &KPtrueVKi;
      T11_0 = T9_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
      T10_0 = &KPfalseVKi;
      T11_0 = T10_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:319
    T3_0 = T11_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:318
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:317
  MV_SET_COUNT(1);
  return(T3_0);
}

D KoptimizeVdfmc_optimizationMM1I (D c_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:325
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:325
  T2_0 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:325
  MV_SET_COUNT(1);
  return(T2_0);
}

D KoptimizeVdfmc_optimizationMM2I (D c_) {
  D Utmp_;
  D T3_0;
  D T4_0;
  D T5;
  D T6;
  D T7;
  _KLsimple_object_vectorGVKd_2 T8 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T9;
  D T10;
  D T11;
  D T12_0;
  D T13_0;
  D T14_0;
  _KLsimple_object_vectorGVKd_2 T15 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T16;
  D T17;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:329
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:330
  T6 = KoptimizeVdfmc_optimizationMM0I(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:330
  T7 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:330
  if (T7 != &KPfalseVKi) {
    Utmp_ = T7;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
    T8.vector_element_[0] = &K32;
    T8.vector_element_[1] = c_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
    T9 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
    if (T9 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
      Kformat_outYformat_outVioMM0I(&K33, &T8);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
    T11 = Kanalyze_callsVdfmc_optimizationMM2I(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
    if (T11 != &KPfalseVKi) {
      T10 = &KPtrueVKi;
    } else {
      T10 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:331
    Utmp_ = T10;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:330
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:330
  if (Utmp_ != &KPfalseVKi) {
    T5 = Utmp_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:330
    T3_0 = T5;
    T4_0 = T3_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
    T15.vector_element_[0] = &K36;
    T15.vector_element_[1] = c_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
    T16 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
    if (T16 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
      Kformat_outYformat_outVioMM0I(&K33, &T15);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
    T17 = Ktry_inliningVdfmc_optimizationMM1I(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
    if (T17 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
      T12_0 = &KPtrueVKi;
      T14_0 = T12_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
      T13_0 = &KPfalseVKi;
      T14_0 = T13_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:332
    T4_0 = T14_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:330
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:329
  MV_SET_COUNT(1);
  return(T4_0);
}

D KoptimizeVdfmc_optimizationMM3I (D c_) {
  D T2_0;
  D T3_0;
  D T4;
  D T5;
  D T6_0;
  D T7_0;
  D T8_0;
  _KLsimple_object_vectorGVKd_2 T9 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T10;
  D T11;
  D T12_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:336
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:337
  T4 = KoptimizeVdfmc_optimizationMM0I(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:337
  T5 = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:337
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:337
    T2_0 = T5;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:337
    T12_0 = T2_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T2_0);
      primitive_type_check(T12_0, &KLbooleanGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T3_0 = T12_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
    T9.vector_element_[0] = &K32;
    T9.vector_element_[1] = c_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
    T10 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
    if (T10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
      Kformat_outYformat_outVioMM0I(&K33, &T9);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
    T11 = Kanalyze_callsVdfmc_optimizationMM1I(c_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
    if (T11 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
      T6_0 = &KPtrueVKi;
      T8_0 = T6_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
      T7_0 = &KPfalseVKi;
      T8_0 = T7_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:338
    T3_0 = T8_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:337
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:336
  MV_SET_COUNT(1);
  return(T3_0);
}

D KoptimizeVdfmc_optimizationMM4I (D c_) {
  D T2;
  D temp_;
  D T4;
  D T5;
  D users_;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:345
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:346
  T11 = SLOT_VALUE_INITD(c_, 9);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:346
  if (T11 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:346
    T12 = SLOT_VALUE_INITD(c_, 9);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:346
    T2 = CALL1(&Kreturn_tempVdfmc_flow_graph, T12);
    temp_ = T2;
  } else {
    temp_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:346
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:347
  if (temp_ != &KPfalseVKi) {
    T10 = temp_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:347
    T4 = CALL1(&KusedQVdfmc_commonMM0, T10);
    T5 = T4;
  } else {
    T5 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:347
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:347
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:348
    CONGRUENT_CALL_PROLOG(&KusersVdfmc_common, 1);
    users_ = CONGRUENT_CALL1(temp_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:349
    CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
    T7 = CONGRUENT_CALL1(users_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:349
    T13 = primitive_idQ(T7,(D) 5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:349
    if (T13 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
      T14 = TdebuggingQTVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
      if (T14 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
        T8 = CALL1(&KheadVKd, users_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
        T15 = SLOT_VALUE_INITD(c_, 9);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
        T16 = primitive_idQ(T8,T15);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
        T17 = primitive_not(T16);
        T9 = T17;
      } else {
        T9 = &KPfalseVKi;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
      if (T9 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
        Kdebug_assertion_failureVKiI(&K29, &KPempty_vectorVKi);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:350
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:352
      T18 = SLOT_VALUE_INITD(c_, 9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:352
      CONGRUENT_CALL_PROLOG(&Kremove_userXVdfmc_common, 2);
      CONGRUENT_CALL2(temp_, T18);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:349
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:347
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:355
  T19 = KoptimizeVdfmc_optimizationMM0I(c_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:355
  T20_0 = T19;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:345
  MV_SET_COUNT(1);
  return(T20_0);
}

D Kreally_run_compilation_passesVdfmc_optimizationMM0I (D code_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:98
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:98
  T2_0 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:98
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kreally_run_compilation_passesVdfmc_optimizationMM1I (D code_) {
  volatile D Pold_valueP_;
  volatile D T3;
  volatile D T4;
  volatile D T5;
  volatile D T6;
  volatile D T7;
  volatile D T8;
  volatile D T9;
  volatile D T10;
  volatile D T11;
  volatile D T12;
  volatile D T13;
  volatile D T14;
  volatile DWORD T15;
  volatile D T16;
  volatile D T17;
  volatile D T18;
  volatile D T19T, T19;
  volatile D T20;
  volatile D T21;
  volatile D T22;
  volatile D T23;
  volatile D T24_0;
  volatile D T25_0;
  volatile D T26;
  volatile D T27;
  volatile D T28;
  volatile D T29T, T29;
  volatile D T30;
  volatile D T31;
  volatile D T32;
  volatile D T33;
  volatile D T34_0;
  volatile D T35_0;
  volatile D T36;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:143
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:145
  Pold_valueP_ = Ttrace_optimizationsQTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:144
  ENTER_UNWIND_FRAME(T3);
  if (!nlx_setjmp(FRAME_DEST(T3))) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:145
    T4 = Ktracing_optimizationsQVdfmc_optimizationI(code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:145
    Ttrace_optimizationsQTVdfmc_optimization = T4;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
    CONGRUENT_CALL_PROLOG(&KbodyVdfmc_modeling, 1);
    T5 = CONGRUENT_CALL1(code_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
    T13 = primitive_not(T5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
    if (T5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
      T14 = SLOT_VALUE_INITD(code_, 7);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
      T15 = primitive_cast_integer_as_raw(T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
      T16 = primitive_machine_word_logbitQ(2,T15);
      T6 = T16;
    } else {
      T6 = T13;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
    if (T6 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
      T11 = &KPfalseVKi;
      MV_SET_ELT(0, &KPfalseVKi);
      MV_SET_COUNT(1);
      T12 = T11;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:147
      ENTER_UNWIND_FRAME(T7);
      if (!nlx_setjmp(FRAME_DEST(T7))) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
        CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
        T17 = CONGRUENT_CALL1(code_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
        T18 = CALL1(&KinnersVdfmc_flow_graphMM0, T17);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
        T19T = T18;
      L0: ;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
          T19 = T19T;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
          T20 = primitive_idQ(T19,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
          if (T20 == &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            T21 = SLOT_VALUE_INITD(T19, 0);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            T22 = CALL1(&KlambdaVdfmc_flow_graph, T21);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, &Kanonymous_of_really_run_compilation_passesF60, T22);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            T23 = SLOT_VALUE_INITD(T19, 1);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            T24_0 = T23;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            T25_0 = T24_0;
            {
              MV_CHECK_TYPE_PROLOGUE(T24_0);
              primitive_type_check(T25_0, &KLlistGVKd);
              MV_CHECK_TYPE_EPILOGUE();
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            T26 = T25_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
            T19T = T26;
            goto L0;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
        Kanonymous_of_really_run_compilation_passesF60I(code_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        T8 = MAKE_CLOSURE(&KUloopUF61, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        INIT_CLOSURE(T8, 1, T8);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        get_teb()->function = T8;
        T9 = KUloopUF61I(code_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:147
        FALL_THROUGH_UNWIND(T9);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
      CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
      T27 = CONGRUENT_CALL1(code_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
      T28 = CALL1(&KinnersVdfmc_flow_graphMM0, T27);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
      T29T = T28;
    L1: ;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
        T29 = T29T;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
        T30 = primitive_idQ(T29,&KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
        if (T30 == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          T31 = SLOT_VALUE_INITD(T29, 0);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          T32 = CALL1(&KlambdaVdfmc_flow_graph, T31);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, &Kanonymous_of_really_run_compilation_passesF59, T32);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          T33 = SLOT_VALUE_INITD(T29, 1);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          T34_0 = T33;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          T35_0 = T34_0;
          {
            MV_CHECK_TYPE_PROLOGUE(T34_0);
            primitive_type_check(T35_0, &KLlistGVKd);
            MV_CHECK_TYPE_EPILOGUE();
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          T36 = T35_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
          T29T = T36;
          goto L1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
      Kanonymous_of_really_run_compilation_passesF59I(code_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:235
      T10 = Kdumping_dfmQVdfmc_optimizationI(code_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:235
      if (T10 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:236
        CONGRUENT_CALL_PROLOG(&Kprint_method_outVdfmc_back_end, 2);
        CONGRUENT_CALL2(code_, &KPempty_vectorVKi);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:235
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:147
      CONTINUE_UNWIND();
      T12 = T9;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:146
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:144
    FALL_THROUGH_UNWIND(T12);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:145
  Ttrace_optimizationsQTVdfmc_optimization = Pold_valueP_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:144
  CONTINUE_UNWIND();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:143
  return(T12);
}

static D KUloopUF61I (D code_) {
  volatile D Uunwind_exceptionUPexit_23_;
  volatile D T2;
  volatile D Uoriginal_handlersUF3;
  volatile D T4;
  volatile D T5;
  volatile D T6;
  volatile D Uunwind_exceptionUPexit_24_;
  volatile D T8;
  volatile D Uoriginal_handlersUF9;
  volatile D T10;
  volatile D T11;
  volatile D T12;
  volatile D T13;
  volatile D T14;
  volatile D T15;
  volatile D T16;
  volatile D T17;
  volatile _KLsimple_object_vectorGVKd_8 T18 = {&KLsimple_object_vectorGVKdW, (D) 33};
  volatile D T19_0;
  volatile D T20;
  volatile D T21;
  volatile _KLsimple_object_vectorGVKd_8 T22 = {&KLsimple_object_vectorGVKdW, (D) 33};
  volatile D T23_0;
  volatile D T24;
  volatile D T25;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  ENTER_EXIT_FRAME(Uunwind_exceptionUPexit_23_);
  if (nlx_setjmp(FRAME_DEST(Uunwind_exceptionUPexit_23_))) {
    T17 = FRAME_RETVAL(Uunwind_exceptionUPexit_23_);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    Uoriginal_handlersUF3 = primitive_read_thread_variable(Tcurrent_handlersTVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    T4 = MAKE_CLOSURE(&KUhandler_functionUF110, 4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    INIT_CLOSURE(T4, 4, CREF(0), code_, Uoriginal_handlersUF3, Uunwind_exceptionUPexit_23_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    T18.vector_element_[0] = &KJtype_;
    T18.vector_element_[1] = &KLsimple_restartGVKd;
    T18.vector_element_[2] = &KJfunction_;
    T18.vector_element_[3] = T4;
    T18.vector_element_[4] = &KJtest_;
    T18.vector_element_[5] = &KPfalseVKi;
    T18.vector_element_[6] = &KJinit_arguments_;
    T18.vector_element_[7] = &K68;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    T19_0 = KLhandlerGZ32ZconstructorVKiMM0I(&KLhandlerGVKi, &T18, &KLsimple_restartGVKd, T4, &KPfalseVKi, &K68);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    T20 = T19_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    T5 = primitive_read_thread_variable(Tcurrent_handlersTVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    T21 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    SLOT_VALUE_SETTER(T20, T21, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    SLOT_VALUE_SETTER(T5, T21, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    primitive_write_thread_variable(Tcurrent_handlersTVKi, T21);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    ENTER_UNWIND_FRAME(T6);
    if (!nlx_setjmp(FRAME_DEST(T6))) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
      ENTER_EXIT_FRAME(Uunwind_exceptionUPexit_24_);
      if (nlx_setjmp(FRAME_DEST(Uunwind_exceptionUPexit_24_))) {
            T16 = FRAME_RETVAL(Uunwind_exceptionUPexit_24_);
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        Uoriginal_handlersUF9 = primitive_read_thread_variable(Tcurrent_handlersTVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        T10 = MAKE_CLOSURE_INITD(&KUhandler_functionUF107, 2, Uoriginal_handlersUF9, Uunwind_exceptionUPexit_24_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        T22.vector_element_[0] = &KJtype_;
        T22.vector_element_[1] = &KLsimple_restartGVKd;
        T22.vector_element_[2] = &KJfunction_;
        T22.vector_element_[3] = T10;
        T22.vector_element_[4] = &KJtest_;
        T22.vector_element_[5] = &KPfalseVKi;
        T22.vector_element_[6] = &KJinit_arguments_;
        T22.vector_element_[7] = &K69;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        T23_0 = KLhandlerGZ32ZconstructorVKiMM0I(&KLhandlerGVKi, &T22, &KLsimple_restartGVKd, T10, &KPfalseVKi, &K69);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        T24 = T23_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        T11 = primitive_read_thread_variable(Tcurrent_handlersTVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        T25 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        SLOT_VALUE_SETTER(T24, T25, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        SLOT_VALUE_SETTER(T11, T25, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        primitive_write_thread_variable(Tcurrent_handlersTVKi, T25);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        ENTER_UNWIND_FRAME(T12);
        if (!nlx_setjmp(FRAME_DEST(T12))) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:155
          CONGRUENT_CALL_PROLOG(&Kmodel_creatorVdfmc_common, 1);
          T13 = CONGRUENT_CALL1(code_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:155
          T14 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF72, 1, code_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:155
          T15 = Kdo_with_dependent_contextVdfmc_namespaceI((D) 37, T13, T14);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
          FALL_THROUGH_UNWIND(T15);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        primitive_write_thread_variable(Tcurrent_handlersTVKi, Uoriginal_handlersUF9);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
        CONTINUE_UNWIND();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
      T16 = T15;
        /* invalidate Uunwind_exceptionUPexit_24_ */
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
      FALL_THROUGH_UNWIND(T16);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    primitive_write_thread_variable(Tcurrent_handlersTVKi, Uoriginal_handlersUF3);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
    CONTINUE_UNWIND();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  T17 = T16;
    /* invalidate Uunwind_exceptionUPexit_23_ */
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  return(T17);
}

D Ktracing_optimizationsQVdfmc_optimizationI (D code_) {
  D T1;
  D T2;
  D T3;
  D Utmp_;
  D T5_0;
  D T6;
  D T7;
  D T8;
  D T9_0;
  D T10_0;
  D T11_0;
  D T12_0;
  D T13_0;
  D T14_0;
  D current_ld_;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D cr_;
  D sr_;
  D lc_;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:125
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
  T1 = Ttrace_optimizing_libraryTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
  if (T1 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
    CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
    current_ld_ = CONGRUENT_CALL0();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
    T20 = primitive_idQ(T1,&KPtrueVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
    if (T20 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
      CONGRUENT_CALL_PROLOG(&Kcurrent_top_level_library_descriptionQVdfmc_common, 1);
      T16 = CONGRUENT_CALL1(current_ld_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
      T21 = T16;
      T23 = T21;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
      T17 = CALL1(&Klanguage_definitionVdfmc_namespaceMM0, current_ld_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
      CONGRUENT_CALL_PROLOG(&Kdebug_nameVKe, 1);
      T18 = CONGRUENT_CALL1(T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
      T19 = KEEVKdI(T1, T18);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
      T22 = T19;
      T23 = T22;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
    T24 = T23;
  } else {
    T24 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
  if (T24 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
    T2 = Ttrace_optimizing_fileTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
    if (T2 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
      cr_ = Kmodel_compilation_recordVdfmc_commonI(code_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
      sr_ = CALL1(&Kcompilation_record_source_recordVdfmc_common, cr_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
      lc_ = CALL1(&Ksource_record_locationVsource_records, sr_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
      T28 = CALL1(&Klocator_baseYlocatorsVsystem, lc_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T29 = CONGRUENT_CALL2(T28, T2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
      T30 = T29;
      T31 = T30;
    } else {
      T31 = &KPtrueVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:128
    T3 = T31;
  } else {
    T3 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:129
    Utmp_ = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:129
    if (Utmp_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:129
      T5_0 = Utmp_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:129
      T32_0 = T5_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T5_0);
        primitive_type_check(T32_0, &KLbooleanGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      T12_0 = T32_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:130
      T6 = Ttrace_optimizing_methodTVdfmc_optimization;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:130
      if (T6 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:131
        T7 = Kdebug_stringVdfmc_optimizationI(code_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:131
        T8 = Ttrace_optimizing_methodTVdfmc_optimization;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:131
        T9_0 = KEEVKdI(T7, T8);
        T11_0 = T9_0;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:130
        T10_0 = &KPfalseVKi;
        T11_0 = T10_0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:130
      T12_0 = T11_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:129
    T14_0 = T12_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
    T13_0 = &KPfalseVKi;
    T14_0 = T13_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:127
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:125
  MV_SET_COUNT(1);
  return(T14_0);
}

static D Kanonymous_of_really_run_compilation_passesF60I (D f_) {
  D T1;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:149
  CALL2(&Klambda_optimizedQ_setterVdfmc_modelingMM0, &KPtrueVKi, f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:149
  T1 = &KPtrueVKi;
  MV_SET_ELT(0, &KPtrueVKi);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:148
  return(T1);
}

static D Kanonymous_of_really_run_compilation_passesF59I (D f_) {
  D T1;
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:232
  CALL2(&Koptimization_queue_setterVdfmc_modelingMM0, &KPfalseVKi, f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:233
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T1 = CONGRUENT_CALL1(f_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:233
  T2 = CALL1(&Kstrip_environmentVdfmc_flow_graphMM0, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:231
  return(T2);
}

D Kdumping_dfmQVdfmc_optimizationI (D code_) {
  D T1;
  D T2;
  D T3;
  D Utmp_;
  D T5_0;
  D T6;
  D T7;
  D T8;
  D T9_0;
  D T10_0;
  D T11_0;
  D T12_0;
  D T13_0;
  D T14_0;
  D current_ld_;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D cr_;
  D sr_;
  D lc_;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:134
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
  T1 = Tdump_dfm_libraryTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
  if (T1 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
    CONGRUENT_CALL_PROLOG(&Kcurrent_library_descriptionVdfmc_common, 0);
    current_ld_ = CONGRUENT_CALL0();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
    T20 = primitive_idQ(T1,&KPtrueVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
    if (T20 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
      CONGRUENT_CALL_PROLOG(&Kcurrent_top_level_library_descriptionQVdfmc_common, 1);
      T16 = CONGRUENT_CALL1(current_ld_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
      T21 = T16;
      T23 = T21;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
      T17 = CALL1(&Klanguage_definitionVdfmc_namespaceMM0, current_ld_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
      CONGRUENT_CALL_PROLOG(&Kdebug_nameVKe, 1);
      T18 = CONGRUENT_CALL1(T17);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
      T19 = KEEVKdI(T1, T18);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
      T22 = T19;
      T23 = T22;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
    T24 = T23;
  } else {
    T24 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
  if (T24 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
    T2 = Tdump_dfm_fileTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
    if (T2 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
      cr_ = Kmodel_compilation_recordVdfmc_commonI(code_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
      sr_ = CALL1(&Kcompilation_record_source_recordVdfmc_common, cr_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
      lc_ = CALL1(&Ksource_record_locationVsource_records, sr_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
      T28 = CALL1(&Klocator_baseYlocatorsVsystem, lc_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T29 = CONGRUENT_CALL2(T28, T2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
      T30 = T29;
      T31 = T30;
    } else {
      T31 = &KPtrueVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:137
    T3 = T31;
  } else {
    T3 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:138
    Utmp_ = Tdump_dfmQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:138
    if (Utmp_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:138
      T5_0 = Utmp_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:138
      T32_0 = T5_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T5_0);
        primitive_type_check(T32_0, &KLbooleanGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      T12_0 = T32_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:139
      T6 = Tdump_dfm_methodTVdfmc_optimization;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:139
      if (T6 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:140
        T7 = Kdebug_stringVdfmc_optimizationI(code_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:140
        T8 = Tdump_dfm_methodTVdfmc_optimization;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:140
        T9_0 = KEEVKdI(T7, T8);
        T11_0 = T9_0;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:139
        T10_0 = &KPfalseVKi;
        T11_0 = T10_0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:139
      T12_0 = T11_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:138
    T14_0 = T12_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
    T13_0 = &KPfalseVKi;
    T14_0 = T13_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:136
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:134
  MV_SET_COUNT(1);
  return(T14_0);
}

D Kdebug_stringVdfmc_optimizationI (D object_) {
  D debug_name_;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:89
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:90
  CONGRUENT_CALL_PROLOG(&Kdebug_nameVKe, 1);
  debug_name_ = CONGRUENT_CALL1(object_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:91
  T8 = primitive_instanceQ(debug_name_,&KLvariable_name_fragmentGVdfmc_reader);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:91
  if (T8 != &KPfalseVKi) {
    T7 = debug_name_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:92
    T9 = SLOT_VALUE(T7, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:92
    T10 = T9;
    MV_SET_ELT(0, T9);
    MV_SET_COUNT(1);
    T6 = T10;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:91
    if (debug_name_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:94
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T3 = CONGRUENT_CALL2(&KLsymbolGVKd, debug_name_);
      T5 = T3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:91
      T4 = &KPfalseVKi;
      MV_SET_ELT(0, &KPfalseVKi);
      MV_SET_COUNT(1);
      T5 = T4;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:91
    T6 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:91
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:89
  return(T6);
}

static D KUhandler_functionUF110I (D r_, D Unext_handlerU_) {
  D T3;
  D all_values_;
  D T5;
  D T6;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  primitive_write_thread_variable(Tcurrent_handlersTVKi, CREF(2));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  get_teb()->function = CREF(0);
  T3 = KUloopUF61I(CREF(1));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  all_values_ = MV_GET_REST_AT(T3, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  T5 = MV_SET_REST_AT(all_values_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  T6 = NLX(CREF(3), T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  return(T6);
}

static D KUhandler_functionUF107I (D r_, D Unext_handlerU_) {
  D T3;
  D all_values_;
  D T5;
  D T6;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  primitive_write_thread_variable(Tcurrent_handlersTVKi, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  T3 = &KPfalseVKi;
  MV_SET_ELT(0, &KPfalseVKi);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  all_values_ = MV_GET_REST_AT(T3, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  T5 = MV_SET_REST_AT(all_values_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  T6 = NLX(CREF(1), T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:152
  return(T6);
}

static D Kanonymous_of_really_run_compilation_passesF72I () {
  D T0;
  D T1;
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  _KLsimple_object_vectorGVKd_1 T8 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T9;
  D T10;
  D T11;
  D T12T, T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17_0;
  D T18_0;
  D T19;
  D T20;
  D T21;
  D T22T, T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27_0;
  D T28_0;
  D T29;
  D T30;
  D T31;
  D T32T, T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37_0;
  D T38_0;
  D T39;
  D T40;
  D T41;
  D T42;
  D somethingQ_;
  D T44;
  D T45;
  D T46;
  D T47T, T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52_0;
  D T53_0;
  D T54;
  D countF55T, countF55;
  _KLsimple_object_vectorGVKd_1 T56 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T57;
  D T58;
  D T59;
  D T60T, T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65_0;
  D T66_0;
  D T67;
  D T68;
  D T69;
  D T70T, T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75_0;
  D T76_0;
  D T77;
  D T78;
  D T79;
  D T80T, T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85_0;
  D T86_0;
  D T87;
  D T88;
  D T89;
  D T90T, T90;
  D T91;
  D T92;
  D T93;
  D T94;
  D T95_0;
  D T96_0;
  D T97;
  D T98;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:155
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:156
  T8.vector_element_[0] = CREF(0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:156
  T9 = Ttrace_optimizationsQTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:156
  if (T9 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:156
    Kformat_outYformat_outVioMM0I(&K89, &T8);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:156
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  T0 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF104, 1, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T10 = CONGRUENT_CALL1(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  T11 = CALL1(&KinnersVdfmc_flow_graphMM0, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  T12T = T11;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
    T12 = T12T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
    T13 = primitive_idQ(T12,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
    if (T13 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      T14 = SLOT_VALUE_INITD(T12, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      T15 = CALL1(&KlambdaVdfmc_flow_graph, T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T0, T15);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      T16 = SLOT_VALUE_INITD(T12, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      T17_0 = T16;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      T18_0 = T17_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T17_0);
        primitive_type_check(T18_0, &KLlistGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      T19 = T18_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
      T12T = T19;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  get_teb()->function = T0;
  Kanonymous_of_really_run_compilation_passesF104I(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:166
  T1 = Tflow_types_through_conditionalsQTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:166
  if (T1 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
    T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF102, 1, CREF(0));
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
    CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
    T20 = CONGRUENT_CALL1(CREF(0));
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
    T21 = CALL1(&KinnersVdfmc_flow_graphMM0, T20);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
    T22T = T21;
  L1: ;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
      T22 = T22T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
      T23 = primitive_idQ(T22,&KPempty_listVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
      if (T23 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        T24 = SLOT_VALUE_INITD(T22, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        T25 = CALL1(&KlambdaVdfmc_flow_graph, T24);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T2, T25);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        T26 = SLOT_VALUE_INITD(T22, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        T27_0 = T26;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        T28_0 = T27_0;
        {
          MV_CHECK_TYPE_PROLOGUE(T27_0);
          primitive_type_check(T28_0, &KLlistGVKd);
          MV_CHECK_TYPE_EPILOGUE();
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        T29 = T28_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
        T22T = T29;
        goto L1;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
    get_teb()->function = T2;
    Kanonymous_of_really_run_compilation_passesF102I(CREF(0));
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:166
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  T3 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF100, 1, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T30 = CONGRUENT_CALL1(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  T31 = CALL1(&KinnersVdfmc_flow_graphMM0, T30);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  T32T = T31;
L2: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
    T32 = T32T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
    T33 = primitive_idQ(T32,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
    if (T33 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      T34 = SLOT_VALUE_INITD(T32, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      T35 = CALL1(&KlambdaVdfmc_flow_graph, T34);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T3, T35);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      T36 = SLOT_VALUE_INITD(T32, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      T37_0 = T36;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      T38_0 = T37_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T37_0);
        primitive_type_check(T38_0, &KLlistGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      T39 = T38_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
      T32T = T39;
      goto L2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  get_teb()->function = T3;
  Kanonymous_of_really_run_compilation_passesF100I(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:194
  countF55T = (D) 1;
L3: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:194
    countF55 = countF55T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:185
    somethingQ_ = MAKE_D_CELL(&KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
    T40 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF98, 2, CREF(0), somethingQ_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
    CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
    T45 = CONGRUENT_CALL1(CREF(0));
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
    T46 = CALL1(&KinnersVdfmc_flow_graphMM0, T45);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
    T47T = T46;
  L4: ;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
      T47 = T47T;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
      T48 = primitive_idQ(T47,&KPempty_listVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
      if (T48 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        T49 = SLOT_VALUE_INITD(T47, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        T50 = CALL1(&KlambdaVdfmc_flow_graph, T49);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T40, T50);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        T51 = SLOT_VALUE_INITD(T47, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        T52_0 = T51;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        T53_0 = T52_0;
        {
          MV_CHECK_TYPE_PROLOGUE(T52_0);
          primitive_type_check(T53_0, &KLlistGVKd);
          MV_CHECK_TYPE_EPILOGUE();
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        T54 = T53_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
        T47T = T54;
        goto L4;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
    get_teb()->function = T40;
    Kanonymous_of_really_run_compilation_passesF98I(CREF(0));
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:192
    T44 = GET_D_CELL_VAL(somethingQ_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:192
    if (T44 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:193
      CONGRUENT_CALL_PROLOG(&KLVKd, 2);
      T41 = CONGRUENT_CALL2(countF55, (D) 201);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:193
      if (T41 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:194
        CONGRUENT_CALL_PROLOG(&KAVKd, 2);
        T42 = CONGRUENT_CALL2(countF55, (D) 5);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:194
        countF55T = T42;
        goto L3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:196
        T56.vector_element_[0] = CREF(0);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:196
        T57 = Ttrace_optimizationsQTVdfmc_optimization;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:196
        if (T57 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:196
          Kformat_outYformat_outVioMM0I(&K90, &T56);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:196
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:193
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:192
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:194
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  T4 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF96, 1, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T58 = CONGRUENT_CALL1(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  T59 = CALL1(&KinnersVdfmc_flow_graphMM0, T58);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  T60T = T59;
L5: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
    T60 = T60T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
    T61 = primitive_idQ(T60,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
    if (T61 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      T62 = SLOT_VALUE_INITD(T60, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      T63 = CALL1(&KlambdaVdfmc_flow_graph, T62);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T4, T63);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      T64 = SLOT_VALUE_INITD(T60, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      T65_0 = T64;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      T66_0 = T65_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T65_0);
        primitive_type_check(T66_0, &KLlistGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      T67 = T66_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
      T60T = T67;
      goto L5;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  get_teb()->function = T4;
  Kanonymous_of_really_run_compilation_passesF96I(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  T5 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF94, 1, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T68 = CONGRUENT_CALL1(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  T69 = CALL1(&KinnersVdfmc_flow_graphMM0, T68);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  T70T = T69;
L6: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
    T70 = T70T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
    T71 = primitive_idQ(T70,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
    if (T71 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      T72 = SLOT_VALUE_INITD(T70, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      T73 = CALL1(&KlambdaVdfmc_flow_graph, T72);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T5, T73);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      T74 = SLOT_VALUE_INITD(T70, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      T75_0 = T74;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      T76_0 = T75_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T75_0);
        primitive_type_check(T76_0, &KLlistGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      T77 = T76_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
      T70T = T77;
      goto L6;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  get_teb()->function = T5;
  Kanonymous_of_really_run_compilation_passesF94I(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  T6 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF93, 1, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T78 = CONGRUENT_CALL1(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  T79 = CALL1(&KinnersVdfmc_flow_graphMM0, T78);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  T80T = T79;
L7: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
    T80 = T80T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
    T81 = primitive_idQ(T80,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
    if (T81 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      T82 = SLOT_VALUE_INITD(T80, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      T83 = CALL1(&KlambdaVdfmc_flow_graph, T82);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T6, T83);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      T84 = SLOT_VALUE_INITD(T80, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      T85_0 = T84;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      T86_0 = T85_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T85_0);
        primitive_type_check(T86_0, &KLlistGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      T87 = T86_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
      T80T = T87;
      goto L7;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  get_teb()->function = T6;
  Kanonymous_of_really_run_compilation_passesF93I(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_really_run_compilation_passesF91, 1, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
  T88 = CONGRUENT_CALL1(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  T89 = CALL1(&KinnersVdfmc_flow_graphMM0, T88);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  T90T = T89;
L8: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
    T90 = T90T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
    T91 = primitive_idQ(T90,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
    if (T91 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      T92 = SLOT_VALUE_INITD(T90, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      T93 = CALL1(&KlambdaVdfmc_flow_graph, T92);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      CALL2(&Kdo_all_lambdasVdfmc_flow_graphMM0, T7, T93);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      T94 = SLOT_VALUE_INITD(T90, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      T95_0 = T94;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      T96_0 = T95_0;
      {
        MV_CHECK_TYPE_PROLOGUE(T95_0);
        primitive_type_check(T96_0, &KLlistGVKd);
        MV_CHECK_TYPE_EPILOGUE();
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      T97 = T96_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
      T90T = T97;
      goto L8;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  get_teb()->function = T7;
  T98 = Kanonymous_of_really_run_compilation_passesF91I(CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:155
  return(T98);
}

static D Kanonymous_of_really_run_compilation_passesF104I (D f_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  _KLsimple_object_vectorGVKd_1 T7 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T8;
  D T9;
  D T10;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:158
  T7.vector_element_[0] = f_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:158
  T8 = Ttrace_optimizationsQTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:158
  if (T8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:158
    Kformat_outYformat_outVioMM0I(&K105, &T7);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:158
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
  T9 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
  if (T9 != &KPfalseVKi) {
    T3 = T9;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
    T2 = CALL1(&Kmaybe_delete_function_bodyVdfmc_flow_graph, f_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
    T10 = primitive_not(T2);
    T3 = T10;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:163
    T4 = CALL1(&Keliminate_assignmentsVdfmc_optimizationMM0, f_);
    T6 = T4;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
    T5 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T6 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:162
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:157
  return(T6);
}

static D Kanonymous_of_really_run_compilation_passesF102I (D f_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  _KLsimple_object_vectorGVKd_1 T7 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T8;
  D T9;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:168
  T7.vector_element_[0] = f_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:168
  T8 = Ttrace_optimizationsQTVdfmc_optimization;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:168
  if (T8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:168
    Kformat_outYformat_outVioMM0I(&K103, &T7);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:168
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:169
  T9 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:169
  if (T9 != &KPfalseVKi) {
    T3 = T9;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:169
    T2 = Klambda_usedQVdfmc_flow_graphMM0I(f_);
    T3 = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:169
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:169
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:170
    T4 = CALL1(&Kmaybe_rename_temporaries_in_conditionalsVdfmc_optimizationMM0, f_);
    T6 = T4;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:169
    T5 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T6 = T5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:169
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:167
  return(T6);
}

static D Kanonymous_of_really_run_compilation_passesF100I (D f_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  _KLsimple_object_vectorGVKd_1 T9 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T10;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:175
  T8 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:175
  if (T8 != &KPfalseVKi) {
    T3 = T8;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:175
    T2 = Klambda_usedQVdfmc_flow_graphMM0I(f_);
    T3 = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:175
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:175
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:176
    T9.vector_element_[0] = f_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:176
    T10 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:176
    if (T10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:176
      Kformat_outYformat_outVioMM0I(&K101, &T9);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:176
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:177
    T4 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:177
    if (T4 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:178
      CONGRUENT_CALL_PROLOG(&Kprint_method_outVdfmc_back_end, 2);
      CONGRUENT_CALL2(CREF(0), &KPempty_vectorVKi);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:177
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:181
    T5 = Krun_optimizationsVdfmc_optimizationMM0I(f_);
    T7 = T5;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:175
    T6 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T7 = T6;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:175
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:174
  return(T7);
}

static D Kanonymous_of_really_run_compilation_passesF98I (D f_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  _KLsimple_object_vectorGVKd_1 T11 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T12;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:187
  T10 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:187
  if (T10 != &KPfalseVKi) {
    T3 = T10;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:187
    T2 = Klambda_usedQVdfmc_flow_graphMM0I(f_);
    T3 = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:187
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:187
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:188
    T11.vector_element_[0] = f_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:188
    T12 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:188
    if (T12 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:188
      Kformat_outYformat_outVioMM0I(&K99, &T11);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:188
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:189
    T9 = GET_D_CELL_VAL(CREF(1));
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:189
    if (T9 != &KPfalseVKi) {
      T5 = T9;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:189
      T4 = Krun_optimizationsVdfmc_optimizationMM0I(f_);
      T5 = T4;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:189
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:189
    SET_D_CELL_VAL(CREF(1), T5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:189
    T6 = T5;
    MV_SET_ELT(0, T5);
    MV_SET_COUNT(1);
    T8 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:187
    T7 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T8 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:187
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:186
  return(T8);
}

static D Kanonymous_of_really_run_compilation_passesF96I (D f_) {
  D T2;
  D Utmp_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T11;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
  T9 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
  if (T9 != &KPfalseVKi) {
    Utmp_ = T9;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
    T2 = Klambda_usedQVdfmc_flow_graphMM0I(f_);
    Utmp_ = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
  if (Utmp_ != &KPfalseVKi) {
    T5 = Utmp_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
    CONGRUENT_CALL_PROLOG(&Klambda_top_levelQVdfmc_modeling, 1);
    T4 = CONGRUENT_CALL1(f_);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:203
    T10.vector_element_[0] = f_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:203
    T11 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:203
    if (T11 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:203
      Kformat_outYformat_outVioMM0I(&K97, &T10);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:203
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:204
    CALL1(&Kshare_common_subexpressionsVdfmc_optimizationMM0, f_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:205
    T6 = CALL1(&Kdelete_useless_environmentsVdfmc_optimizationMM0, f_);
    T8 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
    T7 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T8 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:202
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:201
  return(T8);
}

static D Kanonymous_of_really_run_compilation_passesF94I (D f_) {
  D T2;
  D Utmp_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T11;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
  T9 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
  if (T9 != &KPfalseVKi) {
    Utmp_ = T9;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
    T2 = Klambda_usedQVdfmc_flow_graphMM0I(f_);
    Utmp_ = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
  if (Utmp_ != &KPfalseVKi) {
    T5 = Utmp_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
    CONGRUENT_CALL_PROLOG(&Klambda_top_levelQVdfmc_modeling, 1);
    T4 = CONGRUENT_CALL1(f_);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:210
    T10.vector_element_[0] = f_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:210
    T11 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:210
    if (T11 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:210
      Kformat_outYformat_outVioMM0I(&K95, &T10);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:210
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:211
    CALL1(&Kanalyze_dynamic_extent_forVdfmc_optimization, f_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:212
    CALL1(&Kanalyze_environmentsVdfmc_flow_graphMM0, f_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:213
    CONGRUENT_CALL_PROLOG(&Kcheck_optimized_computationsVdfmc_optimization, 1);
    T6 = CONGRUENT_CALL1(f_);
    T8 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
    T7 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T8 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:209
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:208
  return(T8);
}

static D Kanonymous_of_really_run_compilation_passesF93I (D f_) {
  D T2;
  D Utmp_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  _KLsimple_object_vectorGVKd_1 T11 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T12;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
  T10 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
  if (T10 != &KPfalseVKi) {
    Utmp_ = T10;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
    T2 = Klambda_usedQVdfmc_flow_graphMM0I(f_);
    Utmp_ = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
  if (Utmp_ != &KPfalseVKi) {
    T5 = Utmp_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
    CONGRUENT_CALL_PROLOG(&Klambda_top_levelQVdfmc_modeling, 1);
    T4 = CONGRUENT_CALL1(f_);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:218
    T11.vector_element_[0] = f_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:218
    T12 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:218
    if (T12 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:218
      Kformat_outYformat_outVioMM0I(&K92, &T11);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:218
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:219
    CONGRUENT_CALL_PROLOG(&KenvironmentVdfmc_modeling, 1);
    T6 = CONGRUENT_CALL1(f_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:219
    T7 = CALL1(&Kprune_closureVdfmc_optimizationMM0, T6);
    T9 = T7;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
    T8 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T9 = T8;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:217
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:216
  return(T9);
}

static D Kanonymous_of_really_run_compilation_passesF91I (D f_) {
  D T2;
  D Utmp_;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  _KLsimple_object_vectorGVKd_1 T10 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T11;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
  T9 = primitive_idQ(f_,CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
  if (T9 != &KPfalseVKi) {
    Utmp_ = T9;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
    T2 = Klambda_usedQVdfmc_flow_graphMM0I(f_);
    Utmp_ = T2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
  if (Utmp_ != &KPfalseVKi) {
    T5 = Utmp_;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
    CONGRUENT_CALL_PROLOG(&Klambda_top_levelQVdfmc_modeling, 1);
    T4 = CONGRUENT_CALL1(f_);
    T5 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:224
    T10.vector_element_[0] = f_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:224
    T11 = Ttrace_optimizationsQTVdfmc_optimization;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:224
    if (T11 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:224
      Kformat_outYformat_outVioMM0I(&K92, &T10);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:224
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:225
    CONGRUENT_CALL_PROLOG(&Kconstant_fold_closureVdfmc_optimization, 1);
    T6 = CONGRUENT_CALL1(f_);
    T8 = T6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
    T7 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T8 = T7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:223
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:222
  return(T8);
}


/* SYSTEM INIT CODE */

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

/* USER INIT CODE */

void _Init_dfmc_optimization__X_optimize_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/optimization/optimize.dylan:309
  T0 = KPadd_a_methodVKnI(&Kre_optimize_type_estimateVdfmc_flow_graph, &Kre_optimize_type_estimateVdfmc_flow_graphMdfmc_optimizationM0, &Kdfmc_optimization_libraryYdylan_userVdfmc_optimization, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I2;
}
I2:

  return;
}


/* eof */
