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

#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(9);
define__KLsimple_object_vectorGVKd(34);
define__KLsimple_object_vectorGVKd(17);
define__KLsimple_object_vectorGVKd(20);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(11);
define__KLsimple_object_vectorGVKd(10);
define__KLsimple_object_vectorGVKd(5);
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(33);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(6);

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 instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLfunction_classGVKi;

typedef struct {
  D wrapper;
  D macro_word_class_;
  D macro_expander_function_;
  D macro_referenced_names_;
  D macro_suffix_;
} _KLsuffixed_macro_descriptorGVdfmc_macro_expander;

typedef struct {
  D wrapper;
  D macro_word_class_;
  D macro_expander_function_;
  D macro_referenced_names_;
} _KLsimple_macro_descriptorGVdfmc_macro_expander;

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

typedef struct {
  D wrapper;
  D private_option_debug_name_;
  D private_option_symbol_;
  D private_option_constraint_;
  D private_option_excludes_thunk_;
} _KLoptionGVdfmc_definitions;

typedef struct {
  D wrapper;
  D private_property_value_syntax_;
  D private_property_value_value_;
} _KLproperty_valueGVdfmc_definitions;

typedef struct {
  D wrapper;
  D private_property_values_;
  D private_property_default_;
  D private_property_keyword_;
} _KLpropertyGVdfmc_definitions;

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

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

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

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

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

typedef struct {
  D wrapper;
  D emitted_name_;
  D private_model_definition_;
  D private_model_creator_;
  D PinstanceQ_iep_;
  D CinstanceQ_function_;
  D private_Cdebug_name_;
  D Cclass_implementation_class_;
  D Cclass_subtype_bit_;
  D Pclass_module_;
  D Calignment_of_;
  D Csize_of_;
  D private_Creferenced_type_;
  D private_Cconcrete_pointer_type_;
  D private_Cabstract_pointer_type_;
  D private_Cmapped_import_type_;
  D private_Cmapped_export_type_;
  D private_Clow_level_type_;
  D private_Craw_type_info_;
  D private_Craw_dereferencer_name_;
  D private_Cbitfield_dereferencer_name_;
  D private_Cboxer_function_name_;
  D private_Cimport_function_;
  D private_Cexport_function_;
  D private_Cunboxer_function_name_;
  D private_Coptions_;
  D private_struct_fields_;
  D proxyQ_;
  D private_pointer_type_name_;
  D private_concrete_class_name_;
  D private_raw_struct_name_;
  D private_Cconcrete_class_;
} _KLBdesignator_classGVdfmc_c_ffi;

typedef struct {
  D wrapper;
} _KLstringGVKd;

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
  D condition_c_name_expression_;
} _KLinvalid_c_name_valueGVdfmc_c_ffi;

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
} _KLconflicting_c_name_and_indirect_optionsGVdfmc_c_ffi;

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
} _KLno_c_name_or_indirect_optionGVdfmc_c_ffi;

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

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
  D condition_modifiers_expression_;
} _KLinvalid_c_modifiers_valueGVdfmc_c_ffi;

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

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

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

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_designator_name_;
  D condition_parameter_name_;
} _KLinput_output_parameter_not_a_pointerGVdfmc_c_ffi;

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

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

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_designator_name_;
  D condition_parameter_name_;
} _KLoutput_parameter_not_a_pointerGVdfmc_c_ffi;

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

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

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

typedef struct {
  D wrapper;
  D fragment_record_;
  D fragment_source_position_;
} _KLfragmentGVdfmc_reader;

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

typedef struct {
  D wrapper;
} _KLsequenceGVKd;

#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_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
  D condition_indirect_expression_;
} _KLinvalid_c_function_indirect_valueGVdfmc_c_ffi;

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
  D condition_gf_method_expression_;
} _KLinvalid_c_function_gf_method_valueGVdfmc_c_ffi;

typedef struct {
  D wrapper;
  D template_fragments_;
} _KLtemplateGVdfmc_reader;

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

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
} _KLmultiple_return_clausesGVdfmc_c_ffi;

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

#define  define__KLkeyword_closure_methodGVKe(nrepeated) \
  typedef struct { \
    D wrapper; \
    D xep_; \
    D function_signature_; \
    D mep_; \
    D iep_; \
    D keyword_specifiers_; \
    D environment_size_; \
    D environment_element_[nrepeated+1]; \
  } _KLkeyword_closure_methodGVKe_##nrepeated;
define__KLkeyword_closure_methodGVKe(0);

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

typedef struct {
  D wrapper;
} _KLstretchy_vectorGVKd;

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
} _KLunrecognized_clauseGVdfmc_c_ffi;

typedef struct {
  D wrapper;
  D condition_format_string_;
  D condition_format_arguments_;
  D condition_source_location_;
  D condition_program_note_creator_;
  D condition_compilation_stage_;
  D condition_context_id_;
  D subnotes_;
  D condition_definition_name_;
  D condition_export_expression_;
} _KLinvalid_c_callable_wrapper_export_valueGVdfmc_c_ffi;

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

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

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

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


/* Typedefs for defined classes */

typedef struct {
  D wrapper;
  D name_;
  D designator_name_;
  D model_type_;
  D voidQ_;
} _KLc_ffi_result_descriptorGVdfmc_c_ffi;

typedef struct {
  D wrapper;
  D name_;
  D designator_name_;
  D model_type_;
  D call_discipline_;
} _KLc_ffi_argument_descriptorGVdfmc_c_ffi;


/* Referenced object declarations */

D KPadd_classVKeI (D);
D KPadd_a_methodVKnI (D, D, D, D, D, D);
extern _KLsealed_generic_functionGVKe Kname_setterVdfmc_common;
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_c_ffi_libraryYdylan_userVdfmc_c_ffi;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLsealed_generic_functionGVKe KnameVdfmc_common;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLsuffixed_macro_descriptorGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsuffixed_macro_descriptorGVdfmc_macro_expanderW;
D Kdo_define_core_macroVdfmc_definitionsMM0I (D, D, D, D, D);
extern _KLclassGVKd KLsimple_macro_descriptorGVdfmc_macro_expander;
extern _KLmm_wrapperGVKi_0 KLsimple_macro_descriptorGVdfmc_macro_expanderW;
extern _KLsymbolGVKd KJdebug_name_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLoptionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLoptionGVdfmc_definitionsW;
D KlistVKdI (D);
extern _KLsymbolGVKd KJinput_;
extern _KLsymbolGVKd KJvalue_;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLproperty_valueGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLproperty_valueGVdfmc_definitionsW;
extern _KLsymbolGVKd KJvalues_;
extern _KLsymbolGVKd KJdefault_;
extern _KLclassGVKd KLpropertyGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLpropertyGVdfmc_definitionsW;
extern _KLsymbolGVKd KJoutput_;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
D Kmake_templateVdfmc_macro_expanderI (D);
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLsealed_generic_functionGVKe Kcall_as_fragment_tokensVdfmc_macro_expander;
D Kmatch_parensVdfmc_macro_expanderI (D);
D Kmatch_list_partVdfmc_macro_expanderI (D);
D Kmatch_variableVdfmc_macro_expanderI (D);
D Kmatch_name_constraintVdfmc_macro_expanderI (D);
D Kmatch_expression_constraintVdfmc_macro_expanderI (D);
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLsymbolGVKd KJsize_;
D Kmatch_property_listVdfmc_macro_expanderI (D, D, D);
extern _KLincremental_generic_functionGVKe KemptyQVKd;
D Kmatch_bounded_body_constraintVdfmc_macro_expanderI (D, D);
D Kdylan_variable_nameVdfmc_readerI (D);
D Kmacro_main_rule_match_errorVdfmc_macro_expanderI (D, D);
extern _KLsealed_generic_functionGVKe Kexport_fragment_tokensVdfmc_macro_expander;
extern _KLsimple_methodGVKe Kmake_variable_name_likeVdfmc_readerMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsymbolGVKd KJname_;
D Kmake_name_fragmentVdfmc_macro_expanderI (D);
D Kmake_equal_fragmentVdfmc_macro_expanderI ();
D Kmake_literal_fragmentVdfmc_macro_expanderMM4I (D);
D Kmake_semicolon_fragmentVdfmc_macro_expanderI ();
D Kmake_parens_fragmentVdfmc_macro_expanderI (D);
D Kmake_binary_operator_fragmentVdfmc_macro_expanderI (D);
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
D Kmake_comma_fragmentVdfmc_macro_expanderI ();
D Kmake_literal_fragmentVdfmc_macro_expanderMM3I (D);
D Kmake_colon_colon_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Kmaybe_substitute_separatorVdfmc_macro_expander;
extern _KLsymbolGVKd KJend_;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
D Kmatch_list_part_strictVdfmc_macro_expanderI (D);
D Kmatch_nameVdfmc_macro_expanderI (D, D);
extern _KLsealed_generic_functionGVKe Kas_fragment_tokensVdfmc_macro_expander;
D Kmacro_aux_rule_match_errorVdfmc_macro_expanderI (D, D, D);
D KapplyVKdI (D, D);
D KgensymVdfmc_c_ffiMM0I (D);
D KCtop_level_eval_typeVdfmc_conversionMM0I (D, D, D);
extern _KLclassGVKd KLBdesignator_classGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLBdesignator_classGVdfmc_c_ffiW;
extern _KLsimple_methodGVKe Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLsealed_generic_functionGVKe Kget_propertyYplistsVcollections;
extern _KLsealed_generic_functionGVKe KBtop_level_evalVdfmc_conversion;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLsealed_generic_functionGVKe Kfragment_source_locationVdfmc_reader;
extern _KLincremental_generic_functionGVKe KnoteVdfmc_conditions;
extern _KLclassGVKd KLinvalid_c_name_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_name_valueGVdfmc_c_ffiW;
extern _KLclassGVKd KLconflicting_c_name_and_indirect_optionsGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLconflicting_c_name_and_indirect_optionsGVdfmc_c_ffiW;
extern _KLclassGVKd KLno_c_name_or_indirect_optionGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLno_c_name_or_indirect_optionGVdfmc_c_ffiW;
extern _KLsimple_methodGVKe KCboxer_function_nameVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCmapped_import_typeVdfmc_c_ffiMM0;
extern _KLsealed_generic_functionGVKe KCraw_type_nameVdfmc_c_ffi;
extern _KLsimple_methodGVKe KClow_level_typeVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCimport_functionVdfmc_c_ffiMM0;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLclassGVKd KLinvalid_c_modifiers_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_modifiers_valueGVdfmc_c_ffiW;
extern _KLbyte_stringGVKd_0 KPempty_stringVKi;
extern _KLsealed_generic_functionGVKe Ksubstitute_sequence_separatedVdfmc_macro_expander;
D Kmake_equal_greater_fragmentVdfmc_macro_expanderI ();
extern _KLincremental_generic_functionGVKe KsizeVKd;
D Ksubstitute_sequenceVdfmc_macro_expanderMM0I (D);
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLincremental_generic_functionGVKe KelementVKd;
D Kmatch_literalVdfmc_macro_expanderI (D, D);
D Kexport_fragment_tokensVdfmc_macro_expanderMM0I (D);
D KLstretchy_object_vectorGZ32ZconstructorVKiMM0I (D, D);
extern _KLclassGVKd KLstretchy_object_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLstretchy_object_vectorGVKeW;
D KaddXVKdMM3I (D, D);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLpairGVKd;
D KCreferenced_typeVdfmc_c_ffiMM0I (D);
extern _KLclassGVKd KLinput_output_parameter_not_a_pointerGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinput_output_parameter_not_a_pointerGVdfmc_c_ffiW;
extern _KLsimple_methodGVKe KCmapped_export_typeVdfmc_c_ffiMM0;
D KCunboxer_function_nameVdfmc_c_ffiMM0I (D);
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLclassGVKd KLoutput_parameter_not_a_pointerGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLoutput_parameter_not_a_pointerGVdfmc_c_ffiW;
D KCmapped_export_typeVdfmc_c_ffiMM0I (D);
D KCexport_functionVdfmc_c_ffiMM0I (D);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLclassGVKd KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
extern _KLclassGVKd KLvariable_name_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_fragmentGVdfmc_readerW;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLsealed_generic_functionGVKe Kfragment_valueVdfmc_reader;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
D Kmatch_end_of_modifiersVdfmc_macro_expanderI (D);
extern _KLsealed_generic_functionGVKe Kfragment_macroVdfmc_reader;
extern _KLsymbolGVKd KJconstant_;
extern _KLclassGVKd KLinvalid_c_function_indirect_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_function_indirect_valueGVdfmc_c_ffiW;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLclassGVKd KLinvalid_c_function_gf_method_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_function_gf_method_valueGVdfmc_c_ffiW;
extern _KLclassGVKd KLtemplateGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLtemplateGVdfmc_readerW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLmultiple_return_clausesGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmultiple_return_clausesGVdfmc_c_ffiW;
extern _KLsimple_methodGVKe Kparse_property_adjectivesVdfmc_definitionsMM0;
D Kparse_optionsVdfmc_definitionsMM0I (D, D, D);
D Kget_propertyYplistsVcollectionsMM1I (D, D, D, D);
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLfunction_classGVKi KLkeyword_closure_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_closure_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLincremental_generic_functionGVKe KaddXVKd;
extern _KLclassGVKd KLstretchy_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLstretchy_vectorGVKdW;
D Kmatch_symbol_constraintVdfmc_macro_expanderI (D);
extern _KLclassGVKd KLunrecognized_clauseGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLunrecognized_clauseGVdfmc_c_ffiW;
extern _KLincremental_generic_functionGVKe KconcatenateXYcommon_extensionsVcommon_dylan;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LlistG_typesVKi;
D Kmatch_body_partVdfmc_macro_expanderI (D);
extern _KLsealed_generic_functionGVKe KdoVKd;
extern _KLsimple_methodGVKe KCunboxer_function_nameVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCexport_functionVdfmc_c_ffiMM0;
D Kmake_literal_fragmentVdfmc_macro_expanderMM1I (D);
extern _KLclassGVKd KLinvalid_c_callable_wrapper_export_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_callable_wrapper_export_valueGVdfmc_c_ffiW;
D Kmake_hash_lbracket_fragmentVdfmc_macro_expanderI ();
D Kmake_rbracket_fragmentVdfmc_macro_expanderI ();
extern _KLsimple_methodGVKe KCreferenced_typeVdfmc_c_ffiMM0;
D Kmake_unary_operator_fragmentVdfmc_macro_expanderI (D);
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
D Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI (D);
D Kmake_hash_rest_fragmentVdfmc_macro_expanderI ();
extern _KLsymbolGVKd KJfunction_;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
D Kclass_instanceQ_initialVKiI (D, D);
extern _KLmoduleGVKe Kdfmc_c_ffi_moduleYdylan_userVdfmc_c_ffi;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;

/* Defined object declarations */

extern _KLclassGVKd KLc_ffi_result_descriptorGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLc_ffi_result_descriptorGVdfmc_c_ffiW;
extern _KLsetter_methodGVKi Kname_setterVdfmc_commonMdfmc_c_ffiM0;
extern _KLgetter_methodGVKi KnameVdfmc_commonMdfmc_c_ffiM0;
extern _KLclassGVKd KLc_ffi_argument_descriptorGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLc_ffi_argument_descriptorGVdfmc_c_ffiW;
extern _KLsetter_methodGVKi Kname_setterVdfmc_commonMdfmc_c_ffiM1;
extern _KLgetter_methodGVKi KnameVdfmc_commonMdfmc_c_ffiM1;
static _KLsymbolGVKd KJword_class_;
static _KLsymbolGVKd KJsuffix_;
static _KLbyte_stringGVKd_8 K17;
static _KLsymbolGVKd KJexpander_function_;
extern _KLsimple_methodGVKe Kc_function_definer_expanderVdfmc_c_ffiMM0;
D Kc_function_definer_expanderVdfmc_c_ffiMM0I (D, D);
static _KLsymbolGVKd KJc_function_definer_;
extern _KLsimple_methodGVKe Kmake_c_callable_expanderVdfmc_c_ffiMM0;
D Kmake_c_callable_expanderVdfmc_c_ffiMM0I (D, D);
static _KLsymbolGVKd KJmake_c_callable_;
extern _KLsimple_methodGVKe Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0;
D Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0I (D, D);
static _KLsymbolGVKd KJc_callable_wrapper_definer_;
static _KLsymbolGVKd KJLc_parameter_c_name_optionG_;
static _KLsymbolGVKd KJsymbol_;
static _KLsymbolGVKd KJc_name_;
static _KLsymbolGVKd KJconstraint_;
static _KLsymbolGVKd KJexpression_;
static _KLsymbolGVKd KJexcludes_thunk_;
static _KLsimple_closure_methodGVKi_0 K209;
static D K209I ();
static _KLsymbolGVKd KJsyntax_;
static _KLsymbolGVKd KJkeyword_;
static _KLsymbolGVKd KJinput_adjectiveQ_;
static _KLsymbolGVKd KJoutput_adjectiveQ_;
extern _KLsimple_methodGVKe Kc_function_body_expanderVdfmc_c_ffiMM0;
D Kc_function_body_expanderVdfmc_c_ffiMM0I (D, D);
static _KLsymbolGVKd KJc_function_body_;
extern _KLsimple_methodGVKe Kwith_stack_block_expanderVdfmc_c_ffiMM0;
D Kwith_stack_block_expanderVdfmc_c_ffiMM0I (D, D);
static _KLsymbolGVKd KJwith_stack_block_;
D Kc_ffi_default_inline_policyVdfmc_c_ffiI ();
static _KLbyte_stringGVKd_16 K56;
static _KLsymbolGVKd KJdestroy_;
static _KLsymbolGVKd KJrecord_;
static _KLsymbolGVKd KJsource_position_;
static _KLsymbolGVKd KJbegin_;
static _KLsymbolGVKd KJlet_;
static _KLsymbolGVKd KJtemp_;
static _KLsymbolGVKd KJblock_;
static _KLsymbolGVKd KJZ58ZE_;
static _KLsymbolGVKd KJmake_;
static _KLsymbolGVKd KJcleanup_;
static _KLsymbolGVKd KJif_;
static _KLbyte_stringGVKd_2 K68;
static _KLbyte_stringGVKd_7 K69;
static _KLbyte_stringGVKd_4 K70;
static _KLbyte_stringGVKd_2 K71;
static _KLbyte_stringGVKd_5 K72;
static _KLbyte_stringGVKd_4 K73;
static _KLbyte_stringGVKd_3 K74;
static _KLbyte_stringGVKd_5 K75;
static _KLbyte_stringGVKd_15 K76;
static _KLbyte_stringGVKd_6 K77;
static _KLbyte_stringGVKd_7 K78;
static _KLbyte_stringGVKd_15 K79;
static _KLsymbolGVKd KJoptions_;
static D Kkey_options_rewriterF201I (D);
static _KLsymbolGVKd KJresult_;
static _KLsymbolGVKd KJvoid_;
static _KLsymbolGVKd KJresult_spec_;
static _KLsymbolGVKd KJdesignator_name_;
static _KLsymbolGVKd KJvoidQ_;
static D Kargs_rewriterF190I (D);
extern _KLsimple_methodGVKe Kexpand_c_function_bodyVdfmc_c_ffiMM0;
D Kexpand_c_function_bodyVdfmc_c_ffiMM0I (D, D, D, D, D);
static _KLsymbolGVKd KJc_function_result_;
extern _KLsealed_generic_functionGVKe Kdesignator_nameVdfmc_c_ffi;
extern _KLsealed_generic_functionGVKe Kmodel_type_setterVdfmc_c_ffi;
extern _KLsealed_generic_functionGVKe Kmodel_typeVdfmc_c_ffi;
static _KLsymbolGVKd KJc_function_parameter_;
static _KLsymbolGVKd KJLc_voidTG_;
D Kc_function_parse_input_output_parametersVdfmc_c_ffiMM0I (D, D);
static _KLsymbolGVKd KJsource_location_;
static _KLsymbolGVKd KJdefinition_name_;
static _KLsymbolGVKd KJc_name_expression_;
static _KLsymbolGVKd KJindirect_;
D Kparse_boolean_fragmentVdfmc_c_ffiI (D, D, D);
static _KLsymbolGVKd KJerror_;
static _KLbyte_stringGVKd_12 K103;
static _KLsymbolGVKd KJtmp_;
static _KLsymbolGVKd KJLraw_c_voidG_;
static _KLsymbolGVKd KJidentity_;
static _KLsymbolGVKd KJc_modifiers_;
static _KLsymbolGVKd KJmodifiers_expression_;
static _KLsymbolGVKd KJPcall_c_function_indirect_;
static _KLsymbolGVKd KJPcall_c_function_;
static _KLsymbolGVKd KJboxer_for_designator_;
static _KLbyte_stringGVKd_20 K112;
static _KLbyte_stringGVKd_16 K113;
static _KLbyte_stringGVKd_25 K114;
static _KLbyte_stringGVKd_20 K115;
static _KLbyte_stringGVKd_11 K116;
static _KLbyte_stringGVKd_8 K117;
static _KLbyte_stringGVKd_12 K118;
static _KLbyte_stringGVKd_3 K119;
static _KLbyte_stringGVKd_5 K120;
static _KLbyte_stringGVKd_8 K121;
static _KLbyte_stringGVKd_17 K122;
static _KLbyte_stringGVKd_15 K123;
static _KLbyte_stringGVKd_15 K124;
extern _KLsealed_generic_functionGVKe Kdesignator_name_setterVdfmc_c_ffi;
extern _KLsealed_generic_functionGVKe Kcall_disciplineVdfmc_c_ffi;
extern _KLsealed_generic_functionGVKe Kc_function_parse_parameter_specVdfmc_c_ffi;
extern _KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM0;
D Kc_function_parse_parameter_specVdfmc_c_ffiMM0I (D, D, D);
extern _KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM1;
D Kc_function_parse_parameter_specVdfmc_c_ffiMM1I (D, D, D);
extern _KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM2;
D Kc_function_parse_parameter_specVdfmc_c_ffiMM2I (D, D, D);
static _KLpairGVKd K134;
static _KLpairGVKd K135;
static _KLpairGVKd K136;
static _KLbyte_stringGVKd_31 K137;
static _KLsymbolGVKd KJparameter_name_;
static _KLbyte_stringGVKd_9 K139;
static _KLsymbolGVKd KJsize_of_;
static _KLsymbolGVKd KJpointer_value_;
static _KLbyte_stringGVKd_13 K142;
static _KLbyte_stringGVKd_7 K143;
static _KLbyte_stringGVKd_14 K144;
static _KLsignatureGVKe K145;
static _KLsimple_object_vectorGVKd_3 K146;
static _KLsingletonGVKd K147;
static _KLsymbolGVKd KJin_out_;
static _KLbyte_stringGVKd_6 K149;
static _KLsignatureGVKe K150;
static _KLsimple_object_vectorGVKd_3 K151;
static _KLsingletonGVKd K152;
static _KLsignatureGVKe K153;
static _KLsimple_object_vectorGVKd_3 K154;
static _KLsingletonGVKd K155;
extern _KLgetter_methodGVKi Kcall_disciplineVdfmc_c_ffiMM0;
static _KLpairGVKd K157;
static _KLbyte_stringGVKd_15 K158;
extern _KLinstance_slot_descriptorGVKe Kcall_disciplineVdfmc_c_ffiHLc_ffi_argument_descriptorG;
static _KLsymbolGVKd KJcall_discipline_;
extern _KLsetter_methodGVKi Kdesignator_name_setterVdfmc_c_ffiMM0;
extern _KLsetter_methodGVKi Kdesignator_name_setterVdfmc_c_ffiMM1;
static _KLpairGVKd K163;
static _KLpairGVKd K164;
static _KLbyte_stringGVKd_22 K165;
extern _KLinstance_slot_descriptorGVKe Kdesignator_nameVdfmc_c_ffiHLc_ffi_argument_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kdesignator_nameVdfmc_c_ffiHLc_ffi_result_descriptorG;
static _KLbyte_stringGVKd_9 K168;
static _KLbyte_stringGVKd_20 K169;
extern _KLgetter_methodGVKi Kmodel_typeVdfmc_c_ffiMM0;
extern _KLgetter_methodGVKi Kmodel_typeVdfmc_c_ffiMM1;
static _KLpairGVKd K172;
static _KLpairGVKd K173;
static _KLbyte_stringGVKd_10 K174;
extern _KLinstance_slot_descriptorGVKe Kmodel_typeVdfmc_c_ffiHLc_ffi_argument_descriptorG;
extern _KLinstance_slot_descriptorGVKe Kmodel_typeVdfmc_c_ffiHLc_ffi_result_descriptorG;
extern _KLsetter_methodGVKi Kmodel_type_setterVdfmc_c_ffiMM0;
extern _KLsetter_methodGVKi Kmodel_type_setterVdfmc_c_ffiMM1;
static _KLpairGVKd K179;
static _KLpairGVKd K180;
static _KLbyte_stringGVKd_17 K181;
extern _KLgetter_methodGVKi Kdesignator_nameVdfmc_c_ffiMM0;
extern _KLgetter_methodGVKi Kdesignator_nameVdfmc_c_ffiMM1;
static _KLpairGVKd K184;
static _KLpairGVKd K185;
static _KLbyte_stringGVKd_15 K186;
static _KLbyte_stringGVKd_17 K187;
static _KLsignatureGVKe K188;
static _KLsimple_object_vectorGVKd_5 K189;
static _KLsymbolGVKd KJargs_;
static _KLsymbolGVKd KJparameter_;
static _KLsymbolGVKd KJarg_;
static _KLbyte_stringGVKd_3 K194;
static _KLbyte_stringGVKd_9 K195;
static _KLbyte_stringGVKd_4 K196;
static _KLbyte_stringGVKd_5 K197;
static _KLbyte_stringGVKd_11 K198;
static _KLbyte_stringGVKd_4 K199;
static _KLbyte_stringGVKd_6 K200;
static _KLsymbolGVKd KJkey_options_;
static _KLbyte_stringGVKd_11 K203;
static _KLbyte_stringGVKd_7 K204;
static _KLbyte_stringGVKd_17 K205;
static _KLbyte_stringGVKd_16 K206;
static _KLbyte_stringGVKd_7 K207;
static _KLbyte_stringGVKd_6 K208;
static _KLsignatureGVKe K210;
static _KLbyte_stringGVKd_14 K211;
static _KLbyte_stringGVKd_10 K212;
static _KLbyte_stringGVKd_10 K213;
static _KLbyte_stringGVKd_6 K214;
static _KLbyte_stringGVKd_6 K215;
static _KLbyte_stringGVKd_27 K216;
static _KLbyte_stringGVKd_26 K217;
static _KLsymbolGVKd KJof_;
static D Kspec_rewriterF280I (D);
static _KLbyte_stringGVKd_9 K220;
extern _KLsimple_methodGVKe Kparse_c_function_specVdfmc_c_ffiMM0;
D Kparse_c_function_specVdfmc_c_ffiMM0I (D, D);
D Kgenerate_c_callable_bodyVdfmc_c_ffiMM0I (D, D, D, D, D, D);
static _KLbyte_stringGVKd_18 K224;
static _KLsymbolGVKd KJdefine_;
static _KLbyte_stringGVKd_6 K226;
extern _KLsimple_methodGVKe Kparse_early_optionsVdfmc_c_ffiMM0;
D Kparse_early_optionsVdfmc_c_ffiMM0I (D, D, D, D);
static _KLsymbolGVKd KJdylan_function_;
static _KLbyte_stringGVKd_14 K230;
static _KLsymbolGVKd KJimport_type_for_;
static D Kanonymous_of_parse_early_optionsF254I (D, D);
static _KLsymbolGVKd KJindirect_expression_;
static _KLbyte_stringGVKd_20 K234;
static _KLsymbolGVKd KJLc_function_pointerG_;
static D Kanonymous_of_parse_early_optionsF251I (D, D);
static D Kanonymous_of_parse_early_optionsF250I (D, D);
static D Kanonymous_of_parse_early_optionsF249I (D, D);
static _KLsymbolGVKd KJexport_type_for_;
static _KLsymbolGVKd KJimport_type_for_reference_;
static _KLsymbolGVKd KJexport_type_for_reference_;
static _KLsymbolGVKd KJgeneric_function_method_;
static _KLsymbolGVKd KJgf_method_expression_;
static _KLbyte_stringGVKd_20 K244;
static _KLbyte_stringGVKd_23 K245;
static _KLbyte_stringGVKd_25 K246;
static _KLbyte_stringGVKd_25 K247;
static _KLbyte_stringGVKd_15 K248;
static _KLbyte_stringGVKd_20 K252;
static _KLbyte_stringGVKd_19 K253;
static _KLbyte_stringGVKd_15 K255;
static _KLsignatureAvaluesGVKi K256;
static _KLsimple_object_vectorGVKd_4 K257;
static _KLsimple_object_vectorGVKd_6 K258;
static D KUwildcard_loopUF275I (D, D);
static D Kfunction_options_rewriterF273I (D, D);
extern _KLsimple_methodGVKe Kparse_optionsXVdfmc_c_ffiMM0;
D Kparse_optionsXVdfmc_c_ffiMM0I (D, D);
static _KLkeyword_closure_methodGVKe_0 Kprocess_parameter_adjectivesF267;
static D Kprocess_parameter_adjectivesF267I (D, D, D);
static _KLunionGVKe K265;
static _KLsingletonGVKd K266;
static _KLkeyword_signatureGVKe K268;
static _KLsimple_object_vectorGVKd_4 K269;
static _KLsimple_object_vectorGVKd_2 K270;
static _KLsignatureGVKe K271;
static _KLsimple_object_vectorGVKd_2 K272;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF275;
static _KLsignatureGVKe K276;
static _KLsignatureAvaluesGVKi K277;
static _KLsimple_object_vectorGVKd_2 K278;
static _KLsimple_object_vectorGVKd_4 K279;
static _KLbyte_stringGVKd_2 K281;
static _KLbyte_stringGVKd_15 K282;
static D KUwildcard_loopUF348I (D, D);
static D Kkey_options_rewriterF346I (D);
static D Kargs_rewriterF345I (D);
D Kexpand_make_c_callableVdfmc_c_ffiMM0I (D, D, D, D, D, D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_expand_make_c_callableF344;
static D Kanonymous_of_expand_make_c_callableF344I (D);
extern _KLsealed_generic_functionGVKe KvoidQVdfmc_c_ffi;
static _KLsymbolGVKd KJc_callable_result_;
extern _KLsimple_methodGVKe Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0;
D Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0I (D);
static _KLsymbolGVKd KJinteger_as_raw_;
static _KLsymbolGVKd KJLraw_c_unsigned_longG_;
D Kcallable_output_parameter_handlingVdfmc_c_ffiMM0I (D, D);
D Kcallable_box_input_parametersVdfmc_c_ffiMM0I (D);
static _KLsymbolGVKd KJexport_;
static _KLsymbolGVKd KJon_failure_;
static _KLsymbolGVKd KJfailed_;
static _KLsymbolGVKd KJexport_expression_;
static _KLsymbolGVKd KJother_name_;
static _KLsymbolGVKd KJmake_c_pointer_;
static _KLsymbolGVKd KJLc_function_pointer_instantiationG_;
static _KLsymbolGVKd KJprimitive_cast_pointer_as_raw_;
static _KLsymbolGVKd KJPc_callable_function_;
static _KLsymbolGVKd KJraw_;
static _KLbyte_stringGVKd_3 K307;
static _KLbyte_stringGVKd_20 K308;
static _KLbyte_stringGVKd_29 K309;
static _KLbyte_stringGVKd_34 K310;
static _KLbyte_stringGVKd_14 K311;
static _KLbyte_stringGVKd_10 K312;
static _KLbyte_stringGVKd_17 K313;
static _KLbyte_stringGVKd_6 K314;
static _KLbyte_stringGVKd_10 K315;
static _KLbyte_stringGVKd_6 K316;
static _KLsymbolGVKd KJLc_raw_intTG_;
static _KLsymbolGVKd KJptr_;
static _KLsymbolGVKd KJnullQ_;
static _KLsymbolGVKd KJprimitive_machine_word_equalQ_;
static _KLsymbolGVKd KJprimitive_unwrap_c_pointer_;
static _KLsymbolGVKd KJelse_;
static _KLbyte_stringGVKd_4 K323;
static _KLbyte_stringGVKd_26 K324;
static _KLbyte_stringGVKd_29 K325;
static _KLbyte_stringGVKd_5 K326;
static _KLbyte_stringGVKd_3 K327;
static _KLbyte_stringGVKd_12 K328;
static _KLbyte_stringGVKd_15 K329;
static _KLbyte_stringGVKd_13 K330;
static _KLsymbolGVKd KJN_;
D Ktemplate_sequence_to_templateVdfmc_c_ffiMM0I (D);
static _KLbyte_stringGVKd_1 K333;
static _KLbyte_stringGVKd_21 K334;
static _KLbyte_stringGVKd_14 K335;
static _KLsymbolGVKd KJc_callable_parameter_;
static _KLbyte_stringGVKd_20 K337;
static _KLsignatureAvaluesGVKi K338;
static _KLsimple_object_vectorGVKd_3 K339;
static _KLbyte_stringGVKd_17 K340;
extern _KLgetter_methodGVKi KvoidQVdfmc_c_ffiMM0;
static _KLpairGVKd K342;
extern _KLinstance_slot_descriptorGVKe KvoidQVdfmc_c_ffiHLc_ffi_result_descriptorG;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF348;
static _KLbyte_stringGVKd_18 K349;
static D KUwildcard_loopUF368I (D, D);
static D Kspec_rewriterF364I (D);
static _KLsymbolGVKd KJDtrace_ffi_calls_;
static _KLsymbolGVKd KJlog_entry_;
static _KLsymbolGVKd KJresults_;
static _KLsymbolGVKd KJapply_;
static _KLsymbolGVKd KJlog_exit_;
static _KLsymbolGVKd KJmethod_;
static _KLbyte_stringGVKd_6 K358;
static _KLbyte_stringGVKd_8 K359;
static _KLbyte_stringGVKd_5 K360;
static _KLbyte_stringGVKd_7 K361;
static _KLbyte_stringGVKd_9 K362;
static _KLbyte_stringGVKd_16 K363;
static _KLsymbolGVKd KJspec_;
static _KLbyte_stringGVKd_4 K366;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF368;
static _KLbyte_stringGVKd_17 K369;
static _KLbyte_stringGVKd_6 K370;
static _KLbyte_stringGVKd_10 K371;
extern _KLinstance_slot_descriptorGVKe KnameVdfmc_commonHLc_ffi_argument_descriptorGVdfmc_c_ffi;
static _KLimplementation_classGVKe K373;
static _KLsimple_object_vectorGVKd_4 K374;
extern _KLkeyword_methodGVKe KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0;
D KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I (D, D, D, D, D);
static _KLsimple_object_vectorGVKd_1 K377;
static _KLsimple_object_vectorGVKd_6 K378;
static _KLkeyword_signatureAvaluesGVKi K379;
static _KLsimple_object_vectorGVKd_6 K380;
static _KLsimple_object_vectorGVKd_3 K381;
static _KLsimple_object_vectorGVKd_1 K382;
static _KLbyte_stringGVKd_27 K383;
extern _KLinstance_slot_descriptorGVKe KnameVdfmc_commonHLc_ffi_result_descriptorGVdfmc_c_ffi;
static _KLimplementation_classGVKe K385;
static _KLsimple_object_vectorGVKd_4 K386;
extern _KLkeyword_methodGVKe KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0;
D KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I (D, D, D, D, D);
static _KLsimple_object_vectorGVKd_6 K389;
static _KLkeyword_signatureAvaluesGVKi K390;
static _KLsimple_object_vectorGVKd_6 K391;
static _KLsimple_object_vectorGVKd_3 K392;
static _KLsimple_object_vectorGVKd_1 K393;
static _KLbyte_stringGVKd_25 K394;

/* Indirection variables */

static D IKJword_class_ = &KJword_class_;
static D IKJsuffix_ = &KJsuffix_;
static D IKJexpander_function_ = &KJexpander_function_;
static D IKJc_function_definer_ = &KJc_function_definer_;
static D IKJmake_c_callable_ = &KJmake_c_callable_;
static D IKJc_callable_wrapper_definer_ = &KJc_callable_wrapper_definer_;
static D IKJLc_parameter_c_name_optionG_ = &KJLc_parameter_c_name_optionG_;
static D IKJsymbol_ = &KJsymbol_;
static D IKJc_name_ = &KJc_name_;
static D IKJconstraint_ = &KJconstraint_;
static D IKJexpression_ = &KJexpression_;
static D IKJexcludes_thunk_ = &KJexcludes_thunk_;
static D IKJsyntax_ = &KJsyntax_;
static D IKJkeyword_ = &KJkeyword_;
static D IKJinput_adjectiveQ_ = &KJinput_adjectiveQ_;
static D IKJoutput_adjectiveQ_ = &KJoutput_adjectiveQ_;
static D IKJc_function_body_ = &KJc_function_body_;
static D IKJwith_stack_block_ = &KJwith_stack_block_;
static D IKJdestroy_ = &KJdestroy_;
static D IKJrecord_ = &KJrecord_;
static D IKJsource_position_ = &KJsource_position_;
static D IKJbegin_ = &KJbegin_;
static D IKJlet_ = &KJlet_;
static D IKJtemp_ = &KJtemp_;
static D IKJblock_ = &KJblock_;
static D IKJZ58ZE_ = &KJZ58ZE_;
static D IKJmake_ = &KJmake_;
static D IKJcleanup_ = &KJcleanup_;
static D IKJif_ = &KJif_;
static D IKJoptions_ = &KJoptions_;
static D IKJresult_ = &KJresult_;
static D IKJvoid_ = &KJvoid_;
static D IKJresult_spec_ = &KJresult_spec_;
static D IKJdesignator_name_ = &KJdesignator_name_;
static D IKJvoidQ_ = &KJvoidQ_;
static D IKJc_function_result_ = &KJc_function_result_;
static D IKJc_function_parameter_ = &KJc_function_parameter_;
static D IKJLc_voidTG_ = &KJLc_voidTG_;
static D IKJsource_location_ = &KJsource_location_;
static D IKJdefinition_name_ = &KJdefinition_name_;
static D IKJc_name_expression_ = &KJc_name_expression_;
static D IKJindirect_ = &KJindirect_;
static D IKJerror_ = &KJerror_;
static D IKJtmp_ = &KJtmp_;
static D IKJLraw_c_voidG_ = &KJLraw_c_voidG_;
static D IKJidentity_ = &KJidentity_;
static D IKJc_modifiers_ = &KJc_modifiers_;
static D IKJmodifiers_expression_ = &KJmodifiers_expression_;
static D IKJPcall_c_function_indirect_ = &KJPcall_c_function_indirect_;
static D IKJPcall_c_function_ = &KJPcall_c_function_;
static D IKJboxer_for_designator_ = &KJboxer_for_designator_;
static D IKJparameter_name_ = &KJparameter_name_;
static D IKJsize_of_ = &KJsize_of_;
static D IKJpointer_value_ = &KJpointer_value_;
static D IKJin_out_ = &KJin_out_;
static D IKJcall_discipline_ = &KJcall_discipline_;
static D IKJargs_ = &KJargs_;
static D IKJparameter_ = &KJparameter_;
static D IKJarg_ = &KJarg_;
static D IKJkey_options_ = &KJkey_options_;
static D IKJof_ = &KJof_;
static D IKJdefine_ = &KJdefine_;
static D IKJdylan_function_ = &KJdylan_function_;
static D IKJimport_type_for_ = &KJimport_type_for_;
static D IKJindirect_expression_ = &KJindirect_expression_;
static D IKJLc_function_pointerG_ = &KJLc_function_pointerG_;
static D IKJexport_type_for_ = &KJexport_type_for_;
static D IKJimport_type_for_reference_ = &KJimport_type_for_reference_;
static D IKJexport_type_for_reference_ = &KJexport_type_for_reference_;
static D IKJgeneric_function_method_ = &KJgeneric_function_method_;
static D IKJgf_method_expression_ = &KJgf_method_expression_;
static D IKJc_callable_result_ = &KJc_callable_result_;
static D IKJinteger_as_raw_ = &KJinteger_as_raw_;
static D IKJLraw_c_unsigned_longG_ = &KJLraw_c_unsigned_longG_;
static D IKJexport_ = &KJexport_;
static D IKJon_failure_ = &KJon_failure_;
static D IKJfailed_ = &KJfailed_;
static D IKJexport_expression_ = &KJexport_expression_;
static D IKJother_name_ = &KJother_name_;
static D IKJmake_c_pointer_ = &KJmake_c_pointer_;
static D IKJLc_function_pointer_instantiationG_ = &KJLc_function_pointer_instantiationG_;
static D IKJprimitive_cast_pointer_as_raw_ = &KJprimitive_cast_pointer_as_raw_;
static D IKJPc_callable_function_ = &KJPc_callable_function_;
static D IKJraw_ = &KJraw_;
static D IKJLc_raw_intTG_ = &KJLc_raw_intTG_;
static D IKJptr_ = &KJptr_;
static D IKJnullQ_ = &KJnullQ_;
static D IKJprimitive_machine_word_equalQ_ = &KJprimitive_machine_word_equalQ_;
static D IKJprimitive_unwrap_c_pointer_ = &KJprimitive_unwrap_c_pointer_;
static D IKJelse_ = &KJelse_;
static D IKJN_ = &KJN_;
static D IKJc_callable_parameter_ = &KJc_callable_parameter_;
static D IKJDtrace_ffi_calls_ = &KJDtrace_ffi_calls_;
static D IKJlog_entry_ = &KJlog_entry_;
static D IKJresults_ = &KJresults_;
static D IKJapply_ = &KJapply_;
static D IKJlog_exit_ = &KJlog_exit_;
static D IKJmethod_ = &KJmethod_;
static D IKJspec_ = &KJspec_;

/* Variables */

D Lc_ffi_result_descriptorGVdfmc_c_ffi = &KLc_ffi_result_descriptorGVdfmc_c_ffi;
D Lc_ffi_argument_descriptorGVdfmc_c_ffi = &KLc_ffi_argument_descriptorGVdfmc_c_ffi;
D Lc_parameter_c_name_optionGVdfmc_c_ffi = &KPunboundVKi;
D Dc_parameter_optionsVdfmc_c_ffi = &KPunboundVKi;
D Linput_adjective_propertyGVdfmc_c_ffi = &KPunboundVKi;
D Loutput_adjective_propertyGVdfmc_c_ffi = &KPunboundVKi;
D Dc_parameter_propertiesVdfmc_c_ffi = &KPunboundVKi;

/* Objects */

_KLclassGVKd KLc_ffi_result_descriptorGVdfmc_c_ffi = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K394,
  &K385,
  (D) 1,
  &Kdfmc_c_ffi_moduleYdylan_userVdfmc_c_ffi
};

_KLmm_wrapperGVKi_0 KLc_ffi_result_descriptorGVdfmc_c_ffiW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K385,
  (D) 1,
  17,
  33554439,
  (D) 1
};

_KLsetter_methodGVKi Kname_setterVdfmc_commonMdfmc_c_ffiM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &KnameVdfmc_commonHLc_ffi_result_descriptorGVdfmc_c_ffi
};

_KLgetter_methodGVKi KnameVdfmc_commonMdfmc_c_ffiM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &KnameVdfmc_commonHLc_ffi_result_descriptorGVdfmc_c_ffi
};

_KLclassGVKd KLc_ffi_argument_descriptorGVdfmc_c_ffi = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K383,
  &K373,
  (D) 1,
  &Kdfmc_c_ffi_moduleYdylan_userVdfmc_c_ffi
};

_KLmm_wrapperGVKi_0 KLc_ffi_argument_descriptorGVdfmc_c_ffiW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K373,
  (D) 1,
  17,
  33554439,
  (D) 1
};

_KLsetter_methodGVKi Kname_setterVdfmc_commonMdfmc_c_ffiM1 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &KnameVdfmc_commonHLc_ffi_argument_descriptorGVdfmc_c_ffi
};

_KLgetter_methodGVKi KnameVdfmc_commonMdfmc_c_ffiM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &KnameVdfmc_commonHLc_ffi_argument_descriptorGVdfmc_c_ffi
};

static _KLsymbolGVKd KJword_class_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K371
};

static _KLsymbolGVKd KJsuffix_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K370
};

static _KLbyte_stringGVKd_8 K17 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "-definer"
};

static _KLsymbolGVKd KJexpander_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K369
};

_KLsimple_methodGVKe Kc_function_definer_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kc_function_definer_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJc_function_definer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K349
};

_KLsimple_methodGVKe Kmake_c_callable_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kmake_c_callable_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJmake_c_callable_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K282
};

_KLsimple_methodGVKe Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJc_callable_wrapper_definer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K217
};

static _KLsymbolGVKd KJLc_parameter_c_name_optionG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K216
};

static _KLsymbolGVKd KJsymbol_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K215
};

static _KLsymbolGVKd KJc_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K214
};

static _KLsymbolGVKd KJconstraint_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K213
};

static _KLsymbolGVKd KJexpression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K212
};

static _KLsymbolGVKd KJexcludes_thunk_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K211
};

static _KLsimple_closure_methodGVKi_0 K209 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K210,
  &K209I,
  (D) 1
};

static _KLsymbolGVKd KJsyntax_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K208
};

static _KLsymbolGVKd KJkeyword_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K207
};

static _KLsymbolGVKd KJinput_adjectiveQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K206
};

static _KLsymbolGVKd KJoutput_adjectiveQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K205
};

_KLsimple_methodGVKe Kc_function_body_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kc_function_body_expanderVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJc_function_body_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K79
};

_KLsimple_methodGVKe Kwith_stack_block_expanderVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &Kwith_stack_block_expanderVdfmc_c_ffiMM0I
};

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

static _KLbyte_stringGVKd_16 K56 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "with-stack-block"
};

static _KLsymbolGVKd KJdestroy_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K78
};

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

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

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

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

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

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

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

static _KLsymbolGVKd KJmake_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K70
};

static _KLsymbolGVKd KJcleanup_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K69
};

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

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

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

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

static _KLbyte_stringGVKd_2 K71 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 9,
  ":="
};

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

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

static _KLbyte_stringGVKd_3 K74 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 13,
  "let"
};

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

static _KLbyte_stringGVKd_15 K76 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "source-position"
};

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

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

static _KLbyte_stringGVKd_15 K79 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "c-function-body"
};

static _KLsymbolGVKd KJoptions_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K204
};

static _KLsymbolGVKd KJresult_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K200
};

static _KLsymbolGVKd KJvoid_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K199
};

static _KLsymbolGVKd KJresult_spec_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K198
};

static _KLsymbolGVKd KJdesignator_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K186
};

static _KLsymbolGVKd KJvoidQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K197
};

_KLsimple_methodGVKe Kexpand_c_function_bodyVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_5,
  &K188,
  &Kexpand_c_function_bodyVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJc_function_result_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K187
};

_KLsealed_generic_functionGVKe Kdesignator_nameVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K186,
  &K184,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmodel_type_setterVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 1,
  &K181,
  &K179,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmodel_typeVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (D) 1,
  &K174,
  &K172,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsymbolGVKd KJc_function_parameter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K169
};

static _KLsymbolGVKd KJLc_voidTG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K168
};

static _KLsymbolGVKd KJsource_location_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K124
};

static _KLsymbolGVKd KJdefinition_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K123
};

static _KLsymbolGVKd KJc_name_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K122
};

static _KLsymbolGVKd KJindirect_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K121
};

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

static _KLbyte_stringGVKd_12 K103 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "dummy_c_name"
};

static _KLsymbolGVKd KJtmp_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K119
};

static _KLsymbolGVKd KJLraw_c_voidG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K118
};

static _KLsymbolGVKd KJidentity_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K117
};

static _KLsymbolGVKd KJc_modifiers_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K116
};

static _KLsymbolGVKd KJmodifiers_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K115
};

static _KLsymbolGVKd KJPcall_c_function_indirect_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K114
};

static _KLsymbolGVKd KJPcall_c_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K113
};

static _KLsymbolGVKd KJboxer_for_designator_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K112
};

static _KLbyte_stringGVKd_20 K112 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "boxer-for-designator"
};

static _KLbyte_stringGVKd_16 K113 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "%call-c-function"
};

static _KLbyte_stringGVKd_25 K114 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "%call-c-function-indirect"
};

static _KLbyte_stringGVKd_20 K115 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "modifiers-expression"
};

static _KLbyte_stringGVKd_11 K116 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "c-modifiers"
};

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

static _KLbyte_stringGVKd_12 K118 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "<raw-c-void>"
};

static _KLbyte_stringGVKd_3 K119 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 13,
  "tmp"
};

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

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

static _KLbyte_stringGVKd_17 K122 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "c-name-expression"
};

static _KLbyte_stringGVKd_15 K123 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "definition-name"
};

static _KLbyte_stringGVKd_15 K124 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "source-location"
};

_KLsealed_generic_functionGVKe Kdesignator_name_setterVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (D) 1,
  &K165,
  &K163,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kcall_disciplineVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K158,
  &K157,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kc_function_parse_parameter_specVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_3,
  &KDsignature_LobjectG_object_rest_value_3VKi,
  (D) 25,
  &K137,
  &K134,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K153,
  &Kc_function_parse_parameter_specVdfmc_c_ffiMM0I
};

_KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K150,
  &Kc_function_parse_parameter_specVdfmc_c_ffiMM1I
};

_KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K145,
  &Kc_function_parse_parameter_specVdfmc_c_ffiMM2I
};

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

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

static _KLpairGVKd K136 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_function_parse_parameter_specVdfmc_c_ffiMM2,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_31 K137 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 125,
  "c-function-parse-parameter-spec"
};

static _KLsymbolGVKd KJparameter_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K144
};

static _KLbyte_stringGVKd_9 K139 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "exported-"
};

static _KLsymbolGVKd KJsize_of_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K143
};

static _KLsymbolGVKd KJpointer_value_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K142
};

static _KLbyte_stringGVKd_13 K142 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "pointer-value"
};

static _KLbyte_stringGVKd_7 K143 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "size-of"
};

static _KLbyte_stringGVKd_14 K144 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "parameter-name"
};

static _KLsignatureGVKe K145 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41950221,
  &K146
};

static _KLsimple_object_vectorGVKd_3 K146 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &K147,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLBdesignator_classGVdfmc_c_ffi
};

static _KLsingletonGVKd K147 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJin_out_
};

static _KLsymbolGVKd KJin_out_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K149
};

static _KLbyte_stringGVKd_6 K149 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "in-out"
};

static _KLsignatureGVKe K150 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41950221,
  &K151
};

static _KLsimple_object_vectorGVKd_3 K151 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &K152,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLBdesignator_classGVdfmc_c_ffi
};

static _KLsingletonGVKd K152 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJoutput_
};

static _KLsignatureGVKe K153 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41950221,
  &K154
};

static _KLsimple_object_vectorGVKd_3 K154 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &K155,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLBdesignator_classGVdfmc_c_ffi
};

static _KLsingletonGVKd K155 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KJinput_
};

_KLgetter_methodGVKi Kcall_disciplineVdfmc_c_ffiMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kcall_disciplineVdfmc_c_ffiHLc_ffi_argument_descriptorG
};

static _KLpairGVKd K157 = {
  &KLpairGVKdW /* wrapper */,
  &Kcall_disciplineVdfmc_c_ffiMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_15 K158 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "call-discipline"
};

_KLinstance_slot_descriptorGVKe Kcall_disciplineVdfmc_c_ffiHLc_ffi_argument_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 129,
  &KPfalseVKi,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KJcall_discipline_,
  &Kcall_disciplineVdfmc_c_ffi,
  &KPfalseVKi,
  &KLsymbolGVKd
};

static _KLsymbolGVKd KJcall_discipline_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K158
};

_KLsetter_methodGVKi Kdesignator_name_setterVdfmc_c_ffiMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kdesignator_nameVdfmc_c_ffiHLc_ffi_result_descriptorG
};

_KLsetter_methodGVKi Kdesignator_name_setterVdfmc_c_ffiMM1 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kdesignator_nameVdfmc_c_ffiHLc_ffi_argument_descriptorG
};

static _KLpairGVKd K163 = {
  &KLpairGVKdW /* wrapper */,
  &Kdesignator_name_setterVdfmc_c_ffiMM0,
  &K164
};

static _KLpairGVKd K164 = {
  &KLpairGVKdW /* wrapper */,
  &Kdesignator_name_setterVdfmc_c_ffiMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_22 K165 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 89,
  "designator-name-setter"
};

_KLinstance_slot_descriptorGVKe Kdesignator_nameVdfmc_c_ffiHLc_ffi_argument_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 129,
  &KPfalseVKi,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KJdesignator_name_,
  &Kdesignator_nameVdfmc_c_ffi,
  &Kdesignator_name_setterVdfmc_c_ffi,
  &KLobjectGVKd
};

_KLinstance_slot_descriptorGVKe Kdesignator_nameVdfmc_c_ffiHLc_ffi_result_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 129,
  &KPfalseVKi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KJdesignator_name_,
  &Kdesignator_nameVdfmc_c_ffi,
  &Kdesignator_name_setterVdfmc_c_ffi,
  &KLobjectGVKd
};

static _KLbyte_stringGVKd_9 K168 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "<c-void*>"
};

static _KLbyte_stringGVKd_20 K169 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "c-function-parameter"
};

_KLgetter_methodGVKi Kmodel_typeVdfmc_c_ffiMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmodel_typeVdfmc_c_ffiHLc_ffi_result_descriptorG
};

_KLgetter_methodGVKi Kmodel_typeVdfmc_c_ffiMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kmodel_typeVdfmc_c_ffiHLc_ffi_argument_descriptorG
};

static _KLpairGVKd K172 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_typeVdfmc_c_ffiMM0,
  &K173
};

static _KLpairGVKd K173 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_typeVdfmc_c_ffiMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_10 K174 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "model-type"
};

_KLinstance_slot_descriptorGVKe Kmodel_typeVdfmc_c_ffiHLc_ffi_argument_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 129,
  &KPfalseVKi,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KPfalseVKi,
  &Kmodel_typeVdfmc_c_ffi,
  &Kmodel_type_setterVdfmc_c_ffi,
  &KLobjectGVKd
};

_KLinstance_slot_descriptorGVKe Kmodel_typeVdfmc_c_ffiHLc_ffi_result_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 129,
  &KPfalseVKi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KPfalseVKi,
  &Kmodel_typeVdfmc_c_ffi,
  &Kmodel_type_setterVdfmc_c_ffi,
  &KLobjectGVKd
};

_KLsetter_methodGVKi Kmodel_type_setterVdfmc_c_ffiMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kmodel_typeVdfmc_c_ffiHLc_ffi_result_descriptorG
};

_KLsetter_methodGVKi Kmodel_type_setterVdfmc_c_ffiMM1 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Kmodel_typeVdfmc_c_ffiHLc_ffi_argument_descriptorG
};

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

static _KLpairGVKd K180 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_type_setterVdfmc_c_ffiMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_17 K181 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "model-type-setter"
};

_KLgetter_methodGVKi Kdesignator_nameVdfmc_c_ffiMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kdesignator_nameVdfmc_c_ffiHLc_ffi_result_descriptorG
};

_KLgetter_methodGVKi Kdesignator_nameVdfmc_c_ffiMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kdesignator_nameVdfmc_c_ffiHLc_ffi_argument_descriptorG
};

static _KLpairGVKd K184 = {
  &KLpairGVKdW /* wrapper */,
  &Kdesignator_nameVdfmc_c_ffiMM0,
  &K185
};

static _KLpairGVKd K185 = {
  &KLpairGVKdW /* wrapper */,
  &Kdesignator_nameVdfmc_c_ffiMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_15 K186 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "designator-name"
};

static _KLbyte_stringGVKd_17 K187 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "c-function-result"
};

static _KLsignatureGVKe K188 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 41944085,
  &K189
};

static _KLsimple_object_vectorGVKd_5 K189 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &KLfragmentGVdfmc_reader,
  &KLvariable_name_fragmentGVdfmc_reader,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KLsequenceGVKd,
  &KLsequenceGVKd
};

static _KLsymbolGVKd KJargs_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K196
};

static _KLsymbolGVKd KJparameter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K195
};

static _KLsymbolGVKd KJarg_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K194
};

static _KLbyte_stringGVKd_3 K194 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 13,
  "arg"
};

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

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

static _KLbyte_stringGVKd_5 K197 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "void?"
};

static _KLbyte_stringGVKd_11 K198 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "result-spec"
};

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

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

static _KLsymbolGVKd KJkey_options_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K203
};

static _KLbyte_stringGVKd_11 K203 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "key-options"
};

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

static _KLbyte_stringGVKd_17 K205 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "output-adjective?"
};

static _KLbyte_stringGVKd_16 K206 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "input-adjective?"
};

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

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

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

static _KLbyte_stringGVKd_14 K211 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "excludes-thunk"
};

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

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

static _KLbyte_stringGVKd_6 K214 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "c-name"
};

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

static _KLbyte_stringGVKd_27 K216 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "<c-parameter-c-name-option>"
};

static _KLbyte_stringGVKd_26 K217 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "c-callable-wrapper-definer"
};

static _KLsymbolGVKd KJof_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K281
};

static _KLbyte_stringGVKd_9 K220 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "-pointer-"
};

_KLsimple_methodGVKe Kparse_c_function_specVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K277,
  &Kparse_c_function_specVdfmc_c_ffiMM0I
};

static _KLbyte_stringGVKd_18 K224 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "C-callable-wrapper"
};

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

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

_KLsimple_methodGVKe Kparse_early_optionsVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K256,
  &Kparse_early_optionsVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJdylan_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K230
};

static _KLbyte_stringGVKd_14 K230 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "dylan-function"
};

static _KLsymbolGVKd KJimport_type_for_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K255
};

static _KLsymbolGVKd KJindirect_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K253
};

static _KLbyte_stringGVKd_20 K234 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "functional-parameter"
};

static _KLsymbolGVKd KJLc_function_pointerG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K252
};

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

static _KLsymbolGVKd KJimport_type_for_reference_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K247
};

static _KLsymbolGVKd KJexport_type_for_reference_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K246
};

static _KLsymbolGVKd KJgeneric_function_method_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K245
};

static _KLsymbolGVKd KJgf_method_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K244
};

static _KLbyte_stringGVKd_20 K244 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "gf-method-expression"
};

static _KLbyte_stringGVKd_23 K245 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "generic-function-method"
};

static _KLbyte_stringGVKd_25 K246 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "export-type-for-reference"
};

static _KLbyte_stringGVKd_25 K247 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "import-type-for-reference"
};

static _KLbyte_stringGVKd_15 K248 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "export-type-for"
};

static _KLbyte_stringGVKd_20 K252 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "<c-function-pointer>"
};

static _KLbyte_stringGVKd_19 K253 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "indirect-expression"
};

static _KLbyte_stringGVKd_15 K255 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "import-type-for"
};

static _KLsignatureAvaluesGVKi K256 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33560593,
  &K257,
  &K258
};

static _KLsimple_object_vectorGVKd_4 K257 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KLsequenceGVKd,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KLsequenceGVKd,
  &KLobjectGVKd
};

static _KLsimple_object_vectorGVKd_6 K258 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLsequenceGVKd,
  &KLtemplateGVdfmc_reader,
  &KLtemplateGVdfmc_reader,
  &KLtemplateGVdfmc_reader,
  &KLbooleanGVKd,
  &KLtemplateGVdfmc_reader
};

_KLsimple_methodGVKe Kparse_optionsXVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K271,
  &Kparse_optionsXVdfmc_c_ffiMM0I
};

static _KLkeyword_closure_methodGVKe_0 Kprocess_parameter_adjectivesF267 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K268,
  &key_mep_3,
  &Kprocess_parameter_adjectivesF267I,
  &K269,
  (D) 1
};

static _KLunionGVKe K265 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K266,
  &KLfragmentGVdfmc_reader
};

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

static _KLkeyword_signatureGVKe K268 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (D) 42206209,
  &KPempty_vectorVKi,
  &K270,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_4 K269 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KJinput_adjectiveQ_,
  &KPfalseVKi,
  &KJoutput_adjectiveQ_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_2 K270 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJinput_adjectiveQ_,
  &KJoutput_adjectiveQ_
};

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

static _KLsimple_object_vectorGVKd_2 K272 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLstretchy_vectorGVKd,
  &KLsequenceGVKd
};

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF275 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K276,
  &KUwildcard_loopUF275I,
  (D) 1
};

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

static _KLsignatureAvaluesGVKi K277 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33558537,
  &K278,
  &K279
};

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

static _KLsimple_object_vectorGVKd_4 K279 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KLsequenceGVKd,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &K265,
  &KLsequenceGVKd
};

static _KLbyte_stringGVKd_2 K281 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 9,
  "of"
};

static _KLbyte_stringGVKd_15 K282 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "make-c-callable"
};

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

_KLsealed_generic_functionGVKe KvoidQVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K197,
  &K342,
  &RSINGULAR_Labsent_engine_nodeG
};

static _KLsymbolGVKd KJc_callable_result_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K340
};

_KLsimple_methodGVKe Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K338,
  &Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0I
};

static _KLsymbolGVKd KJinteger_as_raw_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K335
};

static _KLsymbolGVKd KJLraw_c_unsigned_longG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K334
};

static _KLsymbolGVKd KJexport_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K316
};

static _KLsymbolGVKd KJon_failure_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K315
};

static _KLsymbolGVKd KJfailed_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K314
};

static _KLsymbolGVKd KJexport_expression_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K313
};

static _KLsymbolGVKd KJother_name_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K312
};

static _KLsymbolGVKd KJmake_c_pointer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K311
};

static _KLsymbolGVKd KJLc_function_pointer_instantiationG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K310
};

static _KLsymbolGVKd KJprimitive_cast_pointer_as_raw_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K309
};

static _KLsymbolGVKd KJPc_callable_function_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K308
};

static _KLsymbolGVKd KJraw_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K307
};

static _KLbyte_stringGVKd_3 K307 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 13,
  "raw"
};

static _KLbyte_stringGVKd_20 K308 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "%c-callable-function"
};

static _KLbyte_stringGVKd_29 K309 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 117,
  "primitive-cast-pointer-as-raw"
};

static _KLbyte_stringGVKd_34 K310 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 137,
  "<c-function-pointer-instantiation>"
};

static _KLbyte_stringGVKd_14 K311 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "make-c-pointer"
};

static _KLbyte_stringGVKd_10 K312 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "other-name"
};

static _KLbyte_stringGVKd_17 K313 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "export-expression"
};

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

static _KLbyte_stringGVKd_10 K315 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "on-failure"
};

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

static _KLsymbolGVKd KJLc_raw_intTG_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K328
};

static _KLsymbolGVKd KJptr_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K327
};

static _KLsymbolGVKd KJnullQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K326
};

static _KLsymbolGVKd KJprimitive_machine_word_equalQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K325
};

static _KLsymbolGVKd KJprimitive_unwrap_c_pointer_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K324
};

static _KLsymbolGVKd KJelse_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K323
};

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

static _KLbyte_stringGVKd_26 K324 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "primitive-unwrap-c-pointer"
};

static _KLbyte_stringGVKd_29 K325 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 117,
  "primitive-machine-word-equal?"
};

static _KLbyte_stringGVKd_5 K326 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "null?"
};

static _KLbyte_stringGVKd_3 K327 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 13,
  "ptr"
};

static _KLbyte_stringGVKd_12 K328 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "<c-raw-int*>"
};

static _KLbyte_stringGVKd_15 K329 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "-output-pointer"
};

static _KLbyte_stringGVKd_13 K330 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "-output-local"
};

static _KLsymbolGVKd KJN_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K333
};

static _KLbyte_stringGVKd_1 K333 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 5,
  "~"
};

static _KLbyte_stringGVKd_21 K334 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 85,
  "<raw-c-unsigned-long>"
};

static _KLbyte_stringGVKd_14 K335 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 57,
  "integer-as-raw"
};

static _KLsymbolGVKd KJc_callable_parameter_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K337
};

static _KLbyte_stringGVKd_20 K337 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "c-callable-parameter"
};

static _KLsignatureAvaluesGVKi K338 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33557509,
  &KDsignature_LsequenceG_typesVKi,
  &K339
};

static _KLsimple_object_vectorGVKd_3 K339 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KLsequenceGVKd,
  &KLsequenceGVKd,
  &KLsequenceGVKd
};

static _KLbyte_stringGVKd_17 K340 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "c-callable-result"
};

_KLgetter_methodGVKi KvoidQVdfmc_c_ffiMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &KvoidQVdfmc_c_ffiHLc_ffi_result_descriptorG
};

static _KLpairGVKd K342 = {
  &KLpairGVKdW /* wrapper */,
  &KvoidQVdfmc_c_ffiMM0,
  &KPempty_listVKi
};

_KLinstance_slot_descriptorGVKe KvoidQVdfmc_c_ffiHLc_ffi_result_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPfalseVKi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KJvoidQ_,
  &KvoidQVdfmc_c_ffi,
  &KPfalseVKi,
  &KLbooleanGVKd
};

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF348 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K276,
  &KUwildcard_loopUF348I,
  (D) 1
};

static _KLbyte_stringGVKd_18 K349 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "c-function-definer"
};

static _KLsymbolGVKd KJDtrace_ffi_calls_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K363
};

static _KLsymbolGVKd KJlog_entry_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K362
};

static _KLsymbolGVKd KJresults_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K361
};

static _KLsymbolGVKd KJapply_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K360
};

static _KLsymbolGVKd KJlog_exit_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K359
};

static _KLsymbolGVKd KJmethod_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K358
};

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

static _KLbyte_stringGVKd_8 K359 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 33,
  "log-exit"
};

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

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

static _KLbyte_stringGVKd_9 K362 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "log-entry"
};

static _KLbyte_stringGVKd_16 K363 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "$trace-ffi-calls"
};

static _KLsymbolGVKd KJspec_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K366
};

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

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF368 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K276,
  &KUwildcard_loopUF368I,
  (D) 1
};

static _KLbyte_stringGVKd_17 K369 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "expander-function"
};

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

static _KLbyte_stringGVKd_10 K371 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 41,
  "word-class"
};

_KLinstance_slot_descriptorGVKe KnameVdfmc_commonHLc_ffi_argument_descriptorGVdfmc_c_ffi = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 129,
  &KPfalseVKi,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KJname_,
  &KnameVdfmc_common,
  &Kname_setterVdfmc_common,
  &KLobjectGVKd
};

static _KLimplementation_classGVKe K373 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433745,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffiW,
  &KPfalseVKi,
  &K374,
  (D) -3,
  &KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0,
  &K377,
  &K378,
  (D) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K374,
  &K374,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_4 K374 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KnameVdfmc_commonHLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &Kdesignator_nameVdfmc_c_ffiHLc_ffi_argument_descriptorG,
  &Kmodel_typeVdfmc_c_ffiHLc_ffi_argument_descriptorG,
  &Kcall_disciplineVdfmc_c_ffiHLc_ffi_argument_descriptorG
};

_KLkeyword_methodGVKe KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K379,
  &key_mep_2,
  &KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I,
  &K380
};

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

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

static _KLkeyword_signatureAvaluesGVKi K379 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K381,
  &KDsignature_LobjectG_typesVKi,
  &K382
};

static _KLsimple_object_vectorGVKd_6 K380 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KJname_,
  &KPunboundVKi,
  &KJdesignator_name_,
  &KPunboundVKi,
  &KJcall_discipline_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_3 K381 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KJname_,
  &KJdesignator_name_,
  &KJcall_discipline_
};

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

static _KLbyte_stringGVKd_27 K383 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "<c-ffi-argument-descriptor>"
};

_KLinstance_slot_descriptorGVKe KnameVdfmc_commonHLc_ffi_result_descriptorGVdfmc_c_ffi = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 129,
  &KPfalseVKi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KJname_,
  &KnameVdfmc_common,
  &Kname_setterVdfmc_common,
  &KLobjectGVKd
};

static _KLimplementation_classGVKe K385 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433745,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffiW,
  &KPfalseVKi,
  &K386,
  (D) -3,
  &KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0,
  &K377,
  &K389,
  (D) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K386,
  &K386,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_4 K386 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KnameVdfmc_commonHLc_ffi_result_descriptorGVdfmc_c_ffi,
  &Kdesignator_nameVdfmc_c_ffiHLc_ffi_result_descriptorG,
  &Kmodel_typeVdfmc_c_ffiHLc_ffi_result_descriptorG,
  &KvoidQVdfmc_c_ffiHLc_ffi_result_descriptorG
};

_KLkeyword_methodGVKe KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K390,
  &key_mep_2,
  &KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I,
  &K391
};

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

static _KLkeyword_signatureAvaluesGVKi K390 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K392,
  &KDsignature_LobjectG_typesVKi,
  &K393
};

static _KLsimple_object_vectorGVKd_6 K391 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KJname_,
  &KPunboundVKi,
  &KJdesignator_name_,
  &KPunboundVKi,
  &KJvoidQ_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_3 K392 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KJname_,
  &KJdesignator_name_,
  &KJvoidQ_
};

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

static _KLbyte_stringGVKd_25 K394 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "<c-ffi-result-descriptor>"
};

/* Code */

D Kc_function_definer_expanderVdfmc_c_ffiMM0I (D env_, D form_) {
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D T4_3;
  D failureF5;
  D mods_;
  D dylan_nameF7;
  D specF8;
  D T9;
  D dylan_nameF10;
  D T11;
  D specF12;
  D T13_0;
  D T13_1;
  D T13_2;
  D T13_3;
  D arg_specs_;
  D result_spec_;
  D c_name_;
  D options_;
  D T18_0;
  D T18_1;
  D T18_2;
  D T18_3;
  D T18_4;
  D T18_5;
  D arg_fragments_;
  D result_fragment_;
  D parameter_list_fragment_;
  D return_values_fragment_;
  D define_gfQ_;
  D parameter_names_fragment_;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87;
  D T88;
  D T89;
  D T90;
  D T91;
  D T92;
  D T93;
  D T94;
  D T95;
  D T96;
  D T97;
  D T98;
  D T99;
  D T100;
  D body_;
  D T102;
  D T103;
  D T104;
  D T105;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110;
  D T111;
  D T112;
  D T113;
  D T114;
  D T115;
  D T116;
  D T117;
  D T118;
  D T119;
  D T120;
  D T121;
  D T122;
  D T123;
  D T124;
  D T125;
  D failureF126;
  D T127;
  D T128;
  D T129;
  D T130;
  D other_;
  _KLsimple_object_vectorGVKd_1 T132 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T133;
  D T134;
  D T135;
  _KLsimple_object_vectorGVKd_1 T136 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T137 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T138 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T139 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T140 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_4 T141 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_3 T142 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_2 T143 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T144 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_34 T145 = {&KLsimple_object_vectorGVKdW, (D) 137};
  _KLsimple_object_vectorGVKd_9 T146 = {&KLsimple_object_vectorGVKdW, (D) 37};
  _KLsimple_object_vectorGVKd_9 T147 = {&KLsimple_object_vectorGVKdW, (D) 37};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  T4_0 = KUwildcard_loopUF368I(&KPempty_listVKi, T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  T4_3 = MV_GET_ELT(3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  failureF5 = T4_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  mods_ = T4_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  dylan_nameF7 = T4_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  specF8 = T4_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  if (failureF5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T123 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_definer_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T124 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T123);
    T125 = T124;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T9 = CONGRUENT_CALL1(mods_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T130 = primitive_idQ(T9,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    if (T130 != &KPfalseVKi) {
      failureF126 = &KPfalseVKi;
    } else {
      failureF126 = &KPtrueVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    if (failureF126 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      other_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:139
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T128 = CONGRUENT_CALL1(other_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:139
      T132.vector_element_[0] = T128;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:139
      T129 = Kmake_templateVdfmc_macro_expanderI(&T132);
      T133 = T129;
      T135 = T133;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:138
      T127 = Kc_ffi_default_inline_policyVdfmc_c_ffiI();
      T134 = T127;
      T135 = T134;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_nameF10 = CONGRUENT_CALL1(dylan_nameF7);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T11 = CONGRUENT_CALL1(specF8);
    specF12 = Kspec_rewriterF364I(T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:91
    T13_0 = CALL2(&Kparse_c_function_specVdfmc_c_ffiMM0, dylan_nameF10, specF12);
    T13_1 = MV_GET_ELT(1);
    T13_2 = MV_GET_ELT(2);
    T13_3 = MV_GET_ELT(3);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:90
    arg_specs_ = T13_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:90
    result_spec_ = T13_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:90
    c_name_ = T13_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:90
    options_ = T13_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:94
    T18_0 = Kparse_early_optionsVdfmc_c_ffiMM0I(arg_specs_, result_spec_, options_, dylan_nameF10);
    T18_1 = MV_GET_ELT(1);
    T18_2 = MV_GET_ELT(2);
    T18_3 = MV_GET_ELT(3);
    T18_4 = MV_GET_ELT(4);
    T18_5 = MV_GET_ELT(5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:92
    arg_fragments_ = T18_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:92
    result_fragment_ = T18_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:92
    parameter_list_fragment_ = T18_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:92
    return_values_fragment_ = T18_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:92
    define_gfQ_ = T18_4;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:92
    parameter_names_fragment_ = T18_5;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T25 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T26 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T27 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJDtrace_ffi_calls_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T136.vector_element_[0] = T27;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T28 = KlistVKdI(&T136);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T29 = Kmake_parens_fragmentVdfmc_macro_expanderI(T28);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T30 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJlog_entry_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T31 = CONGRUENT_CALL1(c_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T32 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T33 = CONGRUENT_CALL2(T32, parameter_names_fragment_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T137.vector_element_[0] = T31;
    T137.vector_element_[1] = T33;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T34 = KlistVKdI(&T137);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T35 = Kmake_parens_fragmentVdfmc_macro_expanderI(T34);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T36 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T37 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T38 = Kmake_hash_rest_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresults_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T138.vector_element_[0] = T38;
    T138.vector_element_[1] = T39;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T40 = KlistVKdI(&T138);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T41 = Kmake_parens_fragmentVdfmc_macro_expanderI(T40);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T42 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T43 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_body_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T44 = CONGRUENT_CALL1(dylan_nameF10);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T45 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T46 = CONGRUENT_CALL1(c_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T139.vector_element_[0] = T45;
    T139.vector_element_[1] = T46;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T47 = KlistVKdI(&T139);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T48 = Kmake_parens_fragmentVdfmc_macro_expanderI(T47);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T49 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T50 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJoptions_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T51 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T52 = CONGRUENT_CALL2(options_, T51);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T140.vector_element_[0] = T50;
    T140.vector_element_[1] = T52;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T53 = KlistVKdI(&T140);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T54 = Kmake_parens_fragmentVdfmc_macro_expanderI(T53);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T55 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T56 = CONGRUENT_CALL2(T55, result_fragment_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T57 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T58 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T59 = CONGRUENT_CALL2(arg_fragments_, T58);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T60 = CONGRUENT_CALL2(T57, T59);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T61 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T62 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T63 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJapply_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T64 = Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI(IKJlog_exit_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T65 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T66 = CONGRUENT_CALL1(c_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T67 = CONGRUENT_CALL2(T65, T66);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T68 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T69 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresults_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T141.vector_element_[0] = T64;
    T141.vector_element_[1] = T67;
    T141.vector_element_[2] = T68;
    T141.vector_element_[3] = T69;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T70 = KlistVKdI(&T141);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T71 = Kmake_parens_fragmentVdfmc_macro_expanderI(T70);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T72 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T73 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJapply_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T74 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalues_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T75 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T76 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresults_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T142.vector_element_[0] = T74;
    T142.vector_element_[1] = T75;
    T142.vector_element_[2] = T76;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T77 = KlistVKdI(&T142);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T78 = Kmake_parens_fragmentVdfmc_macro_expanderI(T77);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T79 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T80 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_body_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T81 = CONGRUENT_CALL1(dylan_nameF10);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T82 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T83 = CONGRUENT_CALL1(c_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T143.vector_element_[0] = T82;
    T143.vector_element_[1] = T83;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T84 = KlistVKdI(&T143);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T85 = Kmake_parens_fragmentVdfmc_macro_expanderI(T84);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T86 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T87 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJoptions_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T88 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T89 = CONGRUENT_CALL2(options_, T88);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T144.vector_element_[0] = T87;
    T144.vector_element_[1] = T89;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T90 = KlistVKdI(&T144);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T91 = Kmake_parens_fragmentVdfmc_macro_expanderI(T90);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T92 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T93 = CONGRUENT_CALL2(T92, result_fragment_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T94 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T95 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T96 = CONGRUENT_CALL2(arg_fragments_, T95);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T97 = CONGRUENT_CALL2(T94, T96);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T98 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T99 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T100 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    T145.vector_element_[0] = T25;
    T145.vector_element_[1] = T26;
    T145.vector_element_[2] = T29;
    T145.vector_element_[3] = T30;
    T145.vector_element_[4] = T35;
    T145.vector_element_[5] = T36;
    T145.vector_element_[6] = T37;
    T145.vector_element_[7] = T41;
    T145.vector_element_[8] = T42;
    T145.vector_element_[9] = T43;
    T145.vector_element_[10] = T44;
    T145.vector_element_[11] = T48;
    T145.vector_element_[12] = T49;
    T145.vector_element_[13] = T54;
    T145.vector_element_[14] = T56;
    T145.vector_element_[15] = T60;
    T145.vector_element_[16] = T61;
    T145.vector_element_[17] = T62;
    T145.vector_element_[18] = T63;
    T145.vector_element_[19] = T71;
    T145.vector_element_[20] = T72;
    T145.vector_element_[21] = T73;
    T145.vector_element_[22] = T78;
    T145.vector_element_[23] = T79;
    T145.vector_element_[24] = T80;
    T145.vector_element_[25] = T81;
    T145.vector_element_[26] = T85;
    T145.vector_element_[27] = T86;
    T145.vector_element_[28] = T91;
    T145.vector_element_[29] = T93;
    T145.vector_element_[30] = T97;
    T145.vector_element_[31] = T98;
    T145.vector_element_[32] = T99;
    T145.vector_element_[33] = T100;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:96
    body_ = Kmake_templateVdfmc_macro_expanderI(&T145);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:124
    if (define_gfQ_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      T102 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T103 = CONGRUENT_CALL1(T135);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      T104 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmethod_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T105 = CONGRUENT_CALL1(dylan_nameF10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      T106 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      T107 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T108 = CONGRUENT_CALL1(body_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T109 = CONGRUENT_CALL2(T107, T108);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      T110 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      T146.vector_element_[0] = T102;
      T146.vector_element_[1] = T103;
      T146.vector_element_[2] = T104;
      T146.vector_element_[3] = T105;
      T146.vector_element_[4] = parameter_list_fragment_;
      T146.vector_element_[5] = T106;
      T146.vector_element_[6] = return_values_fragment_;
      T146.vector_element_[7] = T109;
      T146.vector_element_[8] = T110;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:125
      T111 = Kmake_templateVdfmc_macro_expanderI(&T146);
      T122 = T111;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      T112 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T113 = CONGRUENT_CALL1(T135);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      T114 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJfunction_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T115 = CONGRUENT_CALL1(dylan_nameF10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      T116 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      T117 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T118 = CONGRUENT_CALL1(body_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T119 = CONGRUENT_CALL2(T117, T118);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      T120 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      T147.vector_element_[0] = T112;
      T147.vector_element_[1] = T113;
      T147.vector_element_[2] = T114;
      T147.vector_element_[3] = T115;
      T147.vector_element_[4] = parameter_list_fragment_;
      T147.vector_element_[5] = T116;
      T147.vector_element_[6] = return_values_fragment_;
      T147.vector_element_[7] = T119;
      T147.vector_element_[8] = T120;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:130
      T121 = Kmake_templateVdfmc_macro_expanderI(&T147);
      T122 = T121;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:124
    T125 = T122;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  return(T125);
}

D Kmake_c_callable_expanderVdfmc_c_ffiMM0I (D env_, D form_) {
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterUF6;
  D UfT_beforeUF7;
  D T8_0;
  D T8_1;
  D T8_2;
  D T8_3;
  D T8_4;
  D T8_5;
  D T8_6;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D dylan_nameF11;
  D c_nameF12;
  D T13_0;
  D T13_1;
  D T13_2;
  D T13_3;
  D T13_4;
  D T13_5;
  D T13_6;
  D T14_0;
  D T14_1;
  D T14_2;
  D failureF15;
  D UfT_afterUF16;
  D UfT_beforeUF17;
  D T18_0;
  D T18_1;
  D T18_2;
  D T18_3;
  D T18_4;
  D T18_5;
  D T18_6;
  D T19_0;
  D T19_1;
  D T19_2;
  D failureF20;
  D Uafter_fTUF21;
  D Unested_fTUF22;
  D T23_0;
  D T23_1;
  D T24_0;
  D T24_1;
  D failureF25;
  D UfTUF26;
  D T27_0;
  D T27_1;
  D T28_0;
  D T28_1;
  D failureF29;
  D key_optionsF30;
  D T31_0;
  D T31_1;
  D T32_0;
  D T32_1;
  D T33_0;
  D T33_1;
  D T34_0;
  D T34_1;
  D T35_0;
  D T35_1;
  D failureF36;
  D key_optionsF37;
  D T38_0;
  D T38_1;
  D T38_2;
  D T38_3;
  D T38_4;
  D T38_5;
  D T38_6;
  D T39_0;
  D T39_1;
  D T39_2;
  D failureF40;
  D UfT_afterUF41;
  D UfT_beforeUF42;
  D T43_0;
  D T43_1;
  D T43_2;
  D T43_3;
  D T43_4;
  D T43_5;
  D T43_6;
  D T44_0;
  D T44_1;
  D T44_2;
  D failureF45;
  D Uafter_fTUF46;
  D Unested_fTUF47;
  D T48_0;
  D T48_1;
  D T49_0;
  D T49_1;
  D failureF50;
  D UfTUF51;
  D T52_0;
  D T52_1;
  D T53_0;
  D T53_1;
  D T53_2;
  D failureF54;
  D UfTUF55;
  D dylan_functionF56;
  D T57_0;
  D T57_1;
  D T58;
  D T59_0;
  D T59_1;
  D T60_0;
  D T60_1;
  D T61_0;
  D T61_1;
  D T62_0;
  D T62_1;
  D failureF63;
  D dylan_functionF64;
  D T65_0;
  D T65_1;
  D T66_0;
  D T66_1;
  D T67_0;
  D T67_1;
  D T68_0;
  D T68_1;
  D T69_0;
  D T69_1;
  D failureF70;
  D dylan_functionF71;
  D T72_0;
  D T72_1;
  D T72_2;
  D T72_3;
  D T72_4;
  D T72_5;
  D T72_6;
  D T73_0;
  D T73_1;
  D T73_2;
  D failureF74;
  D UfT_afterUF75;
  D UfT_beforeUF76;
  D T77_0;
  D T77_1;
  D T77_2;
  D T77_3;
  D T77_4;
  D T77_5;
  D T77_6;
  D T78_0;
  D T78_1;
  D T78_2;
  D T78_3;
  D T78_4;
  D T78_5;
  D T78_6;
  D T79_0;
  D T79_1;
  D T79_2;
  D T79_3;
  D T79_4;
  D T79_5;
  D T79_6;
  D T80_0;
  D T80_1;
  D T80_2;
  D T80_3;
  D T80_4;
  D T80_5;
  D T80_6;
  D T81_0;
  D T81_1;
  D T81_2;
  D T81_3;
  D T81_4;
  D T81_5;
  D T81_6;
  D T82_0;
  D T82_1;
  D T82_2;
  D T82_3;
  D T82_4;
  D T82_5;
  D T82_6;
  D T83_0;
  D T83_1;
  D T83_2;
  D T83_3;
  D T83_4;
  D T83_5;
  D T83_6;
  D T84_0;
  D T84_1;
  D T84_2;
  D T84_3;
  D T84_4;
  D T84_5;
  D T84_6;
  D failureF85;
  D dylan_nameF86;
  D c_nameF87;
  D key_optionsF88;
  D dylan_functionF89;
  D result_spec_;
  D argsF91;
  D dylan_nameF92;
  D T93;
  D T94;
  D key_optionsF95;
  D dylan_functionF96;
  D T97;
  D T98;
  D argsF99;
  D T100;
  D T101;
  D T102;
  D T103;
  D T104_0;
  D T104_1;
  D T105;
  D T106_0;
  D T106_1;
  D T107_0;
  D T107_1;
  D T108;
  D T109_0;
  D T109_1;
  D T110_0;
  D T110_1;
  D T110_2;
  D T110_3;
  D T110_4;
  D T110_5;
  D T110_6;
  D T111_0;
  D T111_1;
  D failureF112;
  D UfTUF113;
  D T114;
  D failureF115;
  D T116_0;
  D T116_1;
  D T116_2;
  D failureF117;
  D UfTUF118;
  D xF119;
  D T120_0;
  D T120_1;
  D T121;
  D T122_0;
  D T122_1;
  D T123_0;
  D T123_1;
  D T124_0;
  D T124_1;
  D failureF125;
  D xF126;
  D xF127;
  D T128;
  D T129;
  D T130;
  D T131_0;
  D T131_1;
  D T132;
  D T133;
  D T134;
  D T135_0;
  D T135_1;
  D T135_2;
  D failureF136;
  D Uafter_fTUF137;
  D Unested_fTUF138;
  D T139_0;
  D T139_1;
  D failureF140;
  D UfTUF141;
  D T142_0;
  D T142_1;
  D failureF143;
  D UfTUF144;
  D T145;
  D T146;
  D failureF147;
  D T148;
  D T149;
  D failureF150;
  D T151;
  D T152;
  D T153_0;
  D T153_1;
  D T153_2;
  D failureF154;
  D Uafter_fTUF155;
  D Unested_fTUF156;
  D T157_0;
  D T157_1;
  D T157_2;
  D T157_3;
  D T158_0;
  D T158_1;
  D T158_2;
  D failureF159;
  D UfT_afterUF160;
  D UfT_beforeUF161;
  D T162_0;
  D T162_1;
  D T162_2;
  D T162_3;
  D T163_0;
  D T163_1;
  D failureF164;
  D UfTUF165;
  D T166_0;
  D T166_1;
  D T166_2;
  D T167_0;
  D T167_1;
  D T167_2;
  D T167_3;
  D failureF168;
  D Uafter_fTUF169;
  D Uname_fTU_;
  D Utype_fTU_;
  D T172_0;
  D T172_1;
  D T172_2;
  D T173_0;
  D T173_1;
  D T173_2;
  D failureF174;
  D result_nameF175;
  D T176_0;
  D T176_1;
  D T176_2;
  D T177_0;
  D T177_1;
  D T177_2;
  D failureF178;
  D typeF179;
  D T180_0;
  D T180_1;
  D T180_2;
  D T181_0;
  D T181_1;
  D T181_2;
  D T182_0;
  D T182_1;
  D T182_2;
  D T183_0;
  D T183_1;
  D T183_2;
  D T184_0;
  D T184_1;
  D T184_2;
  D T185_0;
  D T185_1;
  D T185_2;
  D T186_0;
  D T186_1;
  D T186_2;
  D failureF187;
  D result_nameF188;
  D typeF189;
  D T190_0;
  D T190_1;
  D T190_2;
  D T190_3;
  D T191_0;
  D T191_1;
  D T191_2;
  D T191_3;
  D T192_0;
  D T192_1;
  D T192_2;
  D T192_3;
  D failureF193;
  D result_nameF194;
  D typeF195;
  D key_optionsF196;
  D T197_0;
  D T197_1;
  D T197_2;
  D T197_3;
  D T198_0;
  D T198_1;
  D T198_2;
  D T198_3;
  D T199_0;
  D T199_1;
  D T199_2;
  D T199_3;
  D T200_0;
  D T200_1;
  D T200_2;
  D T200_3;
  D T201_0;
  D T201_1;
  D T201_2;
  D T201_3;
  D failureF202;
  D result_nameF203;
  D typeF204;
  D key_optionsF205;
  D result_nameF206;
  D typeF207;
  D T208;
  D key_optionsF209;
  D T210;
  D T211;
  D T212;
  D T213;
  D T214;
  _KLsimple_object_vectorGVKd_4 T215 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T216;
  D T217_0;
  D T217_1;
  D T217_2;
  D T218_0;
  D T218_1;
  D T218_2;
  D T218_3;
  D T219;
  D T220_0;
  D T220_1;
  D T220_2;
  D T220_3;
  _KLsimple_object_vectorGVKd_6 T221 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T222;
  D T223;
  D T224;
  D T225;
  D T226;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  failureF5 = T4_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  UfT_afterUF6 = T4_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  UfT_beforeUF7 = T4_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (failureF5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T8_4 = &KPfalseVKi;
    T8_5 = &KPfalseVKi;
    T8_6 = &KPfalseVKi;
    T84_0 = T8_0;
    T84_1 = T8_1;
    T84_2 = T8_2;
    T84_3 = T8_3;
    T84_4 = T8_4;
    T84_5 = T8_5;
    T84_6 = T8_6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T9_0 = KUwildcard_loopUF348I(&KPempty_listVKi, UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    dylan_nameF11 = T9_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    c_nameF12 = T9_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T13_2 = &KPfalseVKi;
      T13_3 = &KPfalseVKi;
      T13_4 = &KPfalseVKi;
      T13_5 = &KPfalseVKi;
      T13_6 = &KPfalseVKi;
      T83_0 = T13_0;
      T83_1 = T13_1;
      T83_2 = T13_2;
      T83_3 = T13_3;
      T83_4 = T13_4;
      T83_5 = T13_5;
      T83_6 = T13_6;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T14_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF6);
      T14_1 = MV_GET_ELT(1);
      T14_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF15 = T14_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      UfT_afterUF16 = T14_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      UfT_beforeUF17 = T14_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF15 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T18_0 = failureF15;
        T18_1 = &KPfalseVKi;
        T18_2 = &KPfalseVKi;
        T18_3 = &KPfalseVKi;
        T18_4 = &KPfalseVKi;
        T18_5 = &KPfalseVKi;
        T18_6 = &KPfalseVKi;
        T82_0 = T18_0;
        T82_1 = T18_1;
        T82_2 = T18_2;
        T82_3 = T18_3;
        T82_4 = T18_4;
        T82_5 = T18_5;
        T82_6 = T18_6;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T19_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_beforeUF17);
        T19_1 = MV_GET_ELT(1);
        T19_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF20 = T19_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        Uafter_fTUF21 = T19_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        Unested_fTUF22 = T19_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF20 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T23_0 = failureF20;
          T23_1 = &KPfalseVKi;
          T35_0 = T23_0;
          T35_1 = T23_1;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T24_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF22, IKJoptions_);
          T24_1 = MV_GET_ELT(1);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF25 = T24_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          UfTUF26 = T24_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF25 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T27_0 = failureF25;
            T27_1 = &KPfalseVKi;
            T28_0 = T27_0;
            T28_1 = T27_1;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T104_0 = &KPfalseVKi;
            T104_1 = UfTUF26;
            T28_0 = T104_0;
            T28_1 = T104_1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF29 = T28_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          key_optionsF30 = T28_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF29 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T31_0 = failureF29;
            T31_1 = &KPfalseVKi;
            T34_0 = T31_0;
            T34_1 = T31_1;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T105 = primitive_idQ(Uafter_fTUF21,&KPempty_listVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            if (T105 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T106_0 = &KPfalseVKi;
              T106_1 = key_optionsF30;
              T33_0 = T106_0;
              T33_1 = T106_1;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T32_0 = &KPtrueVKi;
              T32_1 = &KPfalseVKi;
              T33_0 = T32_0;
              T33_1 = T32_1;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T34_0 = T33_0;
            T34_1 = T33_1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T35_0 = T34_0;
          T35_1 = T34_1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF36 = T35_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        key_optionsF37 = T35_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF36 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T38_0 = failureF36;
          T38_1 = &KPfalseVKi;
          T38_2 = &KPfalseVKi;
          T38_3 = &KPfalseVKi;
          T38_4 = &KPfalseVKi;
          T38_5 = &KPfalseVKi;
          T38_6 = &KPfalseVKi;
          T81_0 = T38_0;
          T81_1 = T38_1;
          T81_2 = T38_2;
          T81_3 = T38_3;
          T81_4 = T38_4;
          T81_5 = T38_5;
          T81_6 = T38_6;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T39_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF16);
          T39_1 = MV_GET_ELT(1);
          T39_2 = MV_GET_ELT(2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF40 = T39_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          UfT_afterUF41 = T39_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          UfT_beforeUF42 = T39_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF40 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T43_0 = failureF40;
            T43_1 = &KPfalseVKi;
            T43_2 = &KPfalseVKi;
            T43_3 = &KPfalseVKi;
            T43_4 = &KPfalseVKi;
            T43_5 = &KPfalseVKi;
            T43_6 = &KPfalseVKi;
            T80_0 = T43_0;
            T80_1 = T43_1;
            T80_2 = T43_2;
            T80_3 = T43_3;
            T80_4 = T43_4;
            T80_5 = T43_5;
            T80_6 = T43_6;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T44_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_beforeUF42);
            T44_1 = MV_GET_ELT(1);
            T44_2 = MV_GET_ELT(2);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            failureF45 = T44_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Uafter_fTUF46 = T44_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Unested_fTUF47 = T44_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            if (failureF45 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T48_0 = failureF45;
              T48_1 = &KPfalseVKi;
              T69_0 = T48_0;
              T69_1 = T48_1;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T49_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF47, IKJdylan_function_);
              T49_1 = MV_GET_ELT(1);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              failureF50 = T49_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              UfTUF51 = T49_1;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              if (failureF50 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T52_0 = failureF50;
                T52_1 = &KPfalseVKi;
                T62_0 = T52_0;
                T62_1 = T52_1;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T53_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF51);
                T53_1 = MV_GET_ELT(1);
                T53_2 = MV_GET_ELT(2);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                failureF54 = T53_0;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                UfTUF55 = T53_1;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                dylan_functionF56 = T53_2;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                if (failureF54 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T57_0 = failureF54;
                  T57_1 = &KPfalseVKi;
                  T61_0 = T57_0;
                  T61_1 = T57_1;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T58 = CONGRUENT_CALL1(UfTUF55);
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  if (T58 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T107_0 = &KPfalseVKi;
                    T107_1 = dylan_functionF56;
                    T60_0 = T107_0;
                    T60_1 = T107_1;
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T59_0 = &KPtrueVKi;
                    T59_1 = &KPfalseVKi;
                    T60_0 = T59_0;
                    T60_1 = T59_1;
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T61_0 = T60_0;
                  T61_1 = T60_1;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T62_0 = T61_0;
                T62_1 = T61_1;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              failureF63 = T62_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              dylan_functionF64 = T62_1;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              if (failureF63 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T65_0 = failureF63;
                T65_1 = &KPfalseVKi;
                T68_0 = T65_0;
                T68_1 = T65_1;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T108 = primitive_idQ(Uafter_fTUF46,&KPempty_listVKi);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                if (T108 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T109_0 = &KPfalseVKi;
                  T109_1 = dylan_functionF64;
                  T67_0 = T109_0;
                  T67_1 = T109_1;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T66_0 = &KPtrueVKi;
                  T66_1 = &KPfalseVKi;
                  T67_0 = T66_0;
                  T67_1 = T66_1;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T68_0 = T67_0;
                T68_1 = T67_1;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T69_0 = T68_0;
              T69_1 = T68_1;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            failureF70 = T69_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            dylan_functionF71 = T69_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            if (failureF70 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T72_0 = failureF70;
              T72_1 = &KPfalseVKi;
              T72_2 = &KPfalseVKi;
              T72_3 = &KPfalseVKi;
              T72_4 = &KPfalseVKi;
              T72_5 = &KPfalseVKi;
              T72_6 = &KPfalseVKi;
              T79_0 = T72_0;
              T79_1 = T72_1;
              T79_2 = T72_2;
              T79_3 = T72_3;
              T79_4 = T72_4;
              T79_5 = T72_5;
              T79_6 = T72_6;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T73_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF41);
              T73_1 = MV_GET_ELT(1);
              T73_2 = MV_GET_ELT(2);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              failureF74 = T73_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              UfT_afterUF75 = T73_1;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              UfT_beforeUF76 = T73_2;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              if (failureF74 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T77_0 = failureF74;
                T77_1 = &KPfalseVKi;
                T77_2 = &KPfalseVKi;
                T77_3 = &KPfalseVKi;
                T77_4 = &KPfalseVKi;
                T77_5 = &KPfalseVKi;
                T77_6 = &KPfalseVKi;
                T78_0 = T77_0;
                T78_1 = T77_1;
                T78_2 = T77_2;
                T78_3 = T77_3;
                T78_4 = T77_4;
                T78_5 = T77_5;
                T78_6 = T77_6;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T110_0 = &KPfalseVKi;
                T110_1 = dylan_nameF11;
                T110_2 = c_nameF12;
                T110_3 = key_optionsF37;
                T110_4 = dylan_functionF71;
                T110_5 = UfT_beforeUF76;
                T110_6 = UfT_afterUF75;
                T78_0 = T110_0;
                T78_1 = T110_1;
                T78_2 = T110_2;
                T78_3 = T110_3;
                T78_4 = T110_4;
                T78_5 = T110_5;
                T78_6 = T110_6;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T79_0 = T78_0;
              T79_1 = T78_1;
              T79_2 = T78_2;
              T79_3 = T78_3;
              T79_4 = T78_4;
              T79_5 = T78_5;
              T79_6 = T78_6;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T80_0 = T79_0;
            T80_1 = T79_1;
            T80_2 = T79_2;
            T80_3 = T79_3;
            T80_4 = T79_4;
            T80_5 = T79_5;
            T80_6 = T79_6;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T81_0 = T80_0;
          T81_1 = T80_1;
          T81_2 = T80_2;
          T81_3 = T80_3;
          T81_4 = T80_4;
          T81_5 = T80_5;
          T81_6 = T80_6;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T82_0 = T81_0;
        T82_1 = T81_1;
        T82_2 = T81_2;
        T82_3 = T81_3;
        T82_4 = T81_4;
        T82_5 = T81_5;
        T82_6 = T81_6;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T83_0 = T82_0;
      T83_1 = T82_1;
      T83_2 = T82_2;
      T83_3 = T82_3;
      T83_4 = T82_4;
      T83_5 = T82_5;
      T83_6 = T82_6;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T84_0 = T83_0;
    T84_1 = T83_1;
    T84_2 = T83_2;
    T84_3 = T83_3;
    T84_4 = T83_4;
    T84_5 = T83_5;
    T84_6 = T83_6;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  failureF85 = T84_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  dylan_nameF86 = T84_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  c_nameF87 = T84_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  key_optionsF88 = T84_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  dylan_functionF89 = T84_4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  result_spec_ = T84_5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  argsF91 = T84_6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (failureF85 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T101 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T102 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T101);
    T103 = T102;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_nameF92 = CONGRUENT_CALL1(dylan_nameF86);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T93 = CONGRUENT_CALL1(c_nameF87);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T111_0 = Kmatch_literalVdfmc_macro_expanderI(T93, &KPfalseVKi);
    T111_1 = MV_GET_ELT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF112 = T111_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    UfTUF113 = T111_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF112 != &KPfalseVKi) {
      failureF115 = failureF112;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T130 = primitive_idQ(UfTUF113,&KPempty_listVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (T130 != &KPfalseVKi) {
        T114 = &KPfalseVKi;
      } else {
        T114 = &KPtrueVKi;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF115 = T114;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF115 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T116_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(T93);
      T116_1 = MV_GET_ELT(1);
      T116_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF117 = T116_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      UfTUF118 = T116_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      xF119 = T116_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF117 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T120_0 = failureF117;
        T120_1 = &KPfalseVKi;
        T124_0 = T120_0;
        T124_1 = T120_1;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T121 = CONGRUENT_CALL1(UfTUF118);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (T121 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T131_0 = &KPfalseVKi;
          T131_1 = xF119;
          T123_0 = T131_0;
          T123_1 = T131_1;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T122_0 = &KPtrueVKi;
          T122_1 = &KPfalseVKi;
          T123_0 = T122_0;
          T123_1 = T122_1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T124_0 = T123_0;
        T124_1 = T123_1;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF125 = T124_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      xF126 = T124_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF125 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T128 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T129 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T93, T128, IKJc_name_);
        T132 = T129;
        T133 = T132;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        xF127 = CONGRUENT_CALL1(xF126);
        T133 = xF127;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T134 = T133;
    } else {
      T134 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T94 = CONGRUENT_CALL1(key_optionsF88);
    key_optionsF95 = Kkey_options_rewriterF346I(T94);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_functionF96 = CONGRUENT_CALL1(dylan_functionF89);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T97 = CONGRUENT_CALL1(result_spec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T135_0 = Kmatch_parensVdfmc_macro_expanderI(T97);
    T135_1 = MV_GET_ELT(1);
    T135_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF136 = T135_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    Uafter_fTUF137 = T135_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    Unested_fTUF138 = T135_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF136 != &KPfalseVKi) {
      failureF150 = failureF136;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T139_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF138, IKJresult_);
      T139_1 = MV_GET_ELT(1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF140 = T139_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      UfTUF141 = T139_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF140 != &KPfalseVKi) {
        failureF147 = failureF140;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T142_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF141, IKJvoid_);
        T142_1 = MV_GET_ELT(1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF143 = T142_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        UfTUF144 = T142_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF143 != &KPfalseVKi) {
          T146 = failureF143;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T213 = primitive_idQ(UfTUF144,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (T213 != &KPfalseVKi) {
            T145 = &KPfalseVKi;
          } else {
            T145 = &KPtrueVKi;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T146 = T145;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF147 = T146;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF147 != &KPfalseVKi) {
        T149 = failureF147;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T214 = primitive_idQ(Uafter_fTUF137,&KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (T214 != &KPfalseVKi) {
          T148 = &KPfalseVKi;
        } else {
          T148 = &KPtrueVKi;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T149 = T148;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF150 = T149;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF150 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T153_0 = Kmatch_parensVdfmc_macro_expanderI(T97);
      T153_1 = MV_GET_ELT(1);
      T153_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF154 = T153_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      Uafter_fTUF155 = T153_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      Unested_fTUF156 = T153_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF154 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T157_0 = failureF154;
        T157_1 = &KPfalseVKi;
        T157_2 = &KPfalseVKi;
        T157_3 = &KPfalseVKi;
        T201_0 = T157_0;
        T201_1 = T157_1;
        T201_2 = T157_2;
        T201_3 = T157_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T158_0 = Kmatch_list_partVdfmc_macro_expanderI(Unested_fTUF156);
        T158_1 = MV_GET_ELT(1);
        T158_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF159 = T158_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        UfT_afterUF160 = T158_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        UfT_beforeUF161 = T158_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF159 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T162_0 = failureF159;
          T162_1 = &KPfalseVKi;
          T162_2 = &KPfalseVKi;
          T162_3 = &KPfalseVKi;
          T192_0 = T162_0;
          T192_1 = T162_1;
          T192_2 = T162_2;
          T192_3 = T162_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T163_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF161, IKJresult_);
          T163_1 = MV_GET_ELT(1);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF164 = T163_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          UfTUF165 = T163_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF164 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T166_0 = failureF164;
            T166_1 = &KPfalseVKi;
            T166_2 = &KPfalseVKi;
            T186_0 = T166_0;
            T186_1 = T166_1;
            T186_2 = T166_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T167_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF165);
            T167_1 = MV_GET_ELT(1);
            T167_2 = MV_GET_ELT(2);
            T167_3 = MV_GET_ELT(3);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            failureF168 = T167_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Uafter_fTUF169 = T167_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Uname_fTU_ = T167_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Utype_fTU_ = T167_3;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            if (failureF168 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T172_0 = failureF168;
              T172_1 = &KPfalseVKi;
              T172_2 = &KPfalseVKi;
              T185_0 = T172_0;
              T185_1 = T172_1;
              T185_2 = T172_2;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T173_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T173_1 = MV_GET_ELT(1);
              T173_2 = MV_GET_ELT(2);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              failureF174 = T173_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              result_nameF175 = T173_2;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              if (failureF174 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T176_0 = failureF174;
                T176_1 = &KPfalseVKi;
                T176_2 = &KPfalseVKi;
                T184_0 = T176_0;
                T184_1 = T176_1;
                T184_2 = T176_2;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T177_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T177_1 = MV_GET_ELT(1);
                T177_2 = MV_GET_ELT(2);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                failureF178 = T177_0;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                typeF179 = T177_2;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                if (failureF178 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T180_0 = failureF178;
                  T180_1 = &KPfalseVKi;
                  T180_2 = &KPfalseVKi;
                  T183_0 = T180_0;
                  T183_1 = T180_1;
                  T183_2 = T180_2;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T216 = primitive_idQ(Uafter_fTUF169,&KPempty_listVKi);
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  if (T216 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T217_0 = &KPfalseVKi;
                    T217_1 = result_nameF175;
                    T217_2 = typeF179;
                    T182_0 = T217_0;
                    T182_1 = T217_1;
                    T182_2 = T217_2;
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T181_0 = &KPtrueVKi;
                    T181_1 = &KPfalseVKi;
                    T181_2 = &KPfalseVKi;
                    T182_0 = T181_0;
                    T182_1 = T181_1;
                    T182_2 = T181_2;
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T183_0 = T182_0;
                  T183_1 = T182_1;
                  T183_2 = T182_2;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T184_0 = T183_0;
                T184_1 = T183_1;
                T184_2 = T183_2;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T185_0 = T184_0;
              T185_1 = T184_1;
              T185_2 = T184_2;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T186_0 = T185_0;
            T186_1 = T185_1;
            T186_2 = T185_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF187 = T186_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          result_nameF188 = T186_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          typeF189 = T186_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF187 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T190_0 = failureF187;
            T190_1 = &KPfalseVKi;
            T190_2 = &KPfalseVKi;
            T190_3 = &KPfalseVKi;
            T191_0 = T190_0;
            T191_1 = T190_1;
            T191_2 = T190_2;
            T191_3 = T190_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T218_0 = &KPfalseVKi;
            T218_1 = result_nameF188;
            T218_2 = typeF189;
            T218_3 = UfT_afterUF160;
            T191_0 = T218_0;
            T191_1 = T218_1;
            T191_2 = T218_2;
            T191_3 = T218_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T192_0 = T191_0;
          T192_1 = T191_1;
          T192_2 = T191_2;
          T192_3 = T191_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF193 = T192_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        result_nameF194 = T192_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        typeF195 = T192_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        key_optionsF196 = T192_3;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF193 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T197_0 = failureF193;
          T197_1 = &KPfalseVKi;
          T197_2 = &KPfalseVKi;
          T197_3 = &KPfalseVKi;
          T200_0 = T197_0;
          T200_1 = T197_1;
          T200_2 = T197_2;
          T200_3 = T197_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T219 = primitive_idQ(Uafter_fTUF155,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (T219 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T220_0 = &KPfalseVKi;
            T220_1 = result_nameF194;
            T220_2 = typeF195;
            T220_3 = key_optionsF196;
            T199_0 = T220_0;
            T199_1 = T220_1;
            T199_2 = T220_2;
            T199_3 = T220_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T198_0 = &KPtrueVKi;
            T198_1 = &KPfalseVKi;
            T198_2 = &KPfalseVKi;
            T198_3 = &KPfalseVKi;
            T199_0 = T198_0;
            T199_1 = T198_1;
            T199_2 = T198_2;
            T199_3 = T198_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T200_0 = T199_0;
          T200_1 = T199_1;
          T200_2 = T199_2;
          T200_3 = T199_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T201_0 = T200_0;
        T201_1 = T200_1;
        T201_2 = T200_2;
        T201_3 = T200_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF202 = T201_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      result_nameF203 = T201_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      typeF204 = T201_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      key_optionsF205 = T201_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF202 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T211 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T212 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T97, T211, IKJresult_spec_);
        T222 = T212;
        T224 = T222;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        result_nameF206 = CONGRUENT_CALL1(result_nameF203);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF207 = CONGRUENT_CALL1(typeF204);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T208 = CONGRUENT_CALL1(key_optionsF205);
        key_optionsF209 = Kkey_options_rewriterF346I(T208);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:590
        T221.vector_element_[0] = &KLc_ffi_result_descriptorGVdfmc_c_ffi;
        T221.vector_element_[1] = &KJname_;
        T221.vector_element_[2] = result_nameF206;
        T221.vector_element_[3] = IKJdesignator_name_;
        T221.vector_element_[4] = typeF207;
        T221.vector_element_[5] = key_optionsF209;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:590
        T210 = KapplyVKdI(&KmakeVKd, &T221);
        T223 = T210;
        T224 = T223;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T226 = T224;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:587
      T151 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:586
      T215.vector_element_[0] = &KJname_;
      T215.vector_element_[1] = T151;
      T215.vector_element_[2] = IKJvoidQ_;
      T215.vector_element_[3] = &KPtrueVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:586
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T152 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T215);
      T225 = T152;
      T226 = T225;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T98 = CONGRUENT_CALL1(argsF91);
    argsF99 = Kargs_rewriterF345I(T98);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:567
    T100 = Kexpand_make_c_callableVdfmc_c_ffiMM0I(form_, dylan_nameF92, T134, argsF99, T226, dylan_functionF96, key_optionsF95);
    T103 = T100;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  return(T103);
}

D Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0I (D env_, D form_) {
  D T3;
  D T4_0;
  D T4_1;
  D failureF5;
  D UfTUF6;
  D T7_0;
  D T7_1;
  D T7_2;
  D T7_3;
  D T8_0;
  D T8_1;
  D T8_2;
  D failureF9;
  D UfTUF10;
  D dylan_nameF11;
  D T12_0;
  D T12_1;
  D T12_2;
  D T12_3;
  D T13_0;
  D T13_1;
  D failureF14;
  D UfTUF15;
  D T16_0;
  D T16_1;
  D T16_2;
  D T16_3;
  D T17_0;
  D T17_1;
  D T17_2;
  D failureF18;
  D UfTUF19;
  D dylan_funcF20;
  D T21_0;
  D T21_1;
  D T21_2;
  D T21_3;
  D T22_0;
  D T22_1;
  D T22_2;
  D T22_3;
  D T23_0;
  D T23_1;
  D T23_2;
  D T23_3;
  D T24_0;
  D T24_1;
  D T24_2;
  D T24_3;
  D T25_0;
  D T25_1;
  D T25_2;
  D T25_3;
  D failureF26;
  D dylan_nameF27;
  D dylan_funcF28;
  D specF29;
  D dylan_nameF30;
  D dylan_funcF31;
  D T32;
  D specF33;
  D T34_0;
  D T34_1;
  D T34_2;
  D T34_3;
  D arg_specsF35;
  D result_specF36;
  D c_nameF37;
  D optionsF38;
  D make_c_callable_fragmentF39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46_0;
  D T46_1;
  D failureF47;
  D UfTUF48;
  D T49_0;
  D T49_1;
  D T49_2;
  D T50_0;
  D T50_1;
  D failureF51;
  D UfTUF52;
  D T53_0;
  D T53_1;
  D T53_2;
  D T54_0;
  D T54_1;
  D T54_2;
  D failureF55;
  D UfTUF56;
  D dylan_funcF57;
  D T58_0;
  D T58_1;
  D T58_2;
  D T59_0;
  D T59_1;
  D T59_2;
  D T60_0;
  D T60_1;
  D T60_2;
  D T61_0;
  D T61_1;
  D T61_2;
  D failureF62;
  D dylan_funcF63;
  D specF64;
  D dylan_funcF65;
  D T66;
  D specF67;
  D macro_variable_;
  D T69;
  D T70;
  D dylan_nameF71;
  D T72_0;
  D T72_1;
  D T72_2;
  D T72_3;
  D arg_specsF73;
  D result_specF74;
  D c_nameF75;
  D optionsF76;
  D make_c_callable_fragmentF77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87;
  D T88;
  D T89_0;
  D T89_1;
  D T89_2;
  D T89_3;
  _KLsimple_object_vectorGVKd_5 T90 = {&KLsimple_object_vectorGVKdW, (D) 21};
  D T91_0;
  D T91_1;
  D T91_2;
  _KLsimple_object_vectorGVKd_3 T92 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_6 T93 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  T4_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  failureF5 = T4_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  UfTUF6 = T4_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  if (failureF5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    T7_0 = failureF5;
    T7_1 = &KPfalseVKi;
    T7_2 = &KPfalseVKi;
    T7_3 = &KPfalseVKi;
    T25_0 = T7_0;
    T25_1 = T7_1;
    T25_2 = T7_2;
    T25_3 = T7_3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    T8_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF6);
    T8_1 = MV_GET_ELT(1);
    T8_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    failureF9 = T8_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    UfTUF10 = T8_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    dylan_nameF11 = T8_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    if (failureF9 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T12_0 = failureF9;
      T12_1 = &KPfalseVKi;
      T12_2 = &KPfalseVKi;
      T12_3 = &KPfalseVKi;
      T24_0 = T12_0;
      T24_1 = T12_1;
      T24_2 = T12_2;
      T24_3 = T12_3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T13_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF10, IKJof_);
      T13_1 = MV_GET_ELT(1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      failureF14 = T13_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      UfTUF15 = T13_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      if (failureF14 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        T16_0 = failureF14;
        T16_1 = &KPfalseVKi;
        T16_2 = &KPfalseVKi;
        T16_3 = &KPfalseVKi;
        T23_0 = T16_0;
        T23_1 = T16_1;
        T23_2 = T16_2;
        T23_3 = T16_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        T17_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF15);
        T17_1 = MV_GET_ELT(1);
        T17_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        failureF18 = T17_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        UfTUF19 = T17_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        dylan_funcF20 = T17_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        if (failureF18 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
          T21_0 = failureF18;
          T21_1 = &KPfalseVKi;
          T21_2 = &KPfalseVKi;
          T21_3 = &KPfalseVKi;
          T22_0 = T21_0;
          T22_1 = T21_1;
          T22_2 = T21_2;
          T22_3 = T21_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
          T89_0 = &KPfalseVKi;
          T89_1 = dylan_nameF11;
          T89_2 = dylan_funcF20;
          T89_3 = UfTUF19;
          T22_0 = T89_0;
          T22_1 = T89_1;
          T22_2 = T89_2;
          T22_3 = T89_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        T23_0 = T22_0;
        T23_1 = T22_1;
        T23_2 = T22_2;
        T23_3 = T22_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T24_0 = T23_0;
      T24_1 = T23_1;
      T24_2 = T23_2;
      T24_3 = T23_3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    T25_0 = T24_0;
    T25_1 = T24_1;
    T25_2 = T24_2;
    T25_3 = T24_3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  failureF26 = T25_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  dylan_nameF27 = T25_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  dylan_funcF28 = T25_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  specF29 = T25_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  if (failureF26 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    T46_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(T3);
    T46_1 = MV_GET_ELT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    failureF47 = T46_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    UfTUF48 = T46_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    if (failureF47 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T49_0 = failureF47;
      T49_1 = &KPfalseVKi;
      T49_2 = &KPfalseVKi;
      T61_0 = T49_0;
      T61_1 = T49_1;
      T61_2 = T49_2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T50_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF48, IKJof_);
      T50_1 = MV_GET_ELT(1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      failureF51 = T50_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      UfTUF52 = T50_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      if (failureF51 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        T53_0 = failureF51;
        T53_1 = &KPfalseVKi;
        T53_2 = &KPfalseVKi;
        T60_0 = T53_0;
        T60_1 = T53_1;
        T60_2 = T53_2;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        T54_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF52);
        T54_1 = MV_GET_ELT(1);
        T54_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        failureF55 = T54_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        UfTUF56 = T54_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        dylan_funcF57 = T54_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        if (failureF55 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
          T58_0 = failureF55;
          T58_1 = &KPfalseVKi;
          T58_2 = &KPfalseVKi;
          T59_0 = T58_0;
          T59_1 = T58_1;
          T59_2 = T58_2;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
          T91_0 = &KPfalseVKi;
          T91_1 = dylan_funcF57;
          T91_2 = UfTUF56;
          T59_0 = T91_0;
          T59_1 = T91_1;
          T59_2 = T91_2;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
        T60_0 = T59_0;
        T60_1 = T59_1;
        T60_2 = T59_2;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T61_0 = T60_0;
      T61_1 = T60_1;
      T61_2 = T60_2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    failureF62 = T61_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    dylan_funcF63 = T61_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    specF64 = T61_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    if (failureF62 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T85 = Kdylan_variable_nameVdfmc_readerI(IKJc_callable_wrapper_definer_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T86 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T85);
      T87 = T86;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      dylan_funcF65 = CONGRUENT_CALL1(dylan_funcF63);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T66 = CONGRUENT_CALL1(specF64);
      specF67 = Kspec_rewriterF280I(T66);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:654
      CONGRUENT_CALL_PROLOG(&Kfragment_macroVdfmc_reader, 1);
      macro_variable_ = CONGRUENT_CALL1(form_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:656
      T69 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:656
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T70 = CONGRUENT_CALL2(&KLstringGVKd, T69);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:656
      T92.vector_element_[0] = macro_variable_;
      T92.vector_element_[1] = &K220;
      T92.vector_element_[2] = T70;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:656
      dylan_nameF71 = KgensymVdfmc_c_ffiMM0I(&T92);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
      T72_0 = CALL2(&Kparse_c_function_specVdfmc_c_ffiMM0, dylan_nameF71, specF67);
      T72_1 = MV_GET_ELT(1);
      T72_2 = MV_GET_ELT(2);
      T72_3 = MV_GET_ELT(3);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:657
      arg_specsF73 = T72_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:657
      result_specF74 = T72_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:657
      c_nameF75 = T72_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:657
      optionsF76 = T72_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:660
      make_c_callable_fragmentF77 = Kgenerate_c_callable_bodyVdfmc_c_ffiMM0I(&K224, c_nameF75, arg_specsF73, result_specF74, dylan_funcF65, optionsF76);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      T79 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      T80 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T81 = CONGRUENT_CALL1(make_c_callable_fragmentF77);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      T82 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T83 = CONGRUENT_CALL2(T82, dylan_nameF71);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      T93.vector_element_[0] = T78;
      T93.vector_element_[1] = T79;
      T93.vector_element_[2] = dylan_nameF71;
      T93.vector_element_[3] = T80;
      T93.vector_element_[4] = T81;
      T93.vector_element_[5] = T83;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:662
      T84 = Kmake_templateVdfmc_macro_expanderI(&T93);
      T87 = T84;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    T88 = T87;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_nameF30 = CONGRUENT_CALL1(dylan_nameF27);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_funcF31 = CONGRUENT_CALL1(dylan_funcF28);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T32 = CONGRUENT_CALL1(specF29);
    specF33 = Kspec_rewriterF280I(T32);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:644
    T34_0 = CALL2(&Kparse_c_function_specVdfmc_c_ffiMM0, dylan_nameF30, specF33);
    T34_1 = MV_GET_ELT(1);
    T34_2 = MV_GET_ELT(2);
    T34_3 = MV_GET_ELT(3);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:643
    arg_specsF35 = T34_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:643
    result_specF36 = T34_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:643
    c_nameF37 = T34_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:643
    optionsF38 = T34_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:646
    make_c_callable_fragmentF39 = Kgenerate_c_callable_bodyVdfmc_c_ffiMM0I(dylan_nameF30, c_nameF37, arg_specsF35, result_specF36, dylan_funcF31, optionsF38);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T40 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T41 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T42 = CONGRUENT_CALL1(dylan_nameF30);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T43 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T44 = CONGRUENT_CALL1(make_c_callable_fragmentF39);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T90.vector_element_[0] = T40;
    T90.vector_element_[1] = T41;
    T90.vector_element_[2] = T42;
    T90.vector_element_[3] = T43;
    T90.vector_element_[4] = T44;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T45 = Kmake_templateVdfmc_macro_expanderI(&T90);
    T88 = T45;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  return(T88);
}

static D K209I () {
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:683
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:683
  T0 = &KPempty_listVKi;
  MV_SET_ELT(0, &KPempty_listVKi);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:683
  return(T0);
}

D Kc_function_body_expanderVdfmc_c_ffiMM0I (D env_, D form_) {
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterUF6;
  D UfT_beforeUF7;
  D T8_0;
  D T8_1;
  D T8_2;
  D T8_3;
  D T8_4;
  D T8_5;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D UfTUF11;
  D function_nameF12;
  D T13_0;
  D T13_1;
  D T13_2;
  D T14_0;
  D T14_1;
  D T14_2;
  D failureF15;
  D Uafter_fTUF16;
  D Unested_fTUF17;
  D T18_0;
  D T18_1;
  D T18_2;
  D T19_0;
  D T19_1;
  D failureF20;
  D UfTUF21;
  D T22_0;
  D T22_1;
  D T23_0;
  D T23_1;
  D T23_2;
  D failureF24;
  D UfTUF25;
  D c_nameF26;
  D T27_0;
  D T27_1;
  D T28;
  D T29_0;
  D T29_1;
  D T30_0;
  D T30_1;
  D T31_0;
  D T31_1;
  D T32_0;
  D T32_1;
  D failureF33;
  D c_nameF34;
  D T35_0;
  D T35_1;
  D T35_2;
  D T36_0;
  D T36_1;
  D T36_2;
  D T37_0;
  D T37_1;
  D T37_2;
  D T38_0;
  D T38_1;
  D T38_2;
  D T39_0;
  D T39_1;
  D T39_2;
  D T40_0;
  D T40_1;
  D T40_2;
  D failureF41;
  D function_nameF42;
  D c_nameF43;
  D T44_0;
  D T44_1;
  D T44_2;
  D T44_3;
  D T44_4;
  D T44_5;
  D T45_0;
  D T45_1;
  D T45_2;
  D failureF46;
  D UfT_afterUF47;
  D UfT_beforeUF48;
  D T49_0;
  D T49_1;
  D T49_2;
  D T49_3;
  D T49_4;
  D T49_5;
  D T50_0;
  D T50_1;
  D T50_2;
  D failureF51;
  D Uafter_fTUF52;
  D Unested_fTUF53;
  D T54_0;
  D T54_1;
  D T55_0;
  D T55_1;
  D failureF56;
  D UfTUF57;
  D T58_0;
  D T58_1;
  D T59_0;
  D T59_1;
  D failureF60;
  D key_optionsF61;
  D T62_0;
  D T62_1;
  D T63_0;
  D T63_1;
  D T64_0;
  D T64_1;
  D T65_0;
  D T65_1;
  D T66_0;
  D T66_1;
  D failureF67;
  D key_optionsF68;
  D T69_0;
  D T69_1;
  D T69_2;
  D T69_3;
  D T69_4;
  D T69_5;
  D T70_0;
  D T70_1;
  D T70_2;
  D failureF71;
  D UfT_afterUF72;
  D UfT_beforeUF73;
  D T74_0;
  D T74_1;
  D T74_2;
  D T74_3;
  D T74_4;
  D T74_5;
  D T75_0;
  D T75_1;
  D T75_2;
  D T75_3;
  D T75_4;
  D T75_5;
  D T76_0;
  D T76_1;
  D T76_2;
  D T76_3;
  D T76_4;
  D T76_5;
  D T77_0;
  D T77_1;
  D T77_2;
  D T77_3;
  D T77_4;
  D T77_5;
  D T78_0;
  D T78_1;
  D T78_2;
  D T78_3;
  D T78_4;
  D T78_5;
  D T79_0;
  D T79_1;
  D T79_2;
  D T79_3;
  D T79_4;
  D T79_5;
  D failureF80;
  D function_nameF81;
  D c_nameF82;
  D key_optionsF83;
  D result_spec_;
  D argsF85;
  D function_nameF86;
  D T87;
  D key_optionsF88;
  D T89;
  D T90;
  D argsF91;
  D T92;
  D T93;
  D T94;
  D T95;
  D T96_0;
  D T96_1;
  D T97;
  D T98_0;
  D T98_1;
  D T98_2;
  D T99_0;
  D T99_1;
  D T100;
  D T101_0;
  D T101_1;
  D T102_0;
  D T102_1;
  D T102_2;
  D T102_3;
  D T102_4;
  D T102_5;
  D T103_0;
  D T103_1;
  D T103_2;
  D failureF104;
  D Uafter_fTUF105;
  D Unested_fTUF106;
  D T107_0;
  D T107_1;
  D failureF108;
  D UfTUF109;
  D T110_0;
  D T110_1;
  D failureF111;
  D UfTUF112;
  D T113;
  D T114;
  D failureF115;
  D T116;
  D T117;
  D failureF118;
  D T119;
  D T120;
  D T121_0;
  D T121_1;
  D T121_2;
  D failureF122;
  D Uafter_fTUF123;
  D Unested_fTUF124;
  D T125_0;
  D T125_1;
  D T125_2;
  D T125_3;
  D T126_0;
  D T126_1;
  D T126_2;
  D failureF127;
  D UfT_afterUF128;
  D UfT_beforeUF129;
  D T130_0;
  D T130_1;
  D T130_2;
  D T130_3;
  D T131_0;
  D T131_1;
  D failureF132;
  D UfTUF133;
  D T134_0;
  D T134_1;
  D T134_2;
  D T135_0;
  D T135_1;
  D T135_2;
  D T135_3;
  D failureF136;
  D Uafter_fTUF137;
  D Uname_fTU_;
  D Utype_fTU_;
  D T140_0;
  D T140_1;
  D T140_2;
  D T141_0;
  D T141_1;
  D T141_2;
  D failureF142;
  D result_nameF143;
  D T144_0;
  D T144_1;
  D T144_2;
  D T145_0;
  D T145_1;
  D T145_2;
  D failureF146;
  D typeF147;
  D T148_0;
  D T148_1;
  D T148_2;
  D T149_0;
  D T149_1;
  D T149_2;
  D T150_0;
  D T150_1;
  D T150_2;
  D T151_0;
  D T151_1;
  D T151_2;
  D T152_0;
  D T152_1;
  D T152_2;
  D T153_0;
  D T153_1;
  D T153_2;
  D T154_0;
  D T154_1;
  D T154_2;
  D failureF155;
  D result_nameF156;
  D typeF157;
  D T158_0;
  D T158_1;
  D T158_2;
  D T158_3;
  D T159_0;
  D T159_1;
  D T159_2;
  D T159_3;
  D T160_0;
  D T160_1;
  D T160_2;
  D T160_3;
  D failureF161;
  D result_nameF162;
  D typeF163;
  D key_optionsF164;
  D T165_0;
  D T165_1;
  D T165_2;
  D T165_3;
  D T166_0;
  D T166_1;
  D T166_2;
  D T166_3;
  D T167_0;
  D T167_1;
  D T167_2;
  D T167_3;
  D T168_0;
  D T168_1;
  D T168_2;
  D T168_3;
  D T169_0;
  D T169_1;
  D T169_2;
  D T169_3;
  D failureF170;
  D result_nameF171;
  D typeF172;
  D key_optionsF173;
  D result_nameF174;
  D typeF175;
  D T176;
  D key_optionsF177;
  D T178;
  D T179;
  D T180;
  D T181;
  D T182;
  _KLsimple_object_vectorGVKd_4 T183 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T184;
  D T185_0;
  D T185_1;
  D T185_2;
  D T186_0;
  D T186_1;
  D T186_2;
  D T186_3;
  D T187;
  D T188_0;
  D T188_1;
  D T188_2;
  D T188_3;
  _KLsimple_object_vectorGVKd_6 T189 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T190;
  D T191;
  D T192;
  D T193;
  D T194;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  failureF5 = T4_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  UfT_afterUF6 = T4_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  UfT_beforeUF7 = T4_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  if (failureF5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T8_4 = &KPfalseVKi;
    T8_5 = &KPfalseVKi;
    T79_0 = T8_0;
    T79_1 = T8_1;
    T79_2 = T8_2;
    T79_3 = T8_3;
    T79_4 = T8_4;
    T79_5 = T8_5;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T9_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    failureF10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    UfTUF11 = T9_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    function_nameF12 = T9_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T13_2 = &KPfalseVKi;
      T40_0 = T13_0;
      T40_1 = T13_1;
      T40_2 = T13_2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T14_0 = Kmatch_parensVdfmc_macro_expanderI(UfTUF11);
      T14_1 = MV_GET_ELT(1);
      T14_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF15 = T14_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      Uafter_fTUF16 = T14_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      Unested_fTUF17 = T14_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF15 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T18_0 = failureF15;
        T18_1 = &KPfalseVKi;
        T18_2 = &KPfalseVKi;
        T39_0 = T18_0;
        T39_1 = T18_1;
        T39_2 = T18_2;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T19_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF17, IKJc_name_);
        T19_1 = MV_GET_ELT(1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF20 = T19_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfTUF21 = T19_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF20 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T22_0 = failureF20;
          T22_1 = &KPfalseVKi;
          T32_0 = T22_0;
          T32_1 = T22_1;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T23_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF21);
          T23_1 = MV_GET_ELT(1);
          T23_2 = MV_GET_ELT(2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF24 = T23_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          UfTUF25 = T23_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          c_nameF26 = T23_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF24 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T27_0 = failureF24;
            T27_1 = &KPfalseVKi;
            T31_0 = T27_0;
            T31_1 = T27_1;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T28 = CONGRUENT_CALL1(UfTUF25);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            if (T28 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T96_0 = &KPfalseVKi;
              T96_1 = c_nameF26;
              T30_0 = T96_0;
              T30_1 = T96_1;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T29_0 = &KPtrueVKi;
              T29_1 = &KPfalseVKi;
              T30_0 = T29_0;
              T30_1 = T29_1;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T31_0 = T30_0;
            T31_1 = T30_1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T32_0 = T31_0;
          T32_1 = T31_1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF33 = T32_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        c_nameF34 = T32_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF33 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T35_0 = failureF33;
          T35_1 = &KPfalseVKi;
          T35_2 = &KPfalseVKi;
          T38_0 = T35_0;
          T38_1 = T35_1;
          T38_2 = T35_2;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T97 = primitive_idQ(Uafter_fTUF16,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (T97 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T98_0 = &KPfalseVKi;
            T98_1 = function_nameF12;
            T98_2 = c_nameF34;
            T37_0 = T98_0;
            T37_1 = T98_1;
            T37_2 = T98_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T36_0 = &KPtrueVKi;
            T36_1 = &KPfalseVKi;
            T36_2 = &KPfalseVKi;
            T37_0 = T36_0;
            T37_1 = T36_1;
            T37_2 = T36_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T38_0 = T37_0;
          T38_1 = T37_1;
          T38_2 = T37_2;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T39_0 = T38_0;
        T39_1 = T38_1;
        T39_2 = T38_2;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T40_0 = T39_0;
      T40_1 = T39_1;
      T40_2 = T39_2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    failureF41 = T40_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    function_nameF42 = T40_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    c_nameF43 = T40_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF41 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T44_0 = failureF41;
      T44_1 = &KPfalseVKi;
      T44_2 = &KPfalseVKi;
      T44_3 = &KPfalseVKi;
      T44_4 = &KPfalseVKi;
      T44_5 = &KPfalseVKi;
      T78_0 = T44_0;
      T78_1 = T44_1;
      T78_2 = T44_2;
      T78_3 = T44_3;
      T78_4 = T44_4;
      T78_5 = T44_5;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T45_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF6);
      T45_1 = MV_GET_ELT(1);
      T45_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF46 = T45_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      UfT_afterUF47 = T45_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      UfT_beforeUF48 = T45_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF46 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T49_0 = failureF46;
        T49_1 = &KPfalseVKi;
        T49_2 = &KPfalseVKi;
        T49_3 = &KPfalseVKi;
        T49_4 = &KPfalseVKi;
        T49_5 = &KPfalseVKi;
        T77_0 = T49_0;
        T77_1 = T49_1;
        T77_2 = T49_2;
        T77_3 = T49_3;
        T77_4 = T49_4;
        T77_5 = T49_5;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T50_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_beforeUF48);
        T50_1 = MV_GET_ELT(1);
        T50_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF51 = T50_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        Uafter_fTUF52 = T50_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        Unested_fTUF53 = T50_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF51 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T54_0 = failureF51;
          T54_1 = &KPfalseVKi;
          T66_0 = T54_0;
          T66_1 = T54_1;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T55_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF53, IKJoptions_);
          T55_1 = MV_GET_ELT(1);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF56 = T55_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          UfTUF57 = T55_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF56 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T58_0 = failureF56;
            T58_1 = &KPfalseVKi;
            T59_0 = T58_0;
            T59_1 = T58_1;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T99_0 = &KPfalseVKi;
            T99_1 = UfTUF57;
            T59_0 = T99_0;
            T59_1 = T99_1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF60 = T59_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          key_optionsF61 = T59_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF60 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T62_0 = failureF60;
            T62_1 = &KPfalseVKi;
            T65_0 = T62_0;
            T65_1 = T62_1;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T100 = primitive_idQ(Uafter_fTUF52,&KPempty_listVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            if (T100 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T101_0 = &KPfalseVKi;
              T101_1 = key_optionsF61;
              T64_0 = T101_0;
              T64_1 = T101_1;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T63_0 = &KPtrueVKi;
              T63_1 = &KPfalseVKi;
              T64_0 = T63_0;
              T64_1 = T63_1;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T65_0 = T64_0;
            T65_1 = T64_1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T66_0 = T65_0;
          T66_1 = T65_1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF67 = T66_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        key_optionsF68 = T66_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF67 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T69_0 = failureF67;
          T69_1 = &KPfalseVKi;
          T69_2 = &KPfalseVKi;
          T69_3 = &KPfalseVKi;
          T69_4 = &KPfalseVKi;
          T69_5 = &KPfalseVKi;
          T76_0 = T69_0;
          T76_1 = T69_1;
          T76_2 = T69_2;
          T76_3 = T69_3;
          T76_4 = T69_4;
          T76_5 = T69_5;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T70_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF47);
          T70_1 = MV_GET_ELT(1);
          T70_2 = MV_GET_ELT(2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF71 = T70_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          UfT_afterUF72 = T70_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          UfT_beforeUF73 = T70_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF71 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T74_0 = failureF71;
            T74_1 = &KPfalseVKi;
            T74_2 = &KPfalseVKi;
            T74_3 = &KPfalseVKi;
            T74_4 = &KPfalseVKi;
            T74_5 = &KPfalseVKi;
            T75_0 = T74_0;
            T75_1 = T74_1;
            T75_2 = T74_2;
            T75_3 = T74_3;
            T75_4 = T74_4;
            T75_5 = T74_5;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T102_0 = &KPfalseVKi;
            T102_1 = function_nameF42;
            T102_2 = c_nameF43;
            T102_3 = key_optionsF68;
            T102_4 = UfT_beforeUF73;
            T102_5 = UfT_afterUF72;
            T75_0 = T102_0;
            T75_1 = T102_1;
            T75_2 = T102_2;
            T75_3 = T102_3;
            T75_4 = T102_4;
            T75_5 = T102_5;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T76_0 = T75_0;
          T76_1 = T75_1;
          T76_2 = T75_2;
          T76_3 = T75_3;
          T76_4 = T75_4;
          T76_5 = T75_5;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T77_0 = T76_0;
        T77_1 = T76_1;
        T77_2 = T76_2;
        T77_3 = T76_3;
        T77_4 = T76_4;
        T77_5 = T76_5;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T78_0 = T77_0;
      T78_1 = T77_1;
      T78_2 = T77_2;
      T78_3 = T77_3;
      T78_4 = T77_4;
      T78_5 = T77_5;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T79_0 = T78_0;
    T79_1 = T78_1;
    T79_2 = T78_2;
    T79_3 = T78_3;
    T79_4 = T78_4;
    T79_5 = T78_5;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  failureF80 = T79_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  function_nameF81 = T79_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  c_nameF82 = T79_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  key_optionsF83 = T79_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  result_spec_ = T79_4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  argsF85 = T79_5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  if (failureF80 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T93 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T94 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T93);
    T95 = T94;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    function_nameF86 = CONGRUENT_CALL1(function_nameF81);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    CONGRUENT_CALL1(c_nameF82);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T87 = CONGRUENT_CALL1(key_optionsF83);
    key_optionsF88 = Kkey_options_rewriterF201I(T87);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T89 = CONGRUENT_CALL1(result_spec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T103_0 = Kmatch_parensVdfmc_macro_expanderI(T89);
    T103_1 = MV_GET_ELT(1);
    T103_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    failureF104 = T103_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    Uafter_fTUF105 = T103_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    Unested_fTUF106 = T103_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF104 != &KPfalseVKi) {
      failureF118 = failureF104;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T107_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF106, IKJresult_);
      T107_1 = MV_GET_ELT(1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF108 = T107_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      UfTUF109 = T107_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF108 != &KPfalseVKi) {
        failureF115 = failureF108;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T110_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF109, IKJvoid_);
        T110_1 = MV_GET_ELT(1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF111 = T110_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfTUF112 = T110_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF111 != &KPfalseVKi) {
          T114 = failureF111;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T181 = primitive_idQ(UfTUF112,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (T181 != &KPfalseVKi) {
            T113 = &KPfalseVKi;
          } else {
            T113 = &KPtrueVKi;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T114 = T113;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF115 = T114;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF115 != &KPfalseVKi) {
        T117 = failureF115;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T182 = primitive_idQ(Uafter_fTUF105,&KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (T182 != &KPfalseVKi) {
          T116 = &KPfalseVKi;
        } else {
          T116 = &KPtrueVKi;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T117 = T116;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF118 = T117;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF118 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T121_0 = Kmatch_parensVdfmc_macro_expanderI(T89);
      T121_1 = MV_GET_ELT(1);
      T121_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF122 = T121_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      Uafter_fTUF123 = T121_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      Unested_fTUF124 = T121_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF122 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T125_0 = failureF122;
        T125_1 = &KPfalseVKi;
        T125_2 = &KPfalseVKi;
        T125_3 = &KPfalseVKi;
        T169_0 = T125_0;
        T169_1 = T125_1;
        T169_2 = T125_2;
        T169_3 = T125_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T126_0 = Kmatch_list_partVdfmc_macro_expanderI(Unested_fTUF124);
        T126_1 = MV_GET_ELT(1);
        T126_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF127 = T126_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfT_afterUF128 = T126_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfT_beforeUF129 = T126_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF127 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T130_0 = failureF127;
          T130_1 = &KPfalseVKi;
          T130_2 = &KPfalseVKi;
          T130_3 = &KPfalseVKi;
          T160_0 = T130_0;
          T160_1 = T130_1;
          T160_2 = T130_2;
          T160_3 = T130_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T131_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF129, IKJresult_);
          T131_1 = MV_GET_ELT(1);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF132 = T131_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          UfTUF133 = T131_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF132 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T134_0 = failureF132;
            T134_1 = &KPfalseVKi;
            T134_2 = &KPfalseVKi;
            T154_0 = T134_0;
            T154_1 = T134_1;
            T154_2 = T134_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T135_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF133);
            T135_1 = MV_GET_ELT(1);
            T135_2 = MV_GET_ELT(2);
            T135_3 = MV_GET_ELT(3);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            failureF136 = T135_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            Uafter_fTUF137 = T135_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            Uname_fTU_ = T135_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            Utype_fTU_ = T135_3;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            if (failureF136 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T140_0 = failureF136;
              T140_1 = &KPfalseVKi;
              T140_2 = &KPfalseVKi;
              T153_0 = T140_0;
              T153_1 = T140_1;
              T153_2 = T140_2;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T141_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T141_1 = MV_GET_ELT(1);
              T141_2 = MV_GET_ELT(2);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              failureF142 = T141_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              result_nameF143 = T141_2;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              if (failureF142 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T144_0 = failureF142;
                T144_1 = &KPfalseVKi;
                T144_2 = &KPfalseVKi;
                T152_0 = T144_0;
                T152_1 = T144_1;
                T152_2 = T144_2;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T145_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T145_1 = MV_GET_ELT(1);
                T145_2 = MV_GET_ELT(2);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                failureF146 = T145_0;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                typeF147 = T145_2;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                if (failureF146 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T148_0 = failureF146;
                  T148_1 = &KPfalseVKi;
                  T148_2 = &KPfalseVKi;
                  T151_0 = T148_0;
                  T151_1 = T148_1;
                  T151_2 = T148_2;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T184 = primitive_idQ(Uafter_fTUF137,&KPempty_listVKi);
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  if (T184 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                    T185_0 = &KPfalseVKi;
                    T185_1 = result_nameF143;
                    T185_2 = typeF147;
                    T150_0 = T185_0;
                    T150_1 = T185_1;
                    T150_2 = T185_2;
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                    T149_0 = &KPtrueVKi;
                    T149_1 = &KPfalseVKi;
                    T149_2 = &KPfalseVKi;
                    T150_0 = T149_0;
                    T150_1 = T149_1;
                    T150_2 = T149_2;
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T151_0 = T150_0;
                  T151_1 = T150_1;
                  T151_2 = T150_2;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T152_0 = T151_0;
                T152_1 = T151_1;
                T152_2 = T151_2;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T153_0 = T152_0;
              T153_1 = T152_1;
              T153_2 = T152_2;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T154_0 = T153_0;
            T154_1 = T153_1;
            T154_2 = T153_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF155 = T154_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          result_nameF156 = T154_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          typeF157 = T154_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF155 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T158_0 = failureF155;
            T158_1 = &KPfalseVKi;
            T158_2 = &KPfalseVKi;
            T158_3 = &KPfalseVKi;
            T159_0 = T158_0;
            T159_1 = T158_1;
            T159_2 = T158_2;
            T159_3 = T158_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T186_0 = &KPfalseVKi;
            T186_1 = result_nameF156;
            T186_2 = typeF157;
            T186_3 = UfT_afterUF128;
            T159_0 = T186_0;
            T159_1 = T186_1;
            T159_2 = T186_2;
            T159_3 = T186_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T160_0 = T159_0;
          T160_1 = T159_1;
          T160_2 = T159_2;
          T160_3 = T159_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF161 = T160_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        result_nameF162 = T160_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        typeF163 = T160_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        key_optionsF164 = T160_3;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF161 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T165_0 = failureF161;
          T165_1 = &KPfalseVKi;
          T165_2 = &KPfalseVKi;
          T165_3 = &KPfalseVKi;
          T168_0 = T165_0;
          T168_1 = T165_1;
          T168_2 = T165_2;
          T168_3 = T165_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T187 = primitive_idQ(Uafter_fTUF123,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (T187 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T188_0 = &KPfalseVKi;
            T188_1 = result_nameF162;
            T188_2 = typeF163;
            T188_3 = key_optionsF164;
            T167_0 = T188_0;
            T167_1 = T188_1;
            T167_2 = T188_2;
            T167_3 = T188_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T166_0 = &KPtrueVKi;
            T166_1 = &KPfalseVKi;
            T166_2 = &KPfalseVKi;
            T166_3 = &KPfalseVKi;
            T167_0 = T166_0;
            T167_1 = T166_1;
            T167_2 = T166_2;
            T167_3 = T166_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T168_0 = T167_0;
          T168_1 = T167_1;
          T168_2 = T167_2;
          T168_3 = T167_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T169_0 = T168_0;
        T169_1 = T168_1;
        T169_2 = T168_2;
        T169_3 = T168_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF170 = T169_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      result_nameF171 = T169_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      typeF172 = T169_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      key_optionsF173 = T169_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF170 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T179 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T180 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T89, T179, IKJresult_spec_);
        T190 = T180;
        T192 = T190;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        result_nameF174 = CONGRUENT_CALL1(result_nameF171);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF175 = CONGRUENT_CALL1(typeF172);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T176 = CONGRUENT_CALL1(key_optionsF173);
        key_optionsF177 = Kkey_options_rewriterF201I(T176);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1091
        T189.vector_element_[0] = &KLc_ffi_result_descriptorGVdfmc_c_ffi;
        T189.vector_element_[1] = &KJname_;
        T189.vector_element_[2] = result_nameF174;
        T189.vector_element_[3] = IKJdesignator_name_;
        T189.vector_element_[4] = typeF175;
        T189.vector_element_[5] = key_optionsF177;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1091
        T178 = KapplyVKdI(&KmakeVKd, &T189);
        T191 = T178;
        T192 = T191;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T194 = T192;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1088
      T119 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1087
      T183.vector_element_[0] = &KJname_;
      T183.vector_element_[1] = T119;
      T183.vector_element_[2] = IKJvoidQ_;
      T183.vector_element_[3] = &KPtrueVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1087
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T120 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T183);
      T193 = T120;
      T194 = T193;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T90 = CONGRUENT_CALL1(argsF85);
    argsF91 = Kargs_rewriterF190I(T90);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1069
    T92 = CALL5(&Kexpand_c_function_bodyVdfmc_c_ffiMM0, form_, function_nameF86, T194, argsF91, key_optionsF88);
    T95 = T92;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  return(T95);
}

D Kwith_stack_block_expanderVdfmc_c_ffiMM0I (D env_, D form_) {
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D Uafter_fTUF6;
  D Unested_fTU_;
  D T8_0;
  D T8_1;
  D T8_2;
  D T8_3;
  D T8_4;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D UfT_afterU_;
  D UfT_beforeU_;
  D T13_0;
  D T13_1;
  D T13_2;
  D T13_3;
  D T14_0;
  D T14_1;
  D T14_2;
  D T14_3;
  D failureF15;
  D Uafter_fTUF16;
  D Uname_fTU_;
  D Utype_fTU_;
  D T19_0;
  D T19_1;
  D T19_2;
  D T20_0;
  D T20_1;
  D T20_2;
  D failureF21;
  D varF22;
  D T23_0;
  D T23_1;
  D T23_2;
  D T24_0;
  D T24_1;
  D T24_2;
  D failureF25;
  D typeF26;
  D T27_0;
  D T27_1;
  D T27_2;
  D T28_0;
  D T28_1;
  D T28_2;
  D T29_0;
  D T29_1;
  D T29_2;
  D T30_0;
  D T30_1;
  D T30_2;
  D T31_0;
  D T31_1;
  D T31_2;
  D T32_0;
  D T32_1;
  D T32_2;
  D failureF33;
  D varF34;
  D typeF35;
  D T36_0;
  D T36_1;
  D T36_2;
  D T36_3;
  D T37_0;
  D T37_1;
  D T37_2;
  D T37_3;
  D failureF38;
  D UfTUF39;
  D sizeF40;
  D T41_0;
  D T41_1;
  D T41_2;
  D T41_3;
  D T42;
  D T43_0;
  D T43_1;
  D T43_2;
  D T43_3;
  D T44_0;
  D T44_1;
  D T44_2;
  D T44_3;
  D T45_0;
  D T45_1;
  D T45_2;
  D T45_3;
  D T46_0;
  D T46_1;
  D T46_2;
  D T46_3;
  D T47_0;
  D T47_1;
  D T47_2;
  D T47_3;
  D failureF48;
  D varF49;
  D typeF50;
  D sizeF51;
  D T52_0;
  D T52_1;
  D T52_2;
  D T52_3;
  D T52_4;
  D T53_0;
  D T53_1;
  D T53_2;
  D failureF54;
  D UfTUF55;
  D bodyF56;
  D T57_0;
  D T57_1;
  D T57_2;
  D T57_3;
  D T57_4;
  D T58_0;
  D T58_1;
  D T58_2;
  D T58_3;
  D T58_4;
  D T59_0;
  D T59_1;
  D T59_2;
  D T59_3;
  D T59_4;
  D T60_0;
  D T60_1;
  D T60_2;
  D T60_3;
  D T60_4;
  D T61_0;
  D T61_1;
  D T61_2;
  D T61_3;
  D T61_4;
  D T62_0;
  D T62_1;
  D T62_2;
  D T62_3;
  D T62_4;
  D failureF63;
  D varF64;
  D typeF65;
  D sizeF66;
  D bodyF67;
  D varF68;
  D typeF69;
  D sizeF70;
  D bodyF71;
  D destroy_;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87;
  D T88;
  D T89;
  D T90;
  D T91;
  D T92;
  D T93;
  D T94;
  D T95;
  D T96;
  D T97;
  D T98;
  D T99;
  D T100;
  D T101;
  D T102;
  D T103;
  D T104;
  D T105;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110;
  D T111;
  D T112;
  D T113;
  D T114;
  D T115;
  D T116;
  D T117;
  D T118;
  D T119;
  D T120_0;
  D T120_1;
  D T120_2;
  _KLsimple_object_vectorGVKd_3 T121 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T122_0;
  D T122_1;
  D T122_2;
  D T122_3;
  D T123;
  D T124_0;
  D T124_1;
  D T124_2;
  D T124_3;
  D T124_4;
  D T125;
  D T126;
  _KLsimple_object_vectorGVKd_4 T127 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T128 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T129 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_33 T130 = {&KLsimple_object_vectorGVKdW, (D) 133};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  T4_0 = Kmatch_parensVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  failureF5 = T4_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  Uafter_fTUF6 = T4_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  Unested_fTU_ = T4_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  if (failureF5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    T8_0 = failureF5;
    T8_1 = &KPfalseVKi;
    T8_2 = &KPfalseVKi;
    T8_3 = &KPfalseVKi;
    T8_4 = &KPfalseVKi;
    T62_0 = T8_0;
    T62_1 = T8_1;
    T62_2 = T8_2;
    T62_3 = T8_3;
    T62_4 = T8_4;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    T9_0 = Kmatch_list_partVdfmc_macro_expanderI(Unested_fTU_);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    failureF10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    UfT_afterU_ = T9_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    UfT_beforeU_ = T9_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    if (failureF10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T13_2 = &KPfalseVKi;
      T13_3 = &KPfalseVKi;
      T47_0 = T13_0;
      T47_1 = T13_1;
      T47_2 = T13_2;
      T47_3 = T13_3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      T14_0 = Kmatch_variableVdfmc_macro_expanderI(UfT_beforeU_);
      T14_1 = MV_GET_ELT(1);
      T14_2 = MV_GET_ELT(2);
      T14_3 = MV_GET_ELT(3);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      failureF15 = T14_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      Uafter_fTUF16 = T14_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      Uname_fTU_ = T14_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      Utype_fTU_ = T14_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      if (failureF15 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T19_0 = failureF15;
        T19_1 = &KPfalseVKi;
        T19_2 = &KPfalseVKi;
        T32_0 = T19_0;
        T32_1 = T19_1;
        T32_2 = T19_2;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T20_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
        T20_1 = MV_GET_ELT(1);
        T20_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        failureF21 = T20_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        varF22 = T20_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        if (failureF21 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          T23_0 = failureF21;
          T23_1 = &KPfalseVKi;
          T23_2 = &KPfalseVKi;
          T31_0 = T23_0;
          T31_1 = T23_1;
          T31_2 = T23_2;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          T24_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
          T24_1 = MV_GET_ELT(1);
          T24_2 = MV_GET_ELT(2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          failureF25 = T24_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          typeF26 = T24_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          if (failureF25 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
            T27_0 = failureF25;
            T27_1 = &KPfalseVKi;
            T27_2 = &KPfalseVKi;
            T30_0 = T27_0;
            T30_1 = T27_1;
            T30_2 = T27_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
            T119 = primitive_idQ(Uafter_fTUF16,&KPempty_listVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
            if (T119 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
              T120_0 = &KPfalseVKi;
              T120_1 = varF22;
              T120_2 = typeF26;
              T29_0 = T120_0;
              T29_1 = T120_1;
              T29_2 = T120_2;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
              T28_0 = &KPtrueVKi;
              T28_1 = &KPfalseVKi;
              T28_2 = &KPfalseVKi;
              T29_0 = T28_0;
              T29_1 = T28_1;
              T29_2 = T28_2;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
            T30_0 = T29_0;
            T30_1 = T29_1;
            T30_2 = T29_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          T31_0 = T30_0;
          T31_1 = T30_1;
          T31_2 = T30_2;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T32_0 = T31_0;
        T32_1 = T31_1;
        T32_2 = T31_2;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      failureF33 = T32_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      varF34 = T32_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      typeF35 = T32_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      if (failureF33 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T36_0 = failureF33;
        T36_1 = &KPfalseVKi;
        T36_2 = &KPfalseVKi;
        T36_3 = &KPfalseVKi;
        T46_0 = T36_0;
        T46_1 = T36_1;
        T46_2 = T36_2;
        T46_3 = T36_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T121.vector_element_[0] = &KJsize_;
        T121.vector_element_[1] = IKJexpression_;
        T121.vector_element_[2] = &KPfalseVKi;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T37_0 = Kmatch_property_listVdfmc_macro_expanderI(UfT_afterU_, &KPfalseVKi, &T121);
        T37_1 = MV_GET_ELT(1);
        T37_2 = MV_GET_ELT(2);
        T37_3 = MV_GET_ELT(3);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        failureF38 = T37_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        UfTUF39 = T37_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        sizeF40 = T37_3;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        if (failureF38 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          T41_0 = failureF38;
          T41_1 = &KPfalseVKi;
          T41_2 = &KPfalseVKi;
          T41_3 = &KPfalseVKi;
          T45_0 = T41_0;
          T45_1 = T41_1;
          T45_2 = T41_2;
          T45_3 = T41_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
          T42 = CONGRUENT_CALL1(UfTUF39);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          if (T42 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
            T122_0 = &KPfalseVKi;
            T122_1 = varF34;
            T122_2 = typeF35;
            T122_3 = sizeF40;
            T44_0 = T122_0;
            T44_1 = T122_1;
            T44_2 = T122_2;
            T44_3 = T122_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
            T43_0 = &KPtrueVKi;
            T43_1 = &KPfalseVKi;
            T43_2 = &KPfalseVKi;
            T43_3 = &KPfalseVKi;
            T44_0 = T43_0;
            T44_1 = T43_1;
            T44_2 = T43_2;
            T44_3 = T43_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          T45_0 = T44_0;
          T45_1 = T44_1;
          T45_2 = T44_2;
          T45_3 = T44_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T46_0 = T45_0;
        T46_1 = T45_1;
        T46_2 = T45_2;
        T46_3 = T45_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      T47_0 = T46_0;
      T47_1 = T46_1;
      T47_2 = T46_2;
      T47_3 = T46_3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    failureF48 = T47_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    varF49 = T47_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    typeF50 = T47_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    sizeF51 = T47_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    if (failureF48 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      T52_0 = failureF48;
      T52_1 = &KPfalseVKi;
      T52_2 = &KPfalseVKi;
      T52_3 = &KPfalseVKi;
      T52_4 = &KPfalseVKi;
      T61_0 = T52_0;
      T61_1 = T52_1;
      T61_2 = T52_2;
      T61_3 = T52_3;
      T61_4 = T52_4;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      T53_0 = Kmatch_bounded_body_constraintVdfmc_macro_expanderI(Uafter_fTUF6, &KPempty_listVKi);
      T53_1 = MV_GET_ELT(1);
      T53_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      failureF54 = T53_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      UfTUF55 = T53_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      bodyF56 = T53_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      if (failureF54 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T57_0 = failureF54;
        T57_1 = &KPfalseVKi;
        T57_2 = &KPfalseVKi;
        T57_3 = &KPfalseVKi;
        T57_4 = &KPfalseVKi;
        T60_0 = T57_0;
        T60_1 = T57_1;
        T60_2 = T57_2;
        T60_3 = T57_3;
        T60_4 = T57_4;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T123 = primitive_idQ(UfTUF55,&KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        if (T123 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          T124_0 = &KPfalseVKi;
          T124_1 = varF49;
          T124_2 = typeF50;
          T124_3 = sizeF51;
          T124_4 = bodyF56;
          T59_0 = T124_0;
          T59_1 = T124_1;
          T59_2 = T124_2;
          T59_3 = T124_3;
          T59_4 = T124_4;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
          T58_0 = &KPtrueVKi;
          T58_1 = &KPfalseVKi;
          T58_2 = &KPfalseVKi;
          T58_3 = &KPfalseVKi;
          T58_4 = &KPfalseVKi;
          T59_0 = T58_0;
          T59_1 = T58_1;
          T59_2 = T58_2;
          T59_3 = T58_3;
          T59_4 = T58_4;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
        T60_0 = T59_0;
        T60_1 = T59_1;
        T60_2 = T59_2;
        T60_3 = T59_3;
        T60_4 = T59_4;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
      T61_0 = T60_0;
      T61_1 = T60_1;
      T61_2 = T60_2;
      T61_3 = T60_3;
      T61_4 = T60_4;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    T62_0 = T61_0;
    T62_1 = T61_1;
    T62_2 = T61_2;
    T62_3 = T61_3;
    T62_4 = T61_4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  failureF63 = T62_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  varF64 = T62_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  typeF65 = T62_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  sizeF66 = T62_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  bodyF67 = T62_4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  if (failureF63 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    T116 = Kdylan_variable_nameVdfmc_readerI(IKJwith_stack_block_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    T117 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T116);
    T118 = T117;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    varF68 = CONGRUENT_CALL1(varF64);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    typeF69 = CONGRUENT_CALL1(typeF65);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    sizeF70 = CONGRUENT_CALL1(sizeF66);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    bodyF71 = CONGRUENT_CALL1(bodyF67);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1281
    destroy_ = CALL7(&Kmake_variable_name_likeVdfmc_readerMM0, varF68, &KJname_, IKJdestroy_, IKJrecord_, &KPfalseVKi, IKJsource_position_, &KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T73 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T74 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T75 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T76 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T125 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T77 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJblock_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T79 = KlistVKdI(&KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T80 = Kmake_parens_fragmentVdfmc_macro_expanderI(T79);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T81 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T82 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ58ZE_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T83 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmake_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T84 = CONGRUENT_CALL1(typeF69);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T85 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T126 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJsize_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T86 = CONGRUENT_CALL1(sizeF70);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T127.vector_element_[0] = T84;
    T127.vector_element_[1] = T85;
    T127.vector_element_[2] = T126;
    T127.vector_element_[3] = T86;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T87 = KlistVKdI(&T127);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T88 = Kmake_parens_fragmentVdfmc_macro_expanderI(T87);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T89 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T90 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T91 = CONGRUENT_CALL1(varF68);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T92 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T93 = CONGRUENT_CALL1(typeF69);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T94 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T95 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T96 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T97 = CONGRUENT_CALL1(bodyF71);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T98 = CONGRUENT_CALL2(T96, T97);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T99 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJcleanup_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T100 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T101 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T128.vector_element_[0] = T101;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T102 = KlistVKdI(&T128);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T103 = Kmake_parens_fragmentVdfmc_macro_expanderI(T102);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T104 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T129.vector_element_[0] = T104;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T105 = KlistVKdI(&T129);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T106 = Kmake_parens_fragmentVdfmc_macro_expanderI(T105);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T107 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T108 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T109 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T110 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T111 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T112 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJblock_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T113 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T114 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T130.vector_element_[0] = T73;
    T130.vector_element_[1] = T74;
    T130.vector_element_[2] = T75;
    T130.vector_element_[3] = T76;
    T130.vector_element_[4] = T125;
    T130.vector_element_[5] = T77;
    T130.vector_element_[6] = T78;
    T130.vector_element_[7] = T80;
    T130.vector_element_[8] = T81;
    T130.vector_element_[9] = T82;
    T130.vector_element_[10] = T83;
    T130.vector_element_[11] = T88;
    T130.vector_element_[12] = T89;
    T130.vector_element_[13] = T90;
    T130.vector_element_[14] = T91;
    T130.vector_element_[15] = T92;
    T130.vector_element_[16] = T93;
    T130.vector_element_[17] = T94;
    T130.vector_element_[18] = T95;
    T130.vector_element_[19] = T98;
    T130.vector_element_[20] = T99;
    T130.vector_element_[21] = T100;
    T130.vector_element_[22] = T103;
    T130.vector_element_[23] = destroy_;
    T130.vector_element_[24] = T106;
    T130.vector_element_[25] = T107;
    T130.vector_element_[26] = T108;
    T130.vector_element_[27] = T109;
    T130.vector_element_[28] = T110;
    T130.vector_element_[29] = T111;
    T130.vector_element_[30] = T112;
    T130.vector_element_[31] = T113;
    T130.vector_element_[32] = T114;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T115 = Kmake_templateVdfmc_macro_expanderI(&T130);
    T118 = T115;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  return(T118);
}

D Kc_ffi_default_inline_policyVdfmc_c_ffiI () {
  D T0_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:7
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:9
  T0_0 = Kmake_templateVdfmc_macro_expanderI(&KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:7
  MV_SET_COUNT(1);
  return(T0_0);
}

static D Kkey_options_rewriterF201I (D UfTU_) {
  D failureF2;
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterUF6;
  D UfT_beforeUF7;
  D T8_0;
  D T8_1;
  D T8_2;
  D T8_3;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D UfTUF11;
  D keyF12;
  D T13_0;
  D T13_1;
  D T14;
  D T15_0;
  D T15_1;
  D T16_0;
  D T16_1;
  D T17_0;
  D T17_1;
  D failureF18;
  D keyF19;
  D T20_0;
  D T20_1;
  D T20_2;
  D T20_3;
  D T21_0;
  D T21_1;
  D T21_2;
  D failureF22;
  D UfT_afterUF23;
  D UfT_beforeUF24;
  D T25_0;
  D T25_1;
  D T25_2;
  D T25_3;
  D T26_0;
  D T26_1;
  D T26_2;
  D failureF27;
  D UfTUF28;
  D valueF29;
  D T30_0;
  D T30_1;
  D T31;
  D T32_0;
  D T32_1;
  D T33_0;
  D T33_1;
  D T34_0;
  D T34_1;
  D failureF35;
  D valueF36;
  D T37_0;
  D T37_1;
  D T37_2;
  D T37_3;
  D T38_0;
  D T38_1;
  D T38_2;
  D T38_3;
  D T39_0;
  D T39_1;
  D T39_2;
  D T39_3;
  D T40_0;
  D T40_1;
  D T40_2;
  D T40_3;
  D T41_0;
  D T41_1;
  D T41_2;
  D T41_3;
  D failureF42;
  D keyF43;
  D valueF44;
  D key_optionsF45;
  D keyF46;
  D valueF47;
  D T48;
  D key_optionsF49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57_0;
  D T57_1;
  D T58_0;
  D T58_1;
  D T59_0;
  D T59_1;
  D T59_2;
  D T59_3;
  D T60;
  D T61;
  D T62_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  T56 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  if (T56 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  if (failureF2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    failureF5 = T4_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    UfT_afterUF6 = T4_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    UfT_beforeUF7 = T4_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T8_3 = &KPfalseVKi;
      T41_0 = T8_0;
      T41_1 = T8_1;
      T41_2 = T8_2;
      T41_3 = T8_3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
      T9_1 = MV_GET_ELT(1);
      T9_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF10 = T9_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      UfTUF11 = T9_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      keyF12 = T9_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF10 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T13_0 = failureF10;
        T13_1 = &KPfalseVKi;
        T17_0 = T13_0;
        T17_1 = T13_1;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T14 = CONGRUENT_CALL1(UfTUF11);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (T14 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T57_0 = &KPfalseVKi;
          T57_1 = keyF12;
          T16_0 = T57_0;
          T16_1 = T57_1;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T15_0 = &KPtrueVKi;
          T15_1 = &KPfalseVKi;
          T16_0 = T15_0;
          T16_1 = T15_1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T17_0 = T16_0;
        T17_1 = T16_1;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF18 = T17_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      keyF19 = T17_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF18 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T20_0 = failureF18;
        T20_1 = &KPfalseVKi;
        T20_2 = &KPfalseVKi;
        T20_3 = &KPfalseVKi;
        T40_0 = T20_0;
        T40_1 = T20_1;
        T40_2 = T20_2;
        T40_3 = T20_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
        T21_1 = MV_GET_ELT(1);
        T21_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF22 = T21_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfT_afterUF23 = T21_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfT_beforeUF24 = T21_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF22 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T25_0 = failureF22;
          T25_1 = &KPfalseVKi;
          T25_2 = &KPfalseVKi;
          T25_3 = &KPfalseVKi;
          T39_0 = T25_0;
          T39_1 = T25_1;
          T39_2 = T25_2;
          T39_3 = T25_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T26_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF24);
          T26_1 = MV_GET_ELT(1);
          T26_2 = MV_GET_ELT(2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF27 = T26_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          UfTUF28 = T26_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          valueF29 = T26_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF27 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T30_0 = failureF27;
            T30_1 = &KPfalseVKi;
            T34_0 = T30_0;
            T34_1 = T30_1;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T31 = CONGRUENT_CALL1(UfTUF28);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            if (T31 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T58_0 = &KPfalseVKi;
              T58_1 = valueF29;
              T33_0 = T58_0;
              T33_1 = T58_1;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T32_0 = &KPtrueVKi;
              T32_1 = &KPfalseVKi;
              T33_0 = T32_0;
              T33_1 = T32_1;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T34_0 = T33_0;
            T34_1 = T33_1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF35 = T34_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          valueF36 = T34_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF35 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T37_0 = failureF35;
            T37_1 = &KPfalseVKi;
            T37_2 = &KPfalseVKi;
            T37_3 = &KPfalseVKi;
            T38_0 = T37_0;
            T38_1 = T37_1;
            T38_2 = T37_2;
            T38_3 = T37_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T59_0 = &KPfalseVKi;
            T59_1 = keyF19;
            T59_2 = valueF36;
            T59_3 = UfT_afterUF23;
            T38_0 = T59_0;
            T38_1 = T59_1;
            T38_2 = T59_2;
            T38_3 = T59_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T39_0 = T38_0;
          T39_1 = T38_1;
          T39_2 = T38_2;
          T39_3 = T38_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T40_0 = T39_0;
        T40_1 = T39_1;
        T40_2 = T39_2;
        T40_3 = T39_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T41_0 = T40_0;
      T41_1 = T40_1;
      T41_2 = T40_2;
      T41_3 = T40_3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    failureF42 = T41_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    keyF43 = T41_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    valueF44 = T41_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    key_optionsF45 = T41_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF42 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T52 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T53 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T52, IKJkey_options_);
      T54 = T53;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      keyF46 = CONGRUENT_CALL1(keyF43);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      valueF47 = CONGRUENT_CALL1(valueF44);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T48 = CONGRUENT_CALL1(key_optionsF45);
      key_optionsF49 = Kkey_options_rewriterF201I(T48);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      T50 = CALL1(&Kfragment_valueVdfmc_reader, keyF46);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T51 = CONGRUENT_CALL2(&KLsymbolGVKd, T50);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      T60 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      SLOT_VALUE_SETTER(valueF47, T60, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      SLOT_VALUE_SETTER(key_optionsF49, T60, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      T61 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      SLOT_VALUE_SETTER(T51, T61, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      SLOT_VALUE_SETTER(T60, T61, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1101
      T62_0 = T61;
      T54 = T62_0;
      MV_SET_COUNT(1);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T55 = T54;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1097
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T55 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  return(T55);
}

static D Kargs_rewriterF190I (D UfTU_) {
  D failureF2;
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterUF6;
  D UfT_beforeUF7;
  D T8_0;
  D T8_1;
  D T8_2;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D arg_;
  D argsF12;
  D T13;
  D T14;
  D argsF15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21_0;
  D T21_1;
  D T21_2;
  D T22_0;
  D T22_1;
  D T22_2;
  D failureF23;
  D Uafter_fTUF24;
  D Unested_fTU_;
  D T26_0;
  D T26_1;
  D T26_2;
  D T26_3;
  D T26_4;
  D T27_0;
  D T27_1;
  D T27_2;
  D failureF28;
  D UfT_afterUF29;
  D UfT_beforeUF30;
  D T31_0;
  D T31_1;
  D T31_2;
  D T31_3;
  D T31_4;
  D T32_0;
  D T32_1;
  D failureF33;
  D UfTUF34;
  D T35_0;
  D T35_1;
  D T35_2;
  D T36_0;
  D T36_1;
  D T36_2;
  D T36_3;
  D failureF37;
  D Uafter_fTUF38;
  D Uname_fTU_;
  D Utype_fTU_;
  D T41_0;
  D T41_1;
  D T41_2;
  D T42_0;
  D T42_1;
  D T42_2;
  D failureF43;
  D arg_nameF44;
  D T45_0;
  D T45_1;
  D T45_2;
  D T46_0;
  D T46_1;
  D T46_2;
  D failureF47;
  D typeF48;
  D T49_0;
  D T49_1;
  D T49_2;
  D T50_0;
  D T50_1;
  D T50_2;
  D T51_0;
  D T51_1;
  D T51_2;
  D T52_0;
  D T52_1;
  D T52_2;
  D T53_0;
  D T53_1;
  D T53_2;
  D T54_0;
  D T54_1;
  D T54_2;
  D T55_0;
  D T55_1;
  D T55_2;
  D failureF56;
  D arg_nameF57;
  D typeF58;
  D T59_0;
  D T59_1;
  D T59_2;
  D T59_3;
  D T59_4;
  D T60_0;
  D T60_1;
  D T60_2;
  D failureF61;
  D UfT_afterUF62;
  D UfT_beforeUF63;
  D T64_0;
  D T64_1;
  D T64_2;
  D T64_3;
  D T64_4;
  D T65_0;
  D T65_1;
  D failureF66;
  D UfTUF67;
  D T68_0;
  D T68_1;
  D T69_0;
  D T69_1;
  D T69_2;
  D failureF70;
  D UfTUF71;
  D disciplineF72;
  D T73_0;
  D T73_1;
  D T74;
  D T75_0;
  D T75_1;
  D T76_0;
  D T76_1;
  D T77_0;
  D T77_1;
  D T78_0;
  D T78_1;
  D failureF79;
  D disciplineF80;
  D T81_0;
  D T81_1;
  D T81_2;
  D T81_3;
  D T81_4;
  D T82_0;
  D T82_1;
  D T82_2;
  D T82_3;
  D T82_4;
  D T83_0;
  D T83_1;
  D T83_2;
  D T83_3;
  D T83_4;
  D T84_0;
  D T84_1;
  D T84_2;
  D T84_3;
  D T84_4;
  D T85_0;
  D T85_1;
  D T85_2;
  D T85_3;
  D T85_4;
  D failureF86;
  D arg_nameF87;
  D typeF88;
  D disciplineF89;
  D key_optionsF90;
  D T91_0;
  D T91_1;
  D T91_2;
  D T91_3;
  D T91_4;
  D T92_0;
  D T92_1;
  D T92_2;
  D T92_3;
  D T92_4;
  D T93_0;
  D T93_1;
  D T93_2;
  D T93_3;
  D T93_4;
  D T94_0;
  D T94_1;
  D T94_2;
  D T94_3;
  D T94_4;
  D T95_0;
  D T95_1;
  D T95_2;
  D T95_3;
  D T95_4;
  D failureF96;
  D arg_nameF97;
  D typeF98;
  D disciplineF99;
  D key_optionsF100;
  D arg_nameF101;
  D typeF102;
  D disciplineF103;
  D T104;
  D key_optionsF105;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110;
  D T111;
  D T112_0;
  D T112_1;
  D T112_2;
  D T113_0;
  D T113_1;
  D T114_0;
  D T114_1;
  D T114_2;
  D T114_3;
  D T114_4;
  D T115;
  D T116_0;
  D T116_1;
  D T116_2;
  D T116_3;
  D T116_4;
  _KLsimple_object_vectorGVKd_8 T117 = {&KLsimple_object_vectorGVKdW, (D) 33};
  D T118;
  D T119;
  D T120;
  D T121;
  D T122_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  if (failureF2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T4_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    failureF5 = T4_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    UfT_afterUF6 = T4_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    UfT_beforeUF7 = T4_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeUF7;
      T21_2 = UfT_afterUF6;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    failureF10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    arg_ = T9_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    argsF12 = T9_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    if (failureF10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJargs_);
      T18 = T17;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T13 = CONGRUENT_CALL1(arg_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      T22_0 = Kmatch_parensVdfmc_macro_expanderI(T13);
      T22_1 = MV_GET_ELT(1);
      T22_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF23 = T22_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      Uafter_fTUF24 = T22_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      Unested_fTU_ = T22_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF23 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T26_0 = failureF23;
        T26_1 = &KPfalseVKi;
        T26_2 = &KPfalseVKi;
        T26_3 = &KPfalseVKi;
        T26_4 = &KPfalseVKi;
        T95_0 = T26_0;
        T95_1 = T26_1;
        T95_2 = T26_2;
        T95_3 = T26_3;
        T95_4 = T26_4;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T27_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(Unested_fTU_);
        T27_1 = MV_GET_ELT(1);
        T27_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF28 = T27_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfT_afterUF29 = T27_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        UfT_beforeUF30 = T27_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF28 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T31_0 = failureF28;
          T31_1 = &KPfalseVKi;
          T31_2 = &KPfalseVKi;
          T31_3 = &KPfalseVKi;
          T31_4 = &KPfalseVKi;
          T85_0 = T31_0;
          T85_1 = T31_1;
          T85_2 = T31_2;
          T85_3 = T31_3;
          T85_4 = T31_4;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T32_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF30, IKJparameter_);
          T32_1 = MV_GET_ELT(1);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF33 = T32_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          UfTUF34 = T32_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF33 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T35_0 = failureF33;
            T35_1 = &KPfalseVKi;
            T35_2 = &KPfalseVKi;
            T55_0 = T35_0;
            T55_1 = T35_1;
            T55_2 = T35_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T36_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF34);
            T36_1 = MV_GET_ELT(1);
            T36_2 = MV_GET_ELT(2);
            T36_3 = MV_GET_ELT(3);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            failureF37 = T36_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            Uafter_fTUF38 = T36_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            Uname_fTU_ = T36_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            Utype_fTU_ = T36_3;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            if (failureF37 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T41_0 = failureF37;
              T41_1 = &KPfalseVKi;
              T41_2 = &KPfalseVKi;
              T54_0 = T41_0;
              T54_1 = T41_1;
              T54_2 = T41_2;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T42_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T42_1 = MV_GET_ELT(1);
              T42_2 = MV_GET_ELT(2);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              failureF43 = T42_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              arg_nameF44 = T42_2;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              if (failureF43 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T45_0 = failureF43;
                T45_1 = &KPfalseVKi;
                T45_2 = &KPfalseVKi;
                T53_0 = T45_0;
                T53_1 = T45_1;
                T53_2 = T45_2;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T46_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T46_1 = MV_GET_ELT(1);
                T46_2 = MV_GET_ELT(2);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                failureF47 = T46_0;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                typeF48 = T46_2;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                if (failureF47 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T49_0 = failureF47;
                  T49_1 = &KPfalseVKi;
                  T49_2 = &KPfalseVKi;
                  T52_0 = T49_0;
                  T52_1 = T49_1;
                  T52_2 = T49_2;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T111 = primitive_idQ(Uafter_fTUF38,&KPempty_listVKi);
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  if (T111 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                    T112_0 = &KPfalseVKi;
                    T112_1 = arg_nameF44;
                    T112_2 = typeF48;
                    T51_0 = T112_0;
                    T51_1 = T112_1;
                    T51_2 = T112_2;
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                    T50_0 = &KPtrueVKi;
                    T50_1 = &KPfalseVKi;
                    T50_2 = &KPfalseVKi;
                    T51_0 = T50_0;
                    T51_1 = T50_1;
                    T51_2 = T50_2;
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T52_0 = T51_0;
                  T52_1 = T51_1;
                  T52_2 = T51_2;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T53_0 = T52_0;
                T53_1 = T52_1;
                T53_2 = T52_2;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T54_0 = T53_0;
              T54_1 = T53_1;
              T54_2 = T53_2;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T55_0 = T54_0;
            T55_1 = T54_1;
            T55_2 = T54_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          failureF56 = T55_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          arg_nameF57 = T55_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          typeF58 = T55_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (failureF56 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T59_0 = failureF56;
            T59_1 = &KPfalseVKi;
            T59_2 = &KPfalseVKi;
            T59_3 = &KPfalseVKi;
            T59_4 = &KPfalseVKi;
            T84_0 = T59_0;
            T84_1 = T59_1;
            T84_2 = T59_2;
            T84_3 = T59_3;
            T84_4 = T59_4;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T60_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF29);
            T60_1 = MV_GET_ELT(1);
            T60_2 = MV_GET_ELT(2);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            failureF61 = T60_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            UfT_afterUF62 = T60_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            UfT_beforeUF63 = T60_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            if (failureF61 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T64_0 = failureF61;
              T64_1 = &KPfalseVKi;
              T64_2 = &KPfalseVKi;
              T64_3 = &KPfalseVKi;
              T64_4 = &KPfalseVKi;
              T83_0 = T64_0;
              T83_1 = T64_1;
              T83_2 = T64_2;
              T83_3 = T64_3;
              T83_4 = T64_4;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T65_0 = Kmatch_literalVdfmc_macro_expanderI(UfT_beforeUF63, IKJcall_discipline_);
              T65_1 = MV_GET_ELT(1);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              failureF66 = T65_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              UfTUF67 = T65_1;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              if (failureF66 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T68_0 = failureF66;
                T68_1 = &KPfalseVKi;
                T78_0 = T68_0;
                T78_1 = T68_1;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T69_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF67);
                T69_1 = MV_GET_ELT(1);
                T69_2 = MV_GET_ELT(2);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                failureF70 = T69_0;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                UfTUF71 = T69_1;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                disciplineF72 = T69_2;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                if (failureF70 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T73_0 = failureF70;
                  T73_1 = &KPfalseVKi;
                  T77_0 = T73_0;
                  T77_1 = T73_1;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T74 = CONGRUENT_CALL1(UfTUF71);
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  if (T74 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                    T113_0 = &KPfalseVKi;
                    T113_1 = disciplineF72;
                    T76_0 = T113_0;
                    T76_1 = T113_1;
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                    T75_0 = &KPtrueVKi;
                    T75_1 = &KPfalseVKi;
                    T76_0 = T75_0;
                    T76_1 = T75_1;
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                  T77_0 = T76_0;
                  T77_1 = T76_1;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T78_0 = T77_0;
                T78_1 = T77_1;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              failureF79 = T78_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              disciplineF80 = T78_1;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              if (failureF79 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T81_0 = failureF79;
                T81_1 = &KPfalseVKi;
                T81_2 = &KPfalseVKi;
                T81_3 = &KPfalseVKi;
                T81_4 = &KPfalseVKi;
                T82_0 = T81_0;
                T82_1 = T81_1;
                T82_2 = T81_2;
                T82_3 = T81_3;
                T82_4 = T81_4;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
                T114_0 = &KPfalseVKi;
                T114_1 = arg_nameF57;
                T114_2 = typeF58;
                T114_3 = disciplineF80;
                T114_4 = UfT_afterUF62;
                T82_0 = T114_0;
                T82_1 = T114_1;
                T82_2 = T114_2;
                T82_3 = T114_3;
                T82_4 = T114_4;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
              T83_0 = T82_0;
              T83_1 = T82_1;
              T83_2 = T82_2;
              T83_3 = T82_3;
              T83_4 = T82_4;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T84_0 = T83_0;
            T84_1 = T83_1;
            T84_2 = T83_2;
            T84_3 = T83_3;
            T84_4 = T83_4;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T85_0 = T84_0;
          T85_1 = T84_1;
          T85_2 = T84_2;
          T85_3 = T84_3;
          T85_4 = T84_4;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        failureF86 = T85_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        arg_nameF87 = T85_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        typeF88 = T85_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        disciplineF89 = T85_3;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        key_optionsF90 = T85_4;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        if (failureF86 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T91_0 = failureF86;
          T91_1 = &KPfalseVKi;
          T91_2 = &KPfalseVKi;
          T91_3 = &KPfalseVKi;
          T91_4 = &KPfalseVKi;
          T94_0 = T91_0;
          T94_1 = T91_1;
          T94_2 = T91_2;
          T94_3 = T91_3;
          T94_4 = T91_4;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T115 = primitive_idQ(Uafter_fTUF24,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          if (T115 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T116_0 = &KPfalseVKi;
            T116_1 = arg_nameF87;
            T116_2 = typeF88;
            T116_3 = disciplineF89;
            T116_4 = key_optionsF90;
            T93_0 = T116_0;
            T93_1 = T116_1;
            T93_2 = T116_2;
            T93_3 = T116_3;
            T93_4 = T116_4;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            T92_0 = &KPtrueVKi;
            T92_1 = &KPfalseVKi;
            T92_2 = &KPfalseVKi;
            T92_3 = &KPfalseVKi;
            T92_4 = &KPfalseVKi;
            T93_0 = T92_0;
            T93_1 = T92_1;
            T93_2 = T92_2;
            T93_3 = T92_3;
            T93_4 = T92_4;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
          T94_0 = T93_0;
          T94_1 = T93_1;
          T94_2 = T93_2;
          T94_3 = T93_3;
          T94_4 = T93_4;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T95_0 = T94_0;
        T95_1 = T94_1;
        T95_2 = T94_2;
        T95_3 = T94_3;
        T95_4 = T94_4;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      failureF96 = T95_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      arg_nameF97 = T95_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      typeF98 = T95_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      disciplineF99 = T95_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      key_optionsF100 = T95_4;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      if (failureF96 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T109 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        T110 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T13, T109, IKJarg_);
        T118 = T110;
        T120 = T118;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        arg_nameF101 = CONGRUENT_CALL1(arg_nameF97);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF102 = CONGRUENT_CALL1(typeF98);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        disciplineF103 = CONGRUENT_CALL1(disciplineF99);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T104 = CONGRUENT_CALL1(key_optionsF100);
        key_optionsF105 = Kkey_options_rewriterF201I(T104);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T106 = CALL1(&Kfragment_valueVdfmc_reader, disciplineF103);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&KasVKd, 2);
        T107 = CONGRUENT_CALL2(&KLsymbolGVKd, T106);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1077
        T117.vector_element_[0] = &KLc_ffi_argument_descriptorGVdfmc_c_ffi;
        T117.vector_element_[1] = &KJname_;
        T117.vector_element_[2] = arg_nameF101;
        T117.vector_element_[3] = IKJdesignator_name_;
        T117.vector_element_[4] = typeF102;
        T117.vector_element_[5] = IKJcall_discipline_;
        T117.vector_element_[6] = T107;
        T117.vector_element_[7] = key_optionsF105;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1077
        T108 = KapplyVKdI(&KmakeVKd, &T117);
        T119 = T108;
        T120 = T119;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(argsF12);
      argsF15 = Kargs_rewriterF190I(T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      T121 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      SLOT_VALUE_SETTER(T120, T121, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      SLOT_VALUE_SETTER(argsF15, T121, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      T122_0 = T121;
      T18 = T122_0;
      MV_SET_COUNT(1);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
    T19 = T18;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1072
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  return(T19);
}

D Kexpand_c_function_bodyVdfmc_c_ffiMM0I (D form_, D dylan_name_, D result_desc_, D arg_specs_, D options_) {
  D result_designatorF6;
  D T7;
  D T8;
  D T9;
  D T10_0;
  D T10_1;
  D T10_2;
  D T10_3;
  D T10_4;
  D T10_5;
  D T10_6;
  D stack_allocation_heads_;
  D in_out_arg_set_forms_;
  D c_function_parameter_list_;
  D c_function_arguments_;
  D extra_return_values_;
  D c_name_expr_;
  D T17;
  D indirect_expr_;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D result_boxer_;
  D T26;
  D T27;
  D T28;
  D result_name_;
  D T30;
  D result_dylan_type_;
  D T32;
  D T33;
  D T34;
  D result_raw_type_;
  D T36;
  D result_low_type_;
  D Utmp_;
  D T39;
  D T40;
  D T41;
  D import_function_;
  D T43;
  D T44;
  D T45;
  D return_values_;
  D modifiers_expr_;
  D T48;
  D T49;
  D modifiers_;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87;
  D T88;
  D T89;
  D T90;
  D T91;
  D T92;
  D foreign_call_;
  D T94;
  D T95;
  D T96;
  D T97;
  D T98;
  D T99;
  D T100;
  D T101;
  D T102;
  D T103;
  D T104;
  D T105;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110;
  D T111;
  D T112;
  D T113;
  D T114;
  D result_binding_;
  D stack_allocation_size_;
  D T117;
  D T118;
  D T119;
  D T120;
  D T121;
  D T122;
  D T123;
  D T124;
  D T125_0;
  D result_designatorF126;
  D T127;
  D T128;
  D T129;
  D T130;
  D T131;
  D T132;
  D T133;
  D T134;
  D T135;
  D T136;
  D T137;
  D T138;
  D T139;
  D T140;
  D c_name_;
  D T142;
  D T143;
  D T144;
  D T145;
  D indirect_;
  D T147;
  D T148;
  D T149;
  D T150;
  D T151;
  D T152;
  D T153;
  D T154;
  D T155;
  D T156;
  _KLsimple_object_vectorGVKd_1 T157 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T158;
  D T159;
  D T160;
  D T161;
  D T162;
  D T163;
  D T164T, T164;
  D T165;
  D T166;
  D T167;
  D T168;
  D T169;
  D T170;
  D T171;
  D T172;
  D T173;
  D T174;
  D T175;
  D T176;
  D T177;
  _KLsimple_object_vectorGVKd_1 T178 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T179 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T180;
  D T181;
  D T182;
  D T183;
  D T184;
  _KLsimple_object_vectorGVKd_6 T185 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T186;
  _KLsimple_object_vectorGVKd_4 T187 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_4 T188 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T189 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T190 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T191 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T192 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T193;
  _KLsimple_object_vectorGVKd_2 T194 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D val_;
  D T196;
  D T197;
  _KLsimple_object_vectorGVKd_6 T198 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T199;
  _KLsimple_object_vectorGVKd_2 T200 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T201 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_3 T202 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T203 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_7 T204 = {&KLsimple_object_vectorGVKdW, (D) 29};
  D T205;
  _KLsimple_object_vectorGVKd_4 T206 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T207 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_3 T208 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T209 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_7 T210 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_3 T211 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_2 T212 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_7 T213 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_1 T214 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T215;
  _KLsimple_object_vectorGVKd_1 T216 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T217 = {&KLsimple_object_vectorGVKdW, (D) 21};
  D stack_head_;
  D T219;
  D T220;
  D T221;
  D T222;
  D T223;
  D T224;
  DWORD T225;
  _KLsimple_object_vectorGVKd_4 T226 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T227;
  DWORD iF228T, iF228;
  D bodyF229T, bodyF229;
  D T230;
  D T231;
  D T232;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1104
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1113
  T151 = SLOT_VALUE_INITD(result_desc_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1113
  if (T151 != &KPfalseVKi) {
    result_designatorF6 = &KPfalseVKi;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1113
    T152 = SLOT_VALUE(result_desc_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1113
    T153 = KCtop_level_eval_typeVdfmc_conversionMM0I(T152, &KPempty_vectorVKi, &KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1113
    T154 = T153;
    result_designatorF6 = T154;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1113
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1113
  result_designatorF126 = result_designatorF6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  if (T151 != &KPfalseVKi) {
    T7 = T151;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1115
    T140 = result_designatorF126;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1115
    T155 = primitive_instanceQ(T140,&KLBdesignator_classGVdfmc_c_ffi);
    T7 = T155;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  if (T7 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1116
    T156 = SLOT_VALUE(result_desc_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1117
    T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_result_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1117
    T157.vector_element_[0] = T8;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1117
    T9 = Kmake_templateVdfmc_macro_expanderI(&T157);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1116
    CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T156, dylan_name_, T9, &KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1118
    result_designatorF126 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T158 = CONGRUENT_CALL1(arg_specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  T159 = T158;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  T160 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  T161 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  T162 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  T163 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  T164T = T159;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
    T164 = T164T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
    T165 = CALL3(T162, arg_specs_, T164, T160);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
    if (T165 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
      T166 = CALL2(T163, arg_specs_, T164);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1122
      CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
      T168 = CONGRUENT_CALL1(T166);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1122
      T175 = KCtop_level_eval_typeVdfmc_conversionMM0I(T168, &KPempty_vectorVKi, &KPfalseVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1122
      T176 = T175;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1122
      CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
      CONGRUENT_CALL2(T176, T166);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1123
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      T169 = CONGRUENT_CALL1(T166);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1123
      T177 = primitive_instanceQ(T169,&KLBdesignator_classGVdfmc_c_ffi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1123
      if (T177 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1124
        CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
        T170 = CONGRUENT_CALL1(T166);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1125
        T171 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_parameter_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1125
        T178.vector_element_[0] = T171;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1125
        T172 = Kmake_templateVdfmc_macro_expanderI(&T178);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1124
        CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T170, dylan_name_, T172, &KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1126
        T173 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1126
        T179.vector_element_[0] = T173;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1126
        T174 = Kmake_templateVdfmc_macro_expanderI(&T179);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1126
        T180 = KCtop_level_eval_typeVdfmc_conversionMM0I(T174, &KPempty_vectorVKi, &KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1126
        T181 = T180;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1126
        CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
        CONGRUENT_CALL2(T181, T166);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1123
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
      T167 = CALL2(T161, arg_specs_, T164);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
      T164T = T167;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1121
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1138
  T10_0 = Kc_function_parse_input_output_parametersVdfmc_c_ffiMM0I(dylan_name_, arg_specs_);
  T10_1 = MV_GET_ELT(1);
  T10_2 = MV_GET_ELT(2);
  T10_3 = MV_GET_ELT(3);
  T10_4 = MV_GET_ELT(4);
  T10_5 = MV_GET_ELT(5);
  T10_6 = MV_GET_ELT(6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  stack_allocation_heads_ = T10_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  in_out_arg_set_forms_ = T10_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  c_function_parameter_list_ = T10_4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  c_function_arguments_ = T10_5;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1114
  extra_return_values_ = T10_6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  c_name_expr_ = CONGRUENT_CALL3(options_, IKJc_name_, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1141
  c_name_ = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1142
  if (c_name_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1143
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T183 = CONGRUENT_CALL2(c_name_expr_, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1143
    T182 = T183;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1143
    c_name_ = T182;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1144
    T145 = c_name_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1144
    T184 = primitive_instanceQ(T145,&KLstringGVKd);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1144
    if (T184 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1146
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T17 = CONGRUENT_CALL1(c_name_expr_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1145
      T185.vector_element_[0] = IKJsource_location_;
      T185.vector_element_[1] = T17;
      T185.vector_element_[2] = IKJdefinition_name_;
      T185.vector_element_[3] = dylan_name_;
      T185.vector_element_[4] = IKJc_name_expression_;
      T185.vector_element_[5] = c_name_expr_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1145
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLinvalid_c_name_valueGVdfmc_c_ffi, &T185);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1149
      c_name_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1144
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1142
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1153
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  indirect_expr_ = CONGRUENT_CALL3(options_, IKJindirect_, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1154
  indirect_ = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1155
  if (indirect_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1156
    T19 = Kparse_boolean_fragmentVdfmc_c_ffiI(indirect_expr_, &KPempty_vectorVKi, IKJerror_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1156
    indirect_ = T19;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1157
    T150 = indirect_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1157
    T186 = primitive_instanceQ(T150,&KLbooleanGVKd);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1157
    if (T186 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1160
      indirect_ = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1157
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1155
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1164
  T144 = c_name_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1164
  if (T144 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1164
    T149 = indirect_;
    T20 = T149;
  } else {
    T20 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1164
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1164
  if (T20 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1166
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T21 = CONGRUENT_CALL1(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1165
    T187.vector_element_[0] = IKJsource_location_;
    T187.vector_element_[1] = T21;
    T187.vector_element_[2] = IKJdefinition_name_;
    T187.vector_element_[3] = dylan_name_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1165
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLconflicting_c_name_and_indirect_optionsGVdfmc_c_ffi, &T187);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1168
    c_name_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1164
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
  T143 = c_name_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
  if (T143 != &KPfalseVKi) {
    T22 = T143;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
    T148 = indirect_;
    T22 = T148;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
  if (T22 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1173
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T23 = CONGRUENT_CALL1(form_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1172
    T188.vector_element_[0] = IKJsource_location_;
    T188.vector_element_[1] = T23;
    T188.vector_element_[2] = IKJdefinition_name_;
    T188.vector_element_[3] = dylan_name_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1172
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLno_c_name_or_indirect_optionGVdfmc_c_ffi, &T188);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1175
    c_name_ = &K103;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1179
  T138 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1179
  if (T138 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1179
    T139 = result_designatorF126;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1179
    T24 = CALL1(&KCboxer_function_nameVdfmc_c_ffiMM0, T139);
    result_boxer_ = T24;
  } else {
    result_boxer_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1179
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1180
  T137 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1180
  if (T137 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1181
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    T26 = CONGRUENT_CALL1(result_desc_);
    result_name_ = T26;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1183
    T27 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtmp_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1183
    T189.vector_element_[0] = T27;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1183
    T28 = Kmake_templateVdfmc_macro_expanderI(&T189);
    result_name_ = T28;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1180
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1186
  T135 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1186
  if (T135 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1186
    T136 = result_designatorF126;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1186
    T30 = CALL1(&KCmapped_import_typeVdfmc_c_ffiMM0, T136);
    result_dylan_type_ = T30;
  } else {
    result_dylan_type_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1186
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1187
  T133 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1187
  if (T133 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1188
    T134 = result_designatorF126;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1188
    CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
    T32 = CONGRUENT_CALL1(T134);
    result_raw_type_ = T32;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
    T33 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLraw_c_voidG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
    T190.vector_element_[0] = T33;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
    T34 = Kmake_templateVdfmc_macro_expanderI(&T190);
    result_raw_type_ = T34;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1187
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1192
  T131 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1192
  if (T131 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1193
    T132 = result_designatorF126;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1193
    T36 = CALL1(&KClow_level_typeVdfmc_c_ffiMM0, T132);
    result_low_type_ = T36;
  } else {
    result_low_type_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1192
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1198
  T129 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1198
  if (T129 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1199
    T130 = result_designatorF126;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1199
    Utmp_ = CALL1(&KCimport_functionVdfmc_c_ffiMM0, T130);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1199
    if (Utmp_ != &KPfalseVKi) {
      T41 = Utmp_;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1200
      T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1200
      T191.vector_element_[0] = T39;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1200
      T40 = Kmake_templateVdfmc_macro_expanderI(&T191);
      T41 = T40;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1199
    import_function_ = T41;
  } else {
    import_function_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1198
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1202
  T128 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1202
  if (T128 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1203
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T43 = CONGRUENT_CALL1(result_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1203
    T192.vector_element_[0] = T43;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1203
    T44 = Kmake_templateVdfmc_macro_expanderI(&T192);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1203
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T45 = CONGRUENT_CALL2(&KLlistGVKd, extra_return_values_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1203
    T193 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1203
    SLOT_VALUE_SETTER(T44, T193, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1203
    SLOT_VALUE_SETTER(T45, T193, 1);
    return_values_ = T193;
  } else {
    return_values_ = extra_return_values_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1202
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1208
  T194.vector_element_[0] = &KJdefault_;
  T194.vector_element_[1] = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1208
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  modifiers_expr_ = CONGRUENT_CALL3(options_, IKJc_modifiers_, &T194);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1211
  if (modifiers_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1212
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T196 = CONGRUENT_CALL2(modifiers_expr_, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1212
    val_ = T196;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1213
    T197 = primitive_instanceQ(val_,&KLstringGVKd);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1213
    if (T197 != &KPfalseVKi) {
      T49 = val_;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1215
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T48 = CONGRUENT_CALL1(modifiers_expr_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1214
      T198.vector_element_[0] = IKJsource_location_;
      T198.vector_element_[1] = T48;
      T198.vector_element_[2] = IKJdefinition_name_;
      T198.vector_element_[3] = dylan_name_;
      T198.vector_element_[4] = IKJmodifiers_expression_;
      T198.vector_element_[5] = modifiers_expr_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1214
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLinvalid_c_modifiers_valueGVdfmc_c_ffi, &T198);
      T49 = &KPempty_stringVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1213
    modifiers_ = T49;
  } else {
    modifiers_ = &KPempty_stringVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1211
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1227
  T147 = indirect_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1227
  if (T147 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPcall_c_function_indirect_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T199 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJc_modifiers_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T52 = CONGRUENT_CALL1(modifiers_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T200.vector_element_[0] = T199;
    T200.vector_element_[1] = T52;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T53 = KlistVKdI(&T200);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T54 = Kmake_parens_fragmentVdfmc_macro_expanderI(T53);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T55 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T56 = CONGRUENT_CALL2(c_function_parameter_list_, T55);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T201.vector_element_[0] = T56;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T57 = KlistVKdI(&T201);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T58 = Kmake_parens_fragmentVdfmc_macro_expanderI(T57);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T59 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T60 = CONGRUENT_CALL1(result_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T61 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T62 = CONGRUENT_CALL1(result_raw_type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T202.vector_element_[0] = T60;
    T202.vector_element_[1] = T61;
    T202.vector_element_[2] = T62;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T63 = KlistVKdI(&T202);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T64 = Kmake_parens_fragmentVdfmc_macro_expanderI(T63);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T65 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T66 = CONGRUENT_CALL2(c_function_arguments_, T65);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T203.vector_element_[0] = T66;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T67 = KlistVKdI(&T203);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T68 = Kmake_parens_fragmentVdfmc_macro_expanderI(T67);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T69 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T204.vector_element_[0] = T51;
    T204.vector_element_[1] = T54;
    T204.vector_element_[2] = T58;
    T204.vector_element_[3] = T59;
    T204.vector_element_[4] = T64;
    T204.vector_element_[5] = T68;
    T204.vector_element_[6] = T69;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T70 = Kmake_templateVdfmc_macro_expanderI(&T204);
    foreign_call_ = T70;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T71 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPcall_c_function_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T142 = c_name_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T72 = CONGRUENT_CALL1(T142);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T73 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T205 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJc_modifiers_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T74 = CONGRUENT_CALL1(modifiers_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T206.vector_element_[0] = T72;
    T206.vector_element_[1] = T73;
    T206.vector_element_[2] = T205;
    T206.vector_element_[3] = T74;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T75 = KlistVKdI(&T206);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T76 = Kmake_parens_fragmentVdfmc_macro_expanderI(T75);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T77 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T78 = CONGRUENT_CALL2(c_function_parameter_list_, T77);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T207.vector_element_[0] = T78;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T79 = KlistVKdI(&T207);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T80 = Kmake_parens_fragmentVdfmc_macro_expanderI(T79);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T81 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T82 = CONGRUENT_CALL1(result_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T83 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T84 = CONGRUENT_CALL1(result_raw_type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T208.vector_element_[0] = T82;
    T208.vector_element_[1] = T83;
    T208.vector_element_[2] = T84;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T85 = KlistVKdI(&T208);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T86 = Kmake_parens_fragmentVdfmc_macro_expanderI(T85);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T87 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T88 = CONGRUENT_CALL2(c_function_arguments_, T87);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T209.vector_element_[0] = T88;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T89 = KlistVKdI(&T209);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T90 = Kmake_parens_fragmentVdfmc_macro_expanderI(T89);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T91 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T210.vector_element_[0] = T71;
    T210.vector_element_[1] = T76;
    T210.vector_element_[2] = T80;
    T210.vector_element_[3] = T81;
    T210.vector_element_[4] = T86;
    T210.vector_element_[5] = T90;
    T210.vector_element_[6] = T91;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
    T92 = Kmake_templateVdfmc_macro_expanderI(&T210);
    foreign_call_ = T92;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1227
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1241
  T127 = result_designatorF126;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1241
  if (T127 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T94 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T95 = CONGRUENT_CALL1(result_name_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T96 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T97 = CONGRUENT_CALL1(result_dylan_type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T98 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T99 = CONGRUENT_CALL1(import_function_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T100 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T101 = CONGRUENT_CALL1(result_low_type_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T102 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T103 = CONGRUENT_CALL1(foreign_call_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T104 = CONGRUENT_CALL2(T102, T103);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T105 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T106 = CONGRUENT_CALL1(result_boxer_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T107 = CONGRUENT_CALL2(T105, T106);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T211.vector_element_[0] = T101;
    T211.vector_element_[1] = T104;
    T211.vector_element_[2] = T107;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T108 = KlistVKdI(&T211);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T109 = Kmake_parens_fragmentVdfmc_macro_expanderI(T108);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T212.vector_element_[0] = T100;
    T212.vector_element_[1] = T109;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T110 = KlistVKdI(&T212);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T111 = Kmake_parens_fragmentVdfmc_macro_expanderI(T110);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T213.vector_element_[0] = T94;
    T213.vector_element_[1] = T95;
    T213.vector_element_[2] = T96;
    T213.vector_element_[3] = T97;
    T213.vector_element_[4] = T98;
    T213.vector_element_[5] = T99;
    T213.vector_element_[6] = T111;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1242
    T112 = Kmake_templateVdfmc_macro_expanderI(&T213);
    result_binding_ = T112;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1248
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T113 = CONGRUENT_CALL1(foreign_call_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1248
    T214.vector_element_[0] = T113;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1248
    T114 = Kmake_templateVdfmc_macro_expanderI(&T214);
    result_binding_ = T114;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1241
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1250
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  stack_allocation_size_ = CONGRUENT_CALL1(stack_allocation_heads_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T215 = Ksubstitute_sequenceVdfmc_macro_expanderMM0I(in_out_arg_set_forms_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T117 = CONGRUENT_CALL1(result_binding_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T118 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T119 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalues_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T120 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T121 = CONGRUENT_CALL2(return_values_, T120);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T216.vector_element_[0] = T121;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T122 = KlistVKdI(&T216);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T123 = Kmake_parens_fragmentVdfmc_macro_expanderI(T122);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T217.vector_element_[0] = T215;
  T217.vector_element_[1] = T117;
  T217.vector_element_[2] = T118;
  T217.vector_element_[3] = T119;
  T217.vector_element_[4] = T123;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1265
  T124 = Kmake_templateVdfmc_macro_expanderI(&T217);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1256
  iF228T = 1;
  bodyF229T = T124;
L1: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1256
    iF228 = iF228T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1257
    T232 = primitive_cast_raw_as_integer(iF228);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1256
    bodyF229 = bodyF229T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1252
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T224 = CONGRUENT_CALL2(T232, stack_allocation_size_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1252
    if (T224 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1255
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      stack_head_ = CONGRUENT_CALL3(stack_allocation_heads_, T232, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1257
      T225 = primitive_machine_word_add_signal_overflow(iF228,4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1258
      T219 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJwith_stack_block_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1258
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T220 = CONGRUENT_CALL1(stack_head_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1258
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T221 = CONGRUENT_CALL1(bodyF229);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1258
      T222 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1258
      T226.vector_element_[0] = T219;
      T226.vector_element_[1] = T220;
      T226.vector_element_[2] = T221;
      T226.vector_element_[3] = T222;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1258
      T223 = Kmake_templateVdfmc_macro_expanderI(&T226);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1256
      iF228T = T225;
      bodyF229T = T223;
      goto L1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1264
      T230 = T227;
      T231 = T230;
    } else {
      T231 = bodyF229;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1252
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1256
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
  T125_0 = T231;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1104
  MV_SET_COUNT(1);
  return(T125_0);
}

D Kc_function_parse_input_output_parametersVdfmc_c_ffiMM0I (D name_, D specs_) {
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9T, T9;
  D T10;
  D T11;
  D modelF12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22_0;
  D T22_1;
  D T22_2;
  D T22_3;
  D T22_4;
  D T22_5;
  D T22_6;
  D dylan_function_parameter_;
  D dylan_function_extra_return_;
  D stack_allocation_head_;
  D in_out_arg_set_form_;
  D c_function_parameter_;
  D c_function_argument_;
  D extra_return_value_;
  D T30;
  D modelF31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36_0;
  D dylan_function_parameter_list_;
  D T38_0;
  D dylan_function_extra_returns_list_;
  D T40_0;
  D stack_allocation_heads_;
  D T42_0;
  D in_out_arg_set_forms_;
  D T44_0;
  D c_function_parameter_list_;
  D T46_0;
  D c_function_arguments_;
  D T48_0;
  D extra_return_values_;
  D T50;
  D T51;
  D T52;
  _KLsimple_object_vectorGVKd_1 T53 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T54 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T55;
  D T56;
  _KLsimple_object_vectorGVKd_1 T57 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T58_0;
  D T58_1;
  D T58_2;
  D T58_3;
  D T58_4;
  D T58_5;
  D T58_6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:353
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:362
  T36_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:362
  dylan_function_parameter_list_ = T36_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:363
  T38_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:363
  dylan_function_extra_returns_list_ = T38_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:364
  T40_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:364
  stack_allocation_heads_ = T40_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:365
  T42_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:365
  in_out_arg_set_forms_ = T42_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:366
  T44_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:366
  c_function_parameter_list_ = T44_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:367
  T46_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:367
  c_function_arguments_ = T46_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:368
  T48_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:368
  extra_return_values_ = T48_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T3 = CONGRUENT_CALL1(specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  T4 = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  T5 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  T6 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  T7 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  T8 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  T9T = T4;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
    T9 = T9T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
    T10 = CALL3(T7, specs_, T9, T5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
    if (T10 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
      T11 = CALL2(T8, specs_, T9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:370
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      modelF12 = CONGRUENT_CALL1(T11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:370
      modelF31 = modelF12;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      T35 = modelF31;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      if (T35 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:372
        CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
        T13 = CONGRUENT_CALL1(T11);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:372
        T50 = KCtop_level_eval_typeVdfmc_conversionMM0I(T13, &KPempty_vectorVKi, &KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:372
        T51 = T50;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:372
        modelF31 = T51;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:373
        T34 = modelF31;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:373
        T52 = primitive_instanceQ(T34,&KLBdesignator_classGVdfmc_c_ffi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:373
        if (T52 == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
          CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
          T14 = CONGRUENT_CALL1(T11);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:375
          T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_parameter_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:375
          T53.vector_element_[0] = T15;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:375
          T16 = Kmake_templateVdfmc_macro_expanderI(&T53);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
          CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T14, name_, T16, &KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
          T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
          T54.vector_element_[0] = T17;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
          T18 = Kmake_templateVdfmc_macro_expanderI(&T54);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
          T55 = KCtop_level_eval_typeVdfmc_conversionMM0I(T18, &KPempty_vectorVKi, &KPfalseVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
          T56 = T55;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
          modelF31 = T56;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:377
          T33 = modelF31;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:377
          CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
          CONGRUENT_CALL2(T33, T11);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
          T19 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
          T57.vector_element_[0] = T19;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
          T20 = Kmake_templateVdfmc_macro_expanderI(&T57);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
          CONGRUENT_CALL_PROLOG(&Kdesignator_name_setterVdfmc_c_ffi, 2);
          CONGRUENT_CALL2(T20, T11);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:373
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:388
      T21 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:388
      T32 = modelF31;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:388
      CONGRUENT_CALL_PROLOG(&Kc_function_parse_parameter_specVdfmc_c_ffi, 3);
      T22_0 = CONGRUENT_CALL3(T21, T11, T32);
      T22_1 = MV_GET_ELT(1);
      T22_2 = MV_GET_ELT(2);
      T22_3 = MV_GET_ELT(3);
      T22_4 = MV_GET_ELT(4);
      T22_5 = MV_GET_ELT(5);
      T22_6 = MV_GET_ELT(6);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      dylan_function_parameter_ = T22_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      dylan_function_extra_return_ = T22_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      stack_allocation_head_ = T22_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      in_out_arg_set_form_ = T22_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      c_function_parameter_ = T22_4;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      c_function_argument_ = T22_5;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
      extra_return_value_ = T22_6;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:389
      if (dylan_function_parameter_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:389
        KaddXVKdMM3I(dylan_function_parameter_list_, dylan_function_parameter_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:389
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:390
      if (dylan_function_extra_return_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:390
        KaddXVKdMM3I(dylan_function_extra_returns_list_, dylan_function_extra_return_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:390
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:392
      if (stack_allocation_head_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:392
        KaddXVKdMM3I(stack_allocation_heads_, stack_allocation_head_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:392
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:393
      if (in_out_arg_set_form_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:393
        KaddXVKdMM3I(in_out_arg_set_forms_, in_out_arg_set_form_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:393
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:394
      if (c_function_parameter_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:394
        KaddXVKdMM3I(c_function_parameter_list_, c_function_parameter_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:394
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:395
      if (c_function_argument_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:395
        KaddXVKdMM3I(c_function_arguments_, c_function_argument_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:395
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:396
      if (extra_return_value_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:396
        KaddXVKdMM3I(extra_return_values_, extra_return_value_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:396
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
      T30 = CALL2(T6, specs_, T9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
      T9T = T30;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:398
  T58_0 = dylan_function_parameter_list_;
  T58_1 = dylan_function_extra_returns_list_;
  T58_2 = stack_allocation_heads_;
  T58_3 = in_out_arg_set_forms_;
  T58_4 = c_function_parameter_list_;
  T58_5 = c_function_arguments_;
  T58_6 = extra_return_values_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:353
  MV_SET_ELT(1, T58_1);
  MV_SET_ELT(2, T58_2);
  MV_SET_ELT(3, T58_3);
  MV_SET_ELT(4, T58_4);
  MV_SET_ELT(5, T58_5);
  MV_SET_ELT(6, T58_6);
  MV_SET_COUNT(7);
  return(T58_0);
}

D Kparse_boolean_fragmentVdfmc_c_ffiI (D fragment_, D Urest_, D default_) {
  D T4;
  D T5_0;
  D T5_1;
  D failureF6;
  D UfTUF7;
  D T8;
  D failureF9;
  D T10_0;
  D T11_0;
  D T11_1;
  D failureF12;
  D UfTUF13;
  D T14;
  D failureF15;
  D T16_0;
  D T17_0;
  D T18_0;
  D T19_0;
  D T20;
  D T21;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:12
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
  T4 = CONGRUENT_CALL1(fragment_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  T5_0 = Kmatch_literalVdfmc_macro_expanderI(T4, &KPfalseVKi);
  T5_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  failureF6 = T5_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  UfTUF7 = T5_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  if (failureF6 != &KPfalseVKi) {
    failureF9 = failureF6;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    T20 = primitive_idQ(UfTUF7,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    if (T20 != &KPfalseVKi) {
      T8 = &KPfalseVKi;
    } else {
      T8 = &KPtrueVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    failureF9 = T8;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  if (failureF9 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    T11_0 = Kmatch_literalVdfmc_macro_expanderI(T4, &KPtrueVKi);
    T11_1 = MV_GET_ELT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    failureF12 = T11_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    UfTUF13 = T11_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    if (failureF12 != &KPfalseVKi) {
      failureF15 = failureF12;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      T21 = primitive_idQ(UfTUF13,&KPempty_listVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      if (T21 != &KPfalseVKi) {
        T14 = &KPfalseVKi;
      } else {
        T14 = &KPtrueVKi;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      failureF15 = T14;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    if (failureF15 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:17
      T17_0 = default_;
      T18_0 = T17_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:16
      T16_0 = &KPtrueVKi;
      T18_0 = T16_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    T19_0 = T18_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:15
    T10_0 = &KPfalseVKi;
    T19_0 = T10_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:12
  MV_SET_COUNT(1);
  return(T19_0);
}

D Kc_function_parse_parameter_specVdfmc_c_ffiMM0I (D kind_, D spec_, D model_) {
  D export_type_;
  D raw_export_type_;
  D nom_;
  D unboxer_;
  D export_fn_;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D export_form_;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  _KLsimple_object_vectorGVKd_1 T28 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T29 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_3 T30 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_3 T31 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T32 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T33 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T34_0;
  D T34_1;
  D T34_2;
  D T34_3;
  D T34_4;
  D T34_5;
  D T34_6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:241
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:252
  export_type_ = KCmapped_export_typeVdfmc_c_ffiMM0I(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:253
  CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
  raw_export_type_ = CONGRUENT_CALL1(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:254
  CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
  nom_ = CONGRUENT_CALL1(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:255
  unboxer_ = KCunboxer_function_nameVdfmc_c_ffiMM0I(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:256
  export_fn_ = KCexport_functionVdfmc_c_ffiMM0I(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:258
  if (export_fn_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T9 = CONGRUENT_CALL1(export_fn_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T10 = CONGRUENT_CALL1(nom_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
    T28.vector_element_[0] = T10;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
    T11 = KlistVKdI(&T28);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
    T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
    T29.vector_element_[0] = T9;
    T29.vector_element_[1] = T12;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
    T13 = Kmake_templateVdfmc_macro_expanderI(&T29);
    export_form_ = T13;
  } else {
    export_form_ = nom_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:258
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T15 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  T16 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T17 = CONGRUENT_CALL1(export_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  T30.vector_element_[0] = T15;
  T30.vector_element_[1] = T16;
  T30.vector_element_[2] = T17;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  T18 = Kmake_templateVdfmc_macro_expanderI(&T30);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:267
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T19 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:267
  T20 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:267
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T21 = CONGRUENT_CALL1(raw_export_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:267
  T31.vector_element_[0] = T19;
  T31.vector_element_[1] = T20;
  T31.vector_element_[2] = T21;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:267
  T22 = Kmake_templateVdfmc_macro_expanderI(&T31);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T23 = CONGRUENT_CALL1(unboxer_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T24 = CONGRUENT_CALL1(export_form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T32.vector_element_[0] = T24;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T25 = KlistVKdI(&T32);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T26 = Kmake_parens_fragmentVdfmc_macro_expanderI(T25);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T33.vector_element_[0] = T23;
  T33.vector_element_[1] = T26;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T27 = Kmake_templateVdfmc_macro_expanderI(&T33);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  T34_0 = T18;
  T34_1 = &KPfalseVKi;
  T34_2 = &KPfalseVKi;
  T34_3 = &KPfalseVKi;
  T34_4 = T22;
  T34_5 = T27;
  T34_6 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:241
  MV_SET_ELT(1, T34_1);
  MV_SET_ELT(2, T34_2);
  MV_SET_ELT(3, T34_3);
  MV_SET_ELT(4, T34_4);
  MV_SET_ELT(5, T34_5);
  MV_SET_ELT(6, T34_6);
  MV_SET_COUNT(7);
  return(T34_0);
}

D Kc_function_parse_parameter_specVdfmc_c_ffiMM1I (D kind_, D spec_, D model_) {
  D ref_type_modelF4;
  D T5;
  D T6;
  D T7;
  D T8;
  D import_type_;
  D raw_export_type_;
  D nom_;
  D unboxer_;
  D T13;
  D T14;
  D T15;
  D T16;
  D stack_size_;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D ref_type_modelF44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  _KLsimple_object_vectorGVKd_6 T51 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_1 T52 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T53;
  D T54;
  _KLsimple_object_vectorGVKd_1 T55 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T56 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T57;
  _KLsimple_object_vectorGVKd_3 T58 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T59;
  _KLsimple_object_vectorGVKd_6 T60 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_1 T61 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_3 T62 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T63 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T64 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T65 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T66 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T67_0;
  D T67_1;
  D T67_2;
  D T67_3;
  D T67_4;
  D T67_5;
  D T67_6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:272
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:283
  ref_type_modelF4 = KCreferenced_typeVdfmc_c_ffiMM0I(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:283
  ref_type_modelF44 = ref_type_modelF4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:284
  T47 = ref_type_modelF44;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:284
  T48 = primitive_instanceQ(T47,&KLBdesignator_classGVdfmc_c_ffi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:284
  if (T48 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:286
    T49 = SLOT_VALUE(spec_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:286
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T5 = CONGRUENT_CALL1(T49);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:287
    T50 = SLOT_VALUE(spec_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:288
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    T6 = CONGRUENT_CALL1(spec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:285
    T51.vector_element_[0] = IKJsource_location_;
    T51.vector_element_[1] = T5;
    T51.vector_element_[2] = IKJdesignator_name_;
    T51.vector_element_[3] = T50;
    T51.vector_element_[4] = IKJparameter_name_;
    T51.vector_element_[5] = T6;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:285
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLoutput_parameter_not_a_pointerGVdfmc_c_ffi, &T51);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:289
    T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:289
    T52.vector_element_[0] = T7;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:289
    T8 = Kmake_templateVdfmc_macro_expanderI(&T52);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:289
    T53 = KCtop_level_eval_typeVdfmc_conversionMM0I(T8, &KPempty_vectorVKi, &KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:289
    T54 = T53;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:289
    ref_type_modelF44 = T54;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:284
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:291
  T46 = ref_type_modelF44;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:291
  import_type_ = CALL1(&KCmapped_import_typeVdfmc_c_ffiMM0, T46);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:292
  CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
  raw_export_type_ = CONGRUENT_CALL1(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:293
  CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
  nom_ = CONGRUENT_CALL1(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:294
  unboxer_ = KCunboxer_function_nameVdfmc_c_ffiMM0I(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  T13 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJsize_of_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  T45 = ref_type_modelF44;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T14 = CONGRUENT_CALL1(T45);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  T55.vector_element_[0] = T14;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  T15 = KlistVKdI(&T55);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  T16 = Kmake_parens_fragmentVdfmc_macro_expanderI(T15);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  T56.vector_element_[0] = T13;
  T56.vector_element_[1] = T16;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:295
  stack_size_ = Kmake_templateVdfmc_macro_expanderI(&T56);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:296
  T57 = SLOT_VALUE(spec_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:298
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T18 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:298
  T19 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:298
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T20 = CONGRUENT_CALL1(import_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:298
  T58.vector_element_[0] = T18;
  T58.vector_element_[1] = T19;
  T58.vector_element_[2] = T20;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:298
  T21 = Kmake_templateVdfmc_macro_expanderI(&T58);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T22 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T23 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T24 = CONGRUENT_CALL1(T57);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T25 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T59 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJsize_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T26 = CONGRUENT_CALL1(stack_size_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T60.vector_element_[0] = T22;
  T60.vector_element_[1] = T23;
  T60.vector_element_[2] = T24;
  T60.vector_element_[3] = T25;
  T60.vector_element_[4] = T59;
  T60.vector_element_[5] = T26;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T27 = KlistVKdI(&T60);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T28 = Kmake_parens_fragmentVdfmc_macro_expanderI(T27);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T61.vector_element_[0] = T28;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:299
  T29 = Kmake_templateVdfmc_macro_expanderI(&T61);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:302
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T30 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:302
  T31 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:302
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T32 = CONGRUENT_CALL1(raw_export_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:302
  T62.vector_element_[0] = T30;
  T62.vector_element_[1] = T31;
  T62.vector_element_[2] = T32;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:302
  T33 = Kmake_templateVdfmc_macro_expanderI(&T62);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:303
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T34 = CONGRUENT_CALL1(unboxer_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:303
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T35 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:303
  T63.vector_element_[0] = T35;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:303
  T36 = KlistVKdI(&T63);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:303
  T37 = Kmake_parens_fragmentVdfmc_macro_expanderI(T36);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:303
  T64.vector_element_[0] = T34;
  T64.vector_element_[1] = T37;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:303
  T38 = Kmake_templateVdfmc_macro_expanderI(&T64);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:304
  T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:304
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T40 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:304
  T65.vector_element_[0] = T40;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:304
  T41 = KlistVKdI(&T65);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:304
  T42 = Kmake_parens_fragmentVdfmc_macro_expanderI(T41);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:304
  T66.vector_element_[0] = T39;
  T66.vector_element_[1] = T42;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:304
  T43 = Kmake_templateVdfmc_macro_expanderI(&T66);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:297
  T67_0 = &KPfalseVKi;
  T67_1 = T21;
  T67_2 = T29;
  T67_3 = &KPfalseVKi;
  T67_4 = T33;
  T67_5 = T38;
  T67_6 = T43;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:272
  MV_SET_ELT(1, T67_1);
  MV_SET_ELT(2, T67_2);
  MV_SET_ELT(3, T67_3);
  MV_SET_ELT(4, T67_4);
  MV_SET_ELT(5, T67_5);
  MV_SET_ELT(6, T67_6);
  MV_SET_COUNT(7);
  return(T67_0);
}

D Kc_function_parse_parameter_specVdfmc_c_ffiMM2I (D kind_, D spec_, D model_) {
  D ref_type_modelF4;
  D T5;
  D T6;
  D T7;
  D T8;
  D import_type_;
  D ref_export_type_;
  D nom_;
  D raw_export_type_;
  D unboxer_;
  D temp_name_;
  D T15;
  D T16;
  D T17;
  D T18;
  D stack_size_;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D ref_type_modelF55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  _KLsimple_object_vectorGVKd_6 T63 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_1 T64 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T65;
  D T66;
  _KLsimple_object_vectorGVKd_2 T67 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T68;
  _KLsimple_object_vectorGVKd_1 T69 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T70 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_3 T71 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_3 T72 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T73;
  _KLsimple_object_vectorGVKd_6 T74 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_1 T75 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T76 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T77 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_3 T78 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T79 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T80 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T81 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T82 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T83_0;
  D T83_1;
  D T83_2;
  D T83_3;
  D T83_4;
  D T83_5;
  D T83_6;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:307
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:318
  ref_type_modelF4 = KCreferenced_typeVdfmc_c_ffiMM0I(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:318
  ref_type_modelF55 = ref_type_modelF4;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:319
  T59 = ref_type_modelF55;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:319
  T60 = primitive_instanceQ(T59,&KLBdesignator_classGVdfmc_c_ffi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:319
  if (T60 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:321
    T61 = SLOT_VALUE(spec_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:321
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T5 = CONGRUENT_CALL1(T61);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:322
    T62 = SLOT_VALUE(spec_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:323
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    T6 = CONGRUENT_CALL1(spec_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:320
    T63.vector_element_[0] = IKJsource_location_;
    T63.vector_element_[1] = T5;
    T63.vector_element_[2] = IKJdesignator_name_;
    T63.vector_element_[3] = T62;
    T63.vector_element_[4] = IKJparameter_name_;
    T63.vector_element_[5] = T6;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:320
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinput_output_parameter_not_a_pointerGVdfmc_c_ffi, &T63);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
    T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
    T64.vector_element_[0] = T7;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
    T8 = Kmake_templateVdfmc_macro_expanderI(&T64);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
    T65 = KCtop_level_eval_typeVdfmc_conversionMM0I(T8, &KPempty_vectorVKi, &KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
    T66 = T65;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
    ref_type_modelF55 = T66;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:319
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:327
  T58 = ref_type_modelF55;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:327
  import_type_ = CALL1(&KCmapped_import_typeVdfmc_c_ffiMM0, T58);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:328
  T57 = ref_type_modelF55;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:328
  ref_export_type_ = CALL1(&KCmapped_export_typeVdfmc_c_ffiMM0, T57);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:329
  CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
  nom_ = CONGRUENT_CALL1(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:330
  CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
  raw_export_type_ = CONGRUENT_CALL1(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:331
  unboxer_ = KCunboxer_function_nameVdfmc_c_ffiMM0I(model_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:332
  T67.vector_element_[0] = &K139;
  T67.vector_element_[1] = nom_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:332
  temp_name_ = KgensymVdfmc_c_ffiMM0I(&T67);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:333
  T68 = SLOT_VALUE(spec_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJsize_of_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  T56 = ref_type_modelF55;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T16 = CONGRUENT_CALL1(T56);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  T69.vector_element_[0] = T16;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  T17 = KlistVKdI(&T69);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  T18 = Kmake_parens_fragmentVdfmc_macro_expanderI(T17);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  T70.vector_element_[0] = T15;
  T70.vector_element_[1] = T18;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  stack_size_ = Kmake_templateVdfmc_macro_expanderI(&T70);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:335
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T20 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:335
  T21 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:335
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T22 = CONGRUENT_CALL1(ref_export_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:335
  T71.vector_element_[0] = T20;
  T71.vector_element_[1] = T21;
  T71.vector_element_[2] = T22;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:335
  T23 = Kmake_templateVdfmc_macro_expanderI(&T71);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:336
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T24 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:336
  T25 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:336
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T26 = CONGRUENT_CALL1(import_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:336
  T72.vector_element_[0] = T24;
  T72.vector_element_[1] = T25;
  T72.vector_element_[2] = T26;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:336
  T27 = Kmake_templateVdfmc_macro_expanderI(&T72);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T28 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T29 = CONGRUENT_CALL1(T68);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T30 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T73 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJsize_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T31 = CONGRUENT_CALL1(stack_size_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T74.vector_element_[0] = temp_name_;
  T74.vector_element_[1] = T28;
  T74.vector_element_[2] = T29;
  T74.vector_element_[3] = T30;
  T74.vector_element_[4] = T73;
  T74.vector_element_[5] = T31;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T32 = KlistVKdI(&T74);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T33 = Kmake_parens_fragmentVdfmc_macro_expanderI(T32);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T75.vector_element_[0] = T33;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T34 = Kmake_templateVdfmc_macro_expanderI(&T75);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T35 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T76.vector_element_[0] = temp_name_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T36 = KlistVKdI(&T76);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T37 = Kmake_parens_fragmentVdfmc_macro_expanderI(T36);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T38 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ58ZE_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T39 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T40 = CONGRUENT_CALL2(T38, T39);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T41 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T77.vector_element_[0] = T35;
  T77.vector_element_[1] = T37;
  T77.vector_element_[2] = T40;
  T77.vector_element_[3] = T41;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T42 = Kmake_templateVdfmc_macro_expanderI(&T77);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T43 = CONGRUENT_CALL1(nom_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  T44 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T45 = CONGRUENT_CALL1(raw_export_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  T78.vector_element_[0] = T43;
  T78.vector_element_[1] = T44;
  T78.vector_element_[2] = T45;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  T46 = Kmake_templateVdfmc_macro_expanderI(&T78);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T47 = CONGRUENT_CALL1(unboxer_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T79.vector_element_[0] = temp_name_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T48 = KlistVKdI(&T79);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T49 = Kmake_parens_fragmentVdfmc_macro_expanderI(T48);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T80.vector_element_[0] = T47;
  T80.vector_element_[1] = T49;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T50 = Kmake_templateVdfmc_macro_expanderI(&T80);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T81.vector_element_[0] = temp_name_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T52 = KlistVKdI(&T81);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T53 = Kmake_parens_fragmentVdfmc_macro_expanderI(T52);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T82.vector_element_[0] = T51;
  T82.vector_element_[1] = T53;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T54 = Kmake_templateVdfmc_macro_expanderI(&T82);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:335
  T83_0 = T23;
  T83_1 = T27;
  T83_2 = T34;
  T83_3 = T42;
  T83_4 = T46;
  T83_5 = T50;
  T83_6 = T54;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:307
  MV_SET_ELT(1, T83_1);
  MV_SET_ELT(2, T83_2);
  MV_SET_ELT(3, T83_3);
  MV_SET_ELT(4, T83_4);
  MV_SET_ELT(5, T83_5);
  MV_SET_ELT(6, T83_6);
  MV_SET_COUNT(7);
  return(T83_0);
}

static D Kspec_rewriterF280I (D UfTU_) {
  D failureF2;
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterU_;
  D UfT_beforeU_;
  D T8_0;
  D T8_1;
  D T8_2;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D stuffF11;
  D specF12;
  D stuffF13;
  D T14;
  D specF15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21_0;
  D T21_1;
  D T21_2;
  D T22;
  D T23_0;
  D other_;
  _KLsimple_object_vectorGVKd_4 T25 = {&KLsimple_object_vectorGVKdW, (D) 17};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  if (failureF2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    T4_0 = Kmatch_body_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    failureF5 = T4_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    UfT_afterU_ = T4_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    UfT_beforeU_ = T4_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    if (failureF5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeU_;
      T21_2 = UfT_afterU_;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    failureF10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    stuffF11 = T9_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    specF12 = T9_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    if (failureF10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      other_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(UfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T16 = CONGRUENT_CALL1(other_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:671
      T25.vector_element_[0] = IKJsource_location_;
      T25.vector_element_[1] = T16;
      T25.vector_element_[2] = IKJdefinition_name_;
      T25.vector_element_[3] = &K224;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:671
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLunrecognized_clauseGVdfmc_c_ffi, &T25);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:674
      T17 = &KPempty_listVKi;
      MV_SET_ELT(0, &KPempty_listVKi);
      MV_SET_COUNT(1);
      T18 = T17;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      stuffF13 = CONGRUENT_CALL1(stuffF11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(specF12);
      specF15 = Kspec_rewriterF280I(T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:668
      T22 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:668
      SLOT_VALUE_SETTER(stuffF13, T22, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:668
      SLOT_VALUE_SETTER(specF15, T22, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:668
      T23_0 = T22;
      T18 = T23_0;
      MV_SET_COUNT(1);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
    T19 = T18;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:667
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  return(T19);
}

D Kparse_c_function_specVdfmc_c_ffiMM0I (D form_name_, D specs_) {
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9T, T9;
  D T10;
  D T11;
  D T12;
  D T13_0;
  D T13_1;
  D T13_2;
  D failureF14;
  D UfT_afterU_;
  D UfT_beforeU_;
  D T17_0;
  D T17_1;
  D T17_2;
  D T17_3;
  D T17_4;
  D T18_0;
  D T18_1;
  D T18_2;
  D T18_3;
  D failureF19;
  D modsF20;
  D nameF21;
  D designatorF22;
  D T23_0;
  D T23_1;
  D T23_2;
  D T23_3;
  D T23_4;
  D T24_0;
  D T24_1;
  D T24_2;
  D T24_3;
  D T24_4;
  D T25_0;
  D T25_1;
  D T25_2;
  D T25_3;
  D T25_4;
  D failureF26;
  D modsF27;
  D nameF28;
  D designatorF29;
  D poptionsF30;
  D T31;
  D nameF32;
  D designatorF33;
  D poptionsF34;
  D keys_;
  D T36;
  D T37_0;
  D T37_1;
  D failureF38;
  D UfTUF39;
  D T40_0;
  D T40_1;
  D T40_2;
  D T41_0;
  D T41_1;
  D T41_2;
  D T41_3;
  D failureF42;
  D Uafter_fTU_;
  D Uname_fTU_;
  D Utype_fTU_;
  D T46_0;
  D T46_1;
  D T46_2;
  D T47_0;
  D T47_1;
  D T47_2;
  D failureF48;
  D nameF49;
  D T50_0;
  D T50_1;
  D T50_2;
  D T51_0;
  D T51_1;
  D T51_2;
  D failureF52;
  D designatorF53;
  D T54_0;
  D T54_1;
  D T54_2;
  D T55_0;
  D T55_1;
  D T55_2;
  D T56_0;
  D T56_1;
  D T56_2;
  D T57_0;
  D T57_1;
  D T57_2;
  D T58_0;
  D T58_1;
  D T58_2;
  D T59_0;
  D T59_1;
  D T59_2;
  D T60_0;
  D T60_1;
  D T60_2;
  D failureF61;
  D nameF62;
  D designatorF63;
  D nameF64;
  D designatorF65;
  D T66;
  D T67;
  D function_options_;
  D T69;
  D T70;
  D T71;
  D T72_0;
  D T72_1;
  D T72_2;
  D T72_3;
  D result_spec_;
  D T74;
  D T75;
  D T76;
  D T77_0;
  D arg_specs_;
  D T79_0;
  D options_;
  D T81_0;
  D T81_1;
  D T81_2;
  D T81_3;
  D T81_4;
  D T82;
  D T83;
  D adjectives_;
  _KLsimple_object_vectorGVKd_1 T85 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D modsF86;
  _KLsimple_object_vectorGVKd_8 T87 = {&KLsimple_object_vectorGVKdW, (D) 33};
  D T88;
  D T89_0;
  D T89_1;
  D T89_2;
  _KLsimple_object_vectorGVKd_4 T90 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_4 T91 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_4 T92 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T93;
  D T94_0;
  D T94_1;
  D T94_2;
  D T94_3;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:701
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:707
  T77_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:707
  arg_specs_ = T77_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:708
  result_spec_ = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:709
  T79_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:709
  options_ = T79_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T3 = CONGRUENT_CALL1(specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  T4 = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  T5 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  T6 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  T7 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  T8 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  T9T = T4;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
    T9 = T9T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
    T10 = CALL3(T7, specs_, T9, T5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
    if (T10 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
      T11 = CALL2(T8, specs_, T9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T12 = CONGRUENT_CALL1(T11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T13_0 = Kmatch_list_partVdfmc_macro_expanderI(T12);
      T13_1 = MV_GET_ELT(1);
      T13_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      failureF14 = T13_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      UfT_afterU_ = T13_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      UfT_beforeU_ = T13_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      if (failureF14 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T17_0 = failureF14;
        T17_1 = &KPfalseVKi;
        T17_2 = &KPfalseVKi;
        T17_3 = &KPfalseVKi;
        T17_4 = &KPfalseVKi;
        T25_0 = T17_0;
        T25_1 = T17_1;
        T25_2 = T17_2;
        T25_3 = T17_3;
        T25_4 = T17_4;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T18_0 = KUwildcard_loopUF275I(&KPempty_listVKi, UfT_beforeU_);
        T18_1 = MV_GET_ELT(1);
        T18_2 = MV_GET_ELT(2);
        T18_3 = MV_GET_ELT(3);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        failureF19 = T18_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        modsF20 = T18_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        nameF21 = T18_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        designatorF22 = T18_3;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        if (failureF19 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T23_0 = failureF19;
          T23_1 = &KPfalseVKi;
          T23_2 = &KPfalseVKi;
          T23_3 = &KPfalseVKi;
          T23_4 = &KPfalseVKi;
          T24_0 = T23_0;
          T24_1 = T23_1;
          T24_2 = T23_2;
          T24_3 = T23_3;
          T24_4 = T23_4;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T81_0 = &KPfalseVKi;
          T81_1 = modsF20;
          T81_2 = nameF21;
          T81_3 = designatorF22;
          T81_4 = UfT_afterU_;
          T24_0 = T81_0;
          T24_1 = T81_1;
          T24_2 = T81_2;
          T24_3 = T81_3;
          T24_4 = T81_4;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T25_0 = T24_0;
        T25_1 = T24_1;
        T25_2 = T24_2;
        T25_3 = T24_3;
        T25_4 = T24_4;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      failureF26 = T25_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      modsF27 = T25_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      nameF28 = T25_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      designatorF29 = T25_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      poptionsF30 = T25_4;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      if (failureF26 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T37_0 = Kmatch_nameVdfmc_macro_expanderI(T12, IKJresult_);
        T37_1 = MV_GET_ELT(1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        failureF38 = T37_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        UfTUF39 = T37_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        if (failureF38 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T40_0 = failureF38;
          T40_1 = &KPfalseVKi;
          T40_2 = &KPfalseVKi;
          T60_0 = T40_0;
          T60_1 = T40_1;
          T60_2 = T40_2;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T41_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF39);
          T41_1 = MV_GET_ELT(1);
          T41_2 = MV_GET_ELT(2);
          T41_3 = MV_GET_ELT(3);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          failureF42 = T41_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          Uafter_fTU_ = T41_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          Uname_fTU_ = T41_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          Utype_fTU_ = T41_3;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          if (failureF42 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            T46_0 = failureF42;
            T46_1 = &KPfalseVKi;
            T46_2 = &KPfalseVKi;
            T59_0 = T46_0;
            T59_1 = T46_1;
            T59_2 = T46_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            T47_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
            T47_1 = MV_GET_ELT(1);
            T47_2 = MV_GET_ELT(2);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            failureF48 = T47_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            nameF49 = T47_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            if (failureF48 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
              T50_0 = failureF48;
              T50_1 = &KPfalseVKi;
              T50_2 = &KPfalseVKi;
              T58_0 = T50_0;
              T58_1 = T50_1;
              T58_2 = T50_2;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
              T51_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
              T51_1 = MV_GET_ELT(1);
              T51_2 = MV_GET_ELT(2);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
              failureF52 = T51_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
              designatorF53 = T51_2;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
              if (failureF52 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
                T54_0 = failureF52;
                T54_1 = &KPfalseVKi;
                T54_2 = &KPfalseVKi;
                T57_0 = T54_0;
                T57_1 = T54_1;
                T57_2 = T54_2;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
                T88 = primitive_idQ(Uafter_fTU_,&KPempty_listVKi);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
                if (T88 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
                  T89_0 = &KPfalseVKi;
                  T89_1 = nameF49;
                  T89_2 = designatorF53;
                  T56_0 = T89_0;
                  T56_1 = T89_1;
                  T56_2 = T89_2;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
                  T55_0 = &KPtrueVKi;
                  T55_1 = &KPfalseVKi;
                  T55_2 = &KPfalseVKi;
                  T56_0 = T55_0;
                  T56_1 = T55_1;
                  T56_2 = T55_2;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
                T57_0 = T56_0;
                T57_1 = T56_1;
                T57_2 = T56_2;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
              T58_0 = T57_0;
              T58_1 = T57_1;
              T58_2 = T57_2;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            T59_0 = T58_0;
            T59_1 = T58_1;
            T59_2 = T58_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T60_0 = T59_0;
          T60_1 = T59_1;
          T60_2 = T59_2;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        failureF61 = T60_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        nameF62 = T60_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        designatorF63 = T60_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        if (failureF61 != &KPfalseVKi) {
          function_options_ = Kfunction_options_rewriterF273I(form_name_, T12);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:734
          CALL2(&Kparse_optionsXVdfmc_c_ffiMM0, options_, function_options_);
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          nameF64 = CONGRUENT_CALL1(nameF62);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          designatorF65 = CONGRUENT_CALL1(designatorF63);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:725
          T76 = result_spec_;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:725
          if (T76 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:727
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T66 = CONGRUENT_CALL1(T11);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:726
            T90.vector_element_[0] = IKJsource_location_;
            T90.vector_element_[1] = T66;
            T90.vector_element_[2] = IKJdefinition_name_;
            T90.vector_element_[3] = form_name_;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:726
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLmultiple_return_clausesGVdfmc_c_ffi, &T90);
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:730
            T91.vector_element_[0] = IKJdesignator_name_;
            T91.vector_element_[1] = designatorF65;
            T91.vector_element_[2] = &KJname_;
            T91.vector_element_[3] = nameF64;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:730
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T67 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T91);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:730
            result_spec_ = T67;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:725
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T31 = CONGRUENT_CALL1(modsF27);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        adjectives_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T31);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:758
        T82 = CALL3(&Kparse_property_adjectivesVdfmc_definitionsMM0, Dc_parameter_propertiesVdfmc_c_ffi, adjectives_, form_name_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:757
        T85.vector_element_[0] = T82;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:757
        T83 = KapplyVKdI(&Kprocess_parameter_adjectivesF267, &T85);
        modsF86 = T83;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        nameF32 = CONGRUENT_CALL1(nameF28);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        designatorF33 = CONGRUENT_CALL1(designatorF29);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        poptionsF34 = CONGRUENT_CALL1(poptionsF30);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:715
        keys_ = Kparse_optionsVdfmc_definitionsMM0I(Dc_parameter_optionsVdfmc_c_ffi, poptionsF34, form_name_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:717
        T87.vector_element_[0] = &KLc_ffi_argument_descriptorGVdfmc_c_ffi;
        T87.vector_element_[1] = IKJdesignator_name_;
        T87.vector_element_[2] = designatorF33;
        T87.vector_element_[3] = IKJcall_discipline_;
        T87.vector_element_[4] = modsF86;
        T87.vector_element_[5] = &KJname_;
        T87.vector_element_[6] = nameF32;
        T87.vector_element_[7] = keys_;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:717
        T36 = KapplyVKdI(&KmakeVKd, &T87);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:716
        KaddXVKdMM3I(arg_specs_, T36);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
      T69 = CALL2(T6, specs_, T9);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
      T9T = T69;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:775
  T75 = result_spec_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:775
  if (T75 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:778
    T70 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:776
    T92.vector_element_[0] = IKJvoidQ_;
    T92.vector_element_[1] = &KPtrueVKi;
    T92.vector_element_[2] = &KJname_;
    T92.vector_element_[3] = T70;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:776
    CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
    T71 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T92);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:776
    result_spec_ = T71;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:775
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:780
  T93 = Kget_propertyYplistsVcollectionsMM1I(options_, IKJc_name_, &KPempty_vectorVKi, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:780
  T74 = result_spec_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:780
  T94_0 = arg_specs_;
  T94_1 = T74;
  T94_2 = T93;
  T94_3 = options_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:701
  T72_0 = T94_0;
  T72_1 = T94_1;
  T72_2 = T94_2;
  T72_3 = T94_3;
  {
    MV_CHECK_TYPE_PROLOGUE(T94_0);
    primitive_type_check(T72_0, &KLobjectGVKd);
    primitive_type_check(T72_1, &KLc_ffi_result_descriptorGVdfmc_c_ffi);
    primitive_type_check(T72_2, &K265);
    primitive_type_check(T72_3, &KLsequenceGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:701
  MV_SET_ELT(1, T72_1);
  MV_SET_ELT(2, T72_2);
  MV_SET_ELT(3, T72_3);
  MV_SET_COUNT(4);
  return(T72_0);
}

D Kgenerate_c_callable_bodyVdfmc_c_ffiMM0I (D dylan_name_, D c_name_, D arg_specs_, D result_spec_, D dylan_func_, D options_) {
  D T7_0;
  D T7_1;
  D arg_fragments_;
  D result_fragment_;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34_0;
  _KLsimple_object_vectorGVKd_2 T35 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T36 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T37 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_10 T38 = {&KLsimple_object_vectorGVKdW, (D) 41};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:608
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:613
  T7_0 = CALL4(&Kparse_early_optionsVdfmc_c_ffiMM0, arg_specs_, result_spec_, options_, dylan_name_);
  T7_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:612
  arg_fragments_ = T7_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:612
  result_fragment_ = T7_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T10 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmake_c_callable_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T11 = CONGRUENT_CALL1(dylan_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T12 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T13 = CONGRUENT_CALL1(c_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T35.vector_element_[0] = T12;
  T35.vector_element_[1] = T13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T14 = KlistVKdI(&T35);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T15 = Kmake_parens_fragmentVdfmc_macro_expanderI(T14);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T16 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJoptions_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T18 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T19 = CONGRUENT_CALL2(options_, T18);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T36.vector_element_[0] = T17;
  T36.vector_element_[1] = T19;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T20 = KlistVKdI(&T36);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T21 = Kmake_parens_fragmentVdfmc_macro_expanderI(T20);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T22 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdylan_function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T24 = CONGRUENT_CALL1(dylan_func_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T37.vector_element_[0] = T23;
  T37.vector_element_[1] = T24;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T25 = KlistVKdI(&T37);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T26 = Kmake_parens_fragmentVdfmc_macro_expanderI(T25);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T27 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T28 = CONGRUENT_CALL2(T27, result_fragment_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T29 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T30 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T31 = CONGRUENT_CALL2(arg_fragments_, T30);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T32 = CONGRUENT_CALL2(T29, T31);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T33 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T38.vector_element_[0] = T10;
  T38.vector_element_[1] = T11;
  T38.vector_element_[2] = T15;
  T38.vector_element_[3] = T16;
  T38.vector_element_[4] = T21;
  T38.vector_element_[5] = T22;
  T38.vector_element_[6] = T26;
  T38.vector_element_[7] = T28;
  T38.vector_element_[8] = T32;
  T38.vector_element_[9] = T33;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:614
  T34_0 = Kmake_templateVdfmc_macro_expanderI(&T38);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:608
  MV_SET_COUNT(1);
  return(T34_0);
}

D Kparse_early_optionsVdfmc_c_ffiMM0I (D arg_specs_, D result_spec_, D function_options_, D definition_name_) {
  D vname_;
  D typeF6;
  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;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D indirect_expr_;
  D T27;
  D indirectQF28;
  D T29;
  D indirect_parameter_name_;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49T, T49;
  D T50;
  D T51;
  D nn_;
  D typeF53;
  D discipline_;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87;
  D T88;
  D T89;
  D T90;
  D T91;
  D T92;
  D gf_method_expr_;
  D T94;
  D gf_methodQF95;
  D T96;
  D T97;
  D T98;
  D T99;
  D T100;
  D T101;
  D T102;
  D T103;
  D T104;
  D T105;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110_0;
  D T110_1;
  D T110_2;
  D T110_3;
  D T110_4;
  D T110_5;
  D result_fragment_;
  D T112;
  D indirectQF113;
  D T114;
  D T115;
  D gf_methodQF116;
  D T117;
  D T118;
  D T119;
  D T120;
  D T121;
  D T122;
  D T123;
  D T124;
  _KLsimple_object_vectorGVKd_1 T125 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T126 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_4 T127 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T128 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T129 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T130 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T131;
  _KLsimple_object_vectorGVKd_6 T132 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_1 T133 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T134;
  D T135;
  D T136;
  D T137;
  _KLsimple_object_vectorGVKd_11 T138 = {&KLsimple_object_vectorGVKdW, (D) 45};
  _KLsimple_object_vectorGVKd_1 T139 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_3 T140 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T141;
  _KLsimple_object_vectorGVKd_7 T142 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_1 T143 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T144;
  _KLsimple_object_vectorGVKd_1 T145 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T146 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T147 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T148 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T149 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T150 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T151 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T152 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T153;
  _KLsimple_object_vectorGVKd_6 T154 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T155;
  D T156;
  D T157;
  D T158;
  _KLsimple_object_vectorGVKd_1 T159 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T160 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T161 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T162 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T163 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T164_0;
  D T164_1;
  D T164_2;
  D T164_3;
  D T164_4;
  D T164_5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:146
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T119 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPfalseVKi, T119, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T119, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T119, T119, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T120 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPfalseVKi, T120, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T120, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T120, T120, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T121 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPfalseVKi, T121, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T121, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T121, T121, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T122 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPfalseVKi, T122, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T122, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T122, T122, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  result_fragment_ = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:160
  CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
  vname_ = CONGRUENT_CALL1(result_spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:161
  T123 = SLOT_VALUE_INITD(result_spec_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:161
  if (T123 != &KPfalseVKi) {
    typeF6 = &KPfalseVKi;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:161
    T124 = SLOT_VALUE(result_spec_, 1);
    typeF6 = T124;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:161
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:162
  if (T123 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresult_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    T22 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJvoid_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    T129.vector_element_[0] = T21;
    T129.vector_element_[1] = T22;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    T23 = KlistVKdI(&T129);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    T24 = Kmake_parens_fragmentVdfmc_macro_expanderI(T23);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    T130.vector_element_[0] = T24;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    T25 = Kmake_templateVdfmc_macro_expanderI(&T130);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
    result_fragment_ = T25;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T7 = CONGRUENT_CALL1(vname_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    T8 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJimport_type_for_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T10 = CONGRUENT_CALL1(typeF6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    T125.vector_element_[0] = T10;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    T11 = KlistVKdI(&T125);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    T126.vector_element_[0] = T7;
    T126.vector_element_[1] = T8;
    T126.vector_element_[2] = T9;
    T126.vector_element_[3] = T12;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    T13 = Kmake_templateVdfmc_macro_expanderI(&T126);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
    Kanonymous_of_parse_early_optionsF254I(T119, T13);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresult_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T15 = CONGRUENT_CALL1(vname_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T16 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T17 = CONGRUENT_CALL1(typeF6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T127.vector_element_[0] = T14;
    T127.vector_element_[1] = T15;
    T127.vector_element_[2] = T16;
    T127.vector_element_[3] = T17;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T18 = KlistVKdI(&T127);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T19 = Kmake_parens_fragmentVdfmc_macro_expanderI(T18);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T128.vector_element_[0] = T19;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T20 = Kmake_templateVdfmc_macro_expanderI(&T128);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    result_fragment_ = T20;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:162
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:169
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  indirect_expr_ = CONGRUENT_CALL3(function_options_, IKJindirect_, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:170
  if (indirect_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T27 = Kparse_boolean_fragmentVdfmc_c_ffiI(indirect_expr_, &KPempty_vectorVKi, IKJerror_);
    indirectQF28 = T27;
  } else {
    indirectQF28 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:170
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:170
  indirectQF113 = indirectQF28;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:172
  T115 = indirectQF113;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:172
  T131 = primitive_instanceQ(T115,&KLbooleanGVKd);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:172
  if (T131 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:174
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T29 = CONGRUENT_CALL1(indirect_expr_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:173
    T132.vector_element_[0] = IKJsource_location_;
    T132.vector_element_[1] = T29;
    T132.vector_element_[2] = IKJdefinition_name_;
    T132.vector_element_[3] = definition_name_;
    T132.vector_element_[4] = IKJindirect_expression_;
    T132.vector_element_[5] = indirect_expr_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:173
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinvalid_c_function_indirect_valueGVdfmc_c_ffi, &T132);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:177
    indirectQF113 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:172
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:180
  T114 = indirectQF113;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:180
  if (T114 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:181
    T133.vector_element_[0] = &K234;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:181
    indirect_parameter_name_ = KgensymVdfmc_c_ffiMM0I(&T133);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T31 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJparameter_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T32 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T33 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_function_pointerG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T34 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T134 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJcall_discipline_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T135 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJinput_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T35 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T136 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJindirect_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T36 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T137 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPtrueVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T138.vector_element_[0] = T31;
    T138.vector_element_[1] = indirect_parameter_name_;
    T138.vector_element_[2] = T32;
    T138.vector_element_[3] = T33;
    T138.vector_element_[4] = T34;
    T138.vector_element_[5] = T134;
    T138.vector_element_[6] = T135;
    T138.vector_element_[7] = T35;
    T138.vector_element_[8] = T136;
    T138.vector_element_[9] = T36;
    T138.vector_element_[10] = T137;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T37 = KlistVKdI(&T138);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T38 = Kmake_parens_fragmentVdfmc_macro_expanderI(T37);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T139.vector_element_[0] = T38;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:184
    T39 = Kmake_templateVdfmc_macro_expanderI(&T139);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:183
    Kanonymous_of_parse_early_optionsF251I(T120, T39);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T40 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T41 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_function_pointerG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T140.vector_element_[0] = indirect_parameter_name_;
    T140.vector_element_[1] = T40;
    T140.vector_element_[2] = T41;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T42 = Kmake_templateVdfmc_macro_expanderI(&T140);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:188
    Kanonymous_of_parse_early_optionsF250I(T121, T42);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:180
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T43 = CONGRUENT_CALL1(arg_specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  T44 = T43;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  T45 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  T46 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  T47 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  T48 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  T49T = T44;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
    T49 = T49T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
    T50 = CALL3(T47, arg_specs_, T49, T45);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
    if (T50 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
      T51 = CALL2(T48, arg_specs_, T49);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:193
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nn_ = CONGRUENT_CALL1(T51);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:194
      CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
      typeF53 = CONGRUENT_CALL1(T51);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:195
      discipline_ = CALL1(&Kcall_disciplineVdfmc_c_ffi, T51);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T55 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJparameter_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T56 = CONGRUENT_CALL1(nn_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T57 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T58 = CONGRUENT_CALL1(typeF53);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T59 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T141 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJcall_discipline_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T60 = CONGRUENT_CALL1(discipline_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T142.vector_element_[0] = T55;
      T142.vector_element_[1] = T56;
      T142.vector_element_[2] = T57;
      T142.vector_element_[3] = T58;
      T142.vector_element_[4] = T59;
      T142.vector_element_[5] = T141;
      T142.vector_element_[6] = T60;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T61 = KlistVKdI(&T142);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T62 = Kmake_parens_fragmentVdfmc_macro_expanderI(T61);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T143.vector_element_[0] = T62;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      T63 = Kmake_templateVdfmc_macro_expanderI(&T143);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      Kanonymous_of_parse_early_optionsF251I(T120, T63);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:200
      T64 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T51);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:200
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T144 = CONGRUENT_CALL2(T64, &KJinput_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:200
      if (T144 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T83 = CONGRUENT_CALL1(nn_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
        T150.vector_element_[0] = T83;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
        T84 = Kmake_templateVdfmc_macro_expanderI(&T150);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
        Kanonymous_of_parse_early_optionsF249I(T122, T84);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T85 = CONGRUENT_CALL1(nn_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        T86 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        T87 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T88 = CONGRUENT_CALL1(typeF53);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        T151.vector_element_[0] = T88;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        T89 = KlistVKdI(&T151);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        T90 = Kmake_parens_fragmentVdfmc_macro_expanderI(T89);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        T152.vector_element_[0] = T85;
        T152.vector_element_[1] = T86;
        T152.vector_element_[2] = T87;
        T152.vector_element_[3] = T90;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        T91 = Kmake_templateVdfmc_macro_expanderI(&T152);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
        Kanonymous_of_parse_early_optionsF250I(T121, T91);
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T65 = CONGRUENT_CALL1(nn_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        T66 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        T67 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJimport_type_for_reference_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T68 = CONGRUENT_CALL1(typeF53);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        T145.vector_element_[0] = T68;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        T69 = KlistVKdI(&T145);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        T70 = Kmake_parens_fragmentVdfmc_macro_expanderI(T69);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        T146.vector_element_[0] = T65;
        T146.vector_element_[1] = T66;
        T146.vector_element_[2] = T67;
        T146.vector_element_[3] = T70;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
        T71 = Kmake_templateVdfmc_macro_expanderI(&T146);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:202
        Kanonymous_of_parse_early_optionsF254I(T119, T71);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:204
        T72 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T51);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:204
        CONGRUENT_CALL_PROLOG(&KEVKd, 2);
        T73 = CONGRUENT_CALL2(T72, IKJin_out_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:204
        if (T73 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:206
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T74 = CONGRUENT_CALL1(nn_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:206
          T147.vector_element_[0] = T74;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:206
          T75 = Kmake_templateVdfmc_macro_expanderI(&T147);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:206
          Kanonymous_of_parse_early_optionsF249I(T122, T75);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T76 = CONGRUENT_CALL1(nn_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          T77 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_reference_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T79 = CONGRUENT_CALL1(typeF53);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          T148.vector_element_[0] = T79;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          T80 = KlistVKdI(&T148);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          T81 = Kmake_parens_fragmentVdfmc_macro_expanderI(T80);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          T149.vector_element_[0] = T76;
          T149.vector_element_[1] = T77;
          T149.vector_element_[2] = T78;
          T149.vector_element_[3] = T81;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
          T82 = Kmake_templateVdfmc_macro_expanderI(&T149);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:207
          Kanonymous_of_parse_early_optionsF250I(T121, T82);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:204
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:200
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
      T92 = CALL2(T46, arg_specs_, T49);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
      T49T = T92;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:192
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:218
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  gf_method_expr_ = CONGRUENT_CALL3(function_options_, IKJgeneric_function_method_, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:219
  if (gf_method_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:220
    T94 = Kparse_boolean_fragmentVdfmc_c_ffiI(gf_method_expr_, &KPempty_vectorVKi, IKJerror_);
    gf_methodQF95 = T94;
  } else {
    gf_methodQF95 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:219
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:219
  gf_methodQF116 = gf_methodQF95;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:221
  T118 = gf_methodQF116;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:221
  T153 = primitive_instanceQ(T118,&KLbooleanGVKd);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:221
  if (T153 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:223
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T96 = CONGRUENT_CALL1(gf_method_expr_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:222
    T154.vector_element_[0] = IKJsource_location_;
    T154.vector_element_[1] = T96;
    T154.vector_element_[2] = IKJdefinition_name_;
    T154.vector_element_[3] = definition_name_;
    T154.vector_element_[4] = IKJgf_method_expression_;
    T154.vector_element_[5] = gf_method_expr_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:222
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinvalid_c_function_gf_method_valueGVdfmc_c_ffi, &T154);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:226
    gf_methodQF116 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:221
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T155 = SLOT_VALUE_INITD(T121, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T156 = SLOT_VALUE_INITD(T122, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T157 = SLOT_VALUE_INITD(T119, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T158 = SLOT_VALUE_INITD(T120, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:234
  T97 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:234
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T98 = CONGRUENT_CALL2(T155, T97);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:234
  T159.vector_element_[0] = T98;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:234
  T99 = KlistVKdI(&T159);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:234
  T100 = Kmake_parens_fragmentVdfmc_macro_expanderI(T99);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:234
  T160.vector_element_[0] = T100;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:234
  T101 = Kmake_templateVdfmc_macro_expanderI(&T160);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:235
  T102 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:235
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T103 = CONGRUENT_CALL2(T157, T102);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:235
  T161.vector_element_[0] = T103;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:235
  T104 = KlistVKdI(&T161);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:235
  T105 = Kmake_parens_fragmentVdfmc_macro_expanderI(T104);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:235
  T162.vector_element_[0] = T105;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:235
  T106 = Kmake_templateVdfmc_macro_expanderI(&T162);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:237
  T107 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:237
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T108 = CONGRUENT_CALL2(T156, T107);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:237
  T163.vector_element_[0] = T108;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:237
  T109 = Kmake_templateVdfmc_macro_expanderI(&T163);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:232
  T112 = result_fragment_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:232
  T117 = gf_methodQF116;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:232
  T164_0 = T158;
  T164_1 = T112;
  T164_2 = T101;
  T164_3 = T106;
  T164_4 = T117;
  T164_5 = T109;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:146
  T110_0 = T164_0;
  T110_1 = T164_1;
  T110_2 = T164_2;
  T110_3 = T164_3;
  T110_4 = T164_4;
  T110_5 = T164_5;
  {
    MV_CHECK_TYPE_PROLOGUE(T164_0);
    primitive_type_check(T110_0, &KLsequenceGVKd);
    primitive_type_check(T110_1, &KLtemplateGVdfmc_reader);
    primitive_type_check(T110_2, &KLtemplateGVdfmc_reader);
    primitive_type_check(T110_3, &KLtemplateGVdfmc_reader);
    primitive_type_check(T110_4, &KLbooleanGVKd);
    primitive_type_check(T110_5, &KLtemplateGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:146
  MV_SET_ELT(1, T110_1);
  MV_SET_ELT(2, T110_2);
  MV_SET_ELT(3, T110_3);
  MV_SET_ELT(4, T110_4);
  MV_SET_ELT(5, T110_5);
  MV_SET_COUNT(6);
  return(T110_0);
}

static D Kanonymous_of_parse_early_optionsF254I (D collector_, D value_) {
  D T2;
  D T3;
  D c_head_;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T2 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(value_, T2, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T2, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T3 = SLOT_VALUE_INITD(collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  primitive_type_check(T3, &KLpairGVKd);
  c_head_ = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, c_head_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T5 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  return(T5);
}

static D Kanonymous_of_parse_early_optionsF251I (D collector_, D value_) {
  D T2;
  D T3;
  D c_head_;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T2 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(value_, T2, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T2, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T3 = SLOT_VALUE_INITD(collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  primitive_type_check(T3, &KLpairGVKd);
  c_head_ = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, c_head_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T5 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  return(T5);
}

static D Kanonymous_of_parse_early_optionsF250I (D collector_, D value_) {
  D T2;
  D T3;
  D c_head_;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T2 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(value_, T2, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T2, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T3 = SLOT_VALUE_INITD(collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  primitive_type_check(T3, &KLpairGVKd);
  c_head_ = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, c_head_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T5 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  return(T5);
}

static D Kanonymous_of_parse_early_optionsF249I (D collector_, D value_) {
  D T2;
  D T3;
  D c_head_;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T2 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(value_, T2, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(&KPempty_listVKi, T2, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T3 = SLOT_VALUE_INITD(collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  primitive_type_check(T3, &KLpairGVKd);
  c_head_ = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, c_head_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  SLOT_VALUE_SETTER(T2, collector_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  T5 = T2;
  MV_SET_ELT(0, T2);
  MV_SET_COUNT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:158
  return(T5);
}

static D KUwildcard_loopUF275I (D UcollectorU_, D UfTU_) {
  D T2_0;
  D T2_1;
  D failureF3;
  D UfTUF4;
  D T5_0;
  D T5_1;
  D T5_2;
  D T5_3;
  D T6_0;
  D T6_1;
  D T6_2;
  D T6_3;
  D failureF7;
  D Uafter_fTU_;
  D Uname_fTU_;
  D Utype_fTU_;
  D T11_0;
  D T11_1;
  D T11_2;
  D T11_3;
  D T12_0;
  D T12_1;
  D T12_2;
  D failureF13;
  D nameF14;
  D T15_0;
  D T15_1;
  D T15_2;
  D T15_3;
  D T16_0;
  D T16_1;
  D T16_2;
  D failureF17;
  D designatorF18;
  D T19_0;
  D T19_1;
  D T19_2;
  D T19_3;
  D T20_0;
  D T20_1;
  D T20_2;
  D T20_3;
  D T21_0;
  D T21_1;
  D T21_2;
  D T21_3;
  D T22_0;
  D T22_1;
  D T22_2;
  D T22_3;
  D T23_0;
  D T23_1;
  D T23_2;
  D T23_3;
  D T24_0;
  D T24_1;
  D T24_2;
  D T24_3;
  D T25_0;
  D T25_1;
  D T25_2;
  D T25_3;
  D failureF26;
  D mods_;
  D nameF28;
  D designatorF29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37_0;
  D T37_1;
  D T37_2;
  D T37_3;
  D T38;
  D T39;
  _KLsimple_object_vectorGVKd_1 T40 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T41 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T42;
  D T43;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  T2_0 = Kmatch_nameVdfmc_macro_expanderI(UfTU_, IKJparameter_);
  T2_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  failureF3 = T2_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  UfTUF4 = T2_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  if (failureF3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T5_0 = failureF3;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T5_3 = &KPfalseVKi;
    T25_0 = T5_0;
    T25_1 = T5_1;
    T25_2 = T5_2;
    T25_3 = T5_3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T6_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF4);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    T6_3 = MV_GET_ELT(3);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    failureF7 = T6_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    Uafter_fTU_ = T6_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    Uname_fTU_ = T6_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    Utype_fTU_ = T6_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    if (failureF7 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T11_0 = failureF7;
      T11_1 = &KPfalseVKi;
      T11_2 = &KPfalseVKi;
      T11_3 = &KPfalseVKi;
      T24_0 = T11_0;
      T24_1 = T11_1;
      T24_2 = T11_2;
      T24_3 = T11_3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T12_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
      T12_1 = MV_GET_ELT(1);
      T12_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      failureF13 = T12_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      nameF14 = T12_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      if (failureF13 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T15_0 = failureF13;
        T15_1 = &KPfalseVKi;
        T15_2 = &KPfalseVKi;
        T15_3 = &KPfalseVKi;
        T23_0 = T15_0;
        T23_1 = T15_1;
        T23_2 = T15_2;
        T23_3 = T15_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T16_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
        T16_1 = MV_GET_ELT(1);
        T16_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        failureF17 = T16_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        designatorF18 = T16_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        if (failureF17 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T19_0 = failureF17;
          T19_1 = &KPfalseVKi;
          T19_2 = &KPfalseVKi;
          T19_3 = &KPfalseVKi;
          T22_0 = T19_0;
          T22_1 = T19_1;
          T22_2 = T19_2;
          T22_3 = T19_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T36 = primitive_idQ(Uafter_fTU_,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          if (T36 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            T37_0 = &KPfalseVKi;
            T37_1 = UcollectorU_;
            T37_2 = nameF14;
            T37_3 = designatorF18;
            T21_0 = T37_0;
            T21_1 = T37_1;
            T21_2 = T37_2;
            T21_3 = T37_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            T20_0 = &KPtrueVKi;
            T20_1 = &KPfalseVKi;
            T20_2 = &KPfalseVKi;
            T20_3 = &KPfalseVKi;
            T21_0 = T20_0;
            T21_1 = T20_1;
            T21_2 = T20_2;
            T21_3 = T20_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T22_0 = T21_0;
          T22_1 = T21_1;
          T22_2 = T21_2;
          T22_3 = T21_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T23_0 = T22_0;
        T23_1 = T22_1;
        T23_2 = T22_2;
        T23_3 = T22_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T24_0 = T23_0;
      T24_1 = T23_1;
      T24_2 = T23_2;
      T24_3 = T23_3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T25_0 = T24_0;
    T25_1 = T24_1;
    T25_2 = T24_2;
    T25_3 = T24_3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  failureF26 = T25_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  mods_ = T25_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  nameF28 = T25_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  designatorF29 = T25_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  if (failureF26 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T38 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    if (T38 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T30 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T34 = T30;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T39 = SLOT_VALUE_INITD(UfTU_, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T40.vector_element_[0] = T39;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T31 = KlistVKdI(&T40);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T41.vector_element_[0] = T31;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T32 = CONGRUENT_CALL2(UcollectorU_, &T41);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T42 = SLOT_VALUE_INITD(UfTU_, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T33 = CALL2(&KUwildcard_loopUF275, T32, T42);
      T34 = T33;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T35 = T34;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T43 = failureF26;
    MV_SET_ELT(0, failureF26);
    MV_SET_ELT(1, mods_);
    MV_SET_ELT(2, nameF28);
    MV_SET_ELT(3, designatorF29);
    MV_SET_COUNT(4);
    T35 = T43;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  return(T35);
}

static D Kfunction_options_rewriterF273I (D form_name_, D UfTU_) {
  D failureF3;
  D T4;
  D T5_0;
  D T5_1;
  D T5_2;
  D failureF6;
  D UfT_afterU_;
  D UfT_beforeU_;
  D T9_0;
  D T9_1;
  D T9_2;
  D T9_3;
  D T10_0;
  D T10_1;
  D T10_2;
  D failureF11;
  D UfTUF12;
  D keyF13;
  D T14_0;
  D T14_1;
  D T14_2;
  D T15_0;
  D T15_1;
  D T15_2;
  D failureF16;
  D UfTUF17;
  D valueF18;
  D T19_0;
  D T19_1;
  D T19_2;
  D T20;
  D T21_0;
  D T21_1;
  D T21_2;
  D T22_0;
  D T22_1;
  D T22_2;
  D T23_0;
  D T23_1;
  D T23_2;
  D T24_0;
  D T24_1;
  D T24_2;
  D failureF25;
  D keyF26;
  D valueF27;
  D T28_0;
  D T28_1;
  D T28_2;
  D T28_3;
  D T29_0;
  D T29_1;
  D T29_2;
  D T29_3;
  D T30_0;
  D T30_1;
  D T30_2;
  D T30_3;
  D failureF31;
  D keyF32;
  D valueF33;
  D function_optionsF34;
  D keyF35;
  D valueF36;
  D T37;
  D function_optionsF38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45_0;
  D T45_1;
  D T45_2;
  D T46_0;
  D T46_1;
  D T46_2;
  D T46_3;
  D T47;
  D T48;
  D T49_0;
  D other_;
  _KLsimple_object_vectorGVKd_4 T51 = {&KLsimple_object_vectorGVKdW, (D) 17};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  T44 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  if (T44 != &KPfalseVKi) {
    failureF3 = &KPfalseVKi;
  } else {
    failureF3 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  if (failureF3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T5_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T5_1 = MV_GET_ELT(1);
    T5_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    failureF6 = T5_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    UfT_afterU_ = T5_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    UfT_beforeU_ = T5_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    if (failureF6 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T9_0 = failureF6;
      T9_1 = &KPfalseVKi;
      T9_2 = &KPfalseVKi;
      T9_3 = &KPfalseVKi;
      T30_0 = T9_0;
      T30_1 = T9_1;
      T30_2 = T9_2;
      T30_3 = T9_3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T10_0 = Kmatch_symbol_constraintVdfmc_macro_expanderI(UfT_beforeU_);
      T10_1 = MV_GET_ELT(1);
      T10_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      failureF11 = T10_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      UfTUF12 = T10_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      keyF13 = T10_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      if (failureF11 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T14_0 = failureF11;
        T14_1 = &KPfalseVKi;
        T14_2 = &KPfalseVKi;
        T24_0 = T14_0;
        T24_1 = T14_1;
        T24_2 = T14_2;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T15_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF12);
        T15_1 = MV_GET_ELT(1);
        T15_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        failureF16 = T15_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        UfTUF17 = T15_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        valueF18 = T15_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        if (failureF16 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T19_0 = failureF16;
          T19_1 = &KPfalseVKi;
          T19_2 = &KPfalseVKi;
          T23_0 = T19_0;
          T23_1 = T19_1;
          T23_2 = T19_2;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
          T20 = CONGRUENT_CALL1(UfTUF17);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          if (T20 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            T45_0 = &KPfalseVKi;
            T45_1 = keyF13;
            T45_2 = valueF18;
            T22_0 = T45_0;
            T22_1 = T45_1;
            T22_2 = T45_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
            T21_0 = &KPtrueVKi;
            T21_1 = &KPfalseVKi;
            T21_2 = &KPfalseVKi;
            T22_0 = T21_0;
            T22_1 = T21_1;
            T22_2 = T21_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
          T23_0 = T22_0;
          T23_1 = T22_1;
          T23_2 = T22_2;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T24_0 = T23_0;
        T24_1 = T23_1;
        T24_2 = T23_2;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      failureF25 = T24_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      keyF26 = T24_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      valueF27 = T24_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      if (failureF25 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T28_0 = failureF25;
        T28_1 = &KPfalseVKi;
        T28_2 = &KPfalseVKi;
        T28_3 = &KPfalseVKi;
        T29_0 = T28_0;
        T29_1 = T28_1;
        T29_2 = T28_2;
        T29_3 = T28_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
        T46_0 = &KPfalseVKi;
        T46_1 = keyF26;
        T46_2 = valueF27;
        T46_3 = UfT_afterU_;
        T29_0 = T46_0;
        T29_1 = T46_1;
        T29_2 = T46_2;
        T29_3 = T46_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      T30_0 = T29_0;
      T30_1 = T29_1;
      T30_2 = T29_2;
      T30_3 = T29_3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    failureF31 = T30_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    keyF32 = T30_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    valueF33 = T30_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    function_optionsF34 = T30_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    if (failureF31 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      other_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(UfTU_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:769
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T40 = CONGRUENT_CALL1(other_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:768
      T51.vector_element_[0] = IKJsource_location_;
      T51.vector_element_[1] = T40;
      T51.vector_element_[2] = IKJdefinition_name_;
      T51.vector_element_[3] = form_name_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:768
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLunrecognized_clauseGVdfmc_c_ffi, &T51);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:771
      T41 = &KPempty_listVKi;
      MV_SET_ELT(0, &KPempty_listVKi);
      MV_SET_COUNT(1);
      T42 = T41;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      keyF35 = CONGRUENT_CALL1(keyF32);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      valueF36 = CONGRUENT_CALL1(valueF33);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T37 = CONGRUENT_CALL1(function_optionsF34);
      function_optionsF38 = Kfunction_options_rewriterF273I(form_name_, T37);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T39 = CONGRUENT_CALL2(&KLsymbolGVKd, keyF35);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      T47 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      SLOT_VALUE_SETTER(valueF36, T47, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      SLOT_VALUE_SETTER(function_optionsF38, T47, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      T48 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      SLOT_VALUE_SETTER(T39, T48, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      SLOT_VALUE_SETTER(T47, T48, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
      T49_0 = T48;
      T42 = T49_0;
      MV_SET_COUNT(1);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
    T43 = T42;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:763
    T4 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T43 = T4;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:712
  return(T43);
}

D Kparse_optionsXVdfmc_c_ffiMM0I (D options_, D spec_) {
  D T3;
  DWORD index_T, index_;
  D T5;
  D T6;
  D T7;
  D key_;
  D T9;
  D value_;
  DWORD T11;
  D T12;
  D T13;
  DWORD T14;
  D T15;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:785
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T3 = CONGRUENT_CALL1(spec_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
  index_T = 1;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
    index_ = index_T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:789
    T13 = primitive_cast_raw_as_integer(index_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T5 = CONGRUENT_CALL2(T13, T3);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
    if (T5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:788
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      T6 = CONGRUENT_CALL3(spec_, T13, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:788
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T7 = CONGRUENT_CALL2(&KLsymbolGVKd, T6);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:788
      primitive_type_check(T7, &KLsymbolGVKd);
      key_ = T7;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:789
      T11 = primitive_machine_word_add_signal_overflow(index_,4);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:789
      T12 = primitive_cast_raw_as_integer(T11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:789
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      T9 = CONGRUENT_CALL3(spec_, T12, &KPempty_vectorVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:789
      primitive_type_check(T9, &KLfragmentGVdfmc_reader);
      value_ = T9;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:790
      CONGRUENT_CALL_PROLOG(&KaddXVKd, 2);
      CONGRUENT_CALL2(options_, key_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:791
      CONGRUENT_CALL_PROLOG(&KaddXVKd, 2);
      CONGRUENT_CALL2(options_, value_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
      T14 = primitive_machine_word_add_signal_overflow(index_,8);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
      index_T = T14;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:787
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:793
  T15 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:785
  MV_SET_COUNT(0);
  return(T15);
}

static D Kprocess_parameter_adjectivesF267I (D Urest_, D input_adjectiveQ_, D output_adjectiveQ_) {
  D T4_0;
  D T5_0;
  D T6_0;
  D T7_0;
  D T8_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:744
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:747
  if (output_adjectiveQ_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:748
    if (input_adjectiveQ_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:749
      T4_0 = IKJin_out_;
      T6_0 = T4_0;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:751
      T5_0 = &KJoutput_;
      T6_0 = T5_0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:748
    T8_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:754
    T7_0 = &KJinput_;
    T8_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:747
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:744
  MV_SET_COUNT(1);
  return(T8_0);
}

static D KUwildcard_loopUF348I (D UcollectorU_, D UfTU_) {
  D T2_0;
  D T2_1;
  D T2_2;
  D failureF3;
  D Uafter_fTU_;
  D Unested_fTU_;
  D T6_0;
  D T6_1;
  D T6_2;
  D T7_0;
  D T7_1;
  D failureF8;
  D UfTUF9;
  D T10_0;
  D T10_1;
  D T11_0;
  D T11_1;
  D T11_2;
  D failureF12;
  D UfTUF13;
  D c_nameF14;
  D T15_0;
  D T15_1;
  D T16;
  D T17_0;
  D T17_1;
  D T18_0;
  D T18_1;
  D T19_0;
  D T19_1;
  D T20_0;
  D T20_1;
  D failureF21;
  D c_nameF22;
  D T23_0;
  D T23_1;
  D T23_2;
  D T24_0;
  D T24_1;
  D T24_2;
  D T25_0;
  D T25_1;
  D T25_2;
  D T26_0;
  D T26_1;
  D T26_2;
  D T27_0;
  D T27_1;
  D T27_2;
  D failureF28;
  D dylan_name_;
  D c_nameF30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37_0;
  D T37_1;
  D T38;
  D T39_0;
  D T39_1;
  D T39_2;
  D T40;
  D T41;
  _KLsimple_object_vectorGVKd_1 T42 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T43 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T44;
  D T45;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  T2_0 = Kmatch_parensVdfmc_macro_expanderI(UfTU_);
  T2_1 = MV_GET_ELT(1);
  T2_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  failureF3 = T2_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  Uafter_fTU_ = T2_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  Unested_fTU_ = T2_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (failureF3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T6_0 = failureF3;
    T6_1 = &KPfalseVKi;
    T6_2 = &KPfalseVKi;
    T27_0 = T6_0;
    T27_1 = T6_1;
    T27_2 = T6_2;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T7_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTU_, IKJc_name_);
    T7_1 = MV_GET_ELT(1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF8 = T7_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    UfTUF9 = T7_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF8 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T10_0 = failureF8;
      T10_1 = &KPfalseVKi;
      T20_0 = T10_0;
      T20_1 = T10_1;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T11_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF9);
      T11_1 = MV_GET_ELT(1);
      T11_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF12 = T11_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      UfTUF13 = T11_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      c_nameF14 = T11_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF12 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T15_0 = failureF12;
        T15_1 = &KPfalseVKi;
        T19_0 = T15_0;
        T19_1 = T15_1;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T16 = CONGRUENT_CALL1(UfTUF13);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (T16 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T37_0 = &KPfalseVKi;
          T37_1 = c_nameF14;
          T18_0 = T37_0;
          T18_1 = T37_1;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T17_0 = &KPtrueVKi;
          T17_1 = &KPfalseVKi;
          T18_0 = T17_0;
          T18_1 = T17_1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T19_0 = T18_0;
        T19_1 = T18_1;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T20_0 = T19_0;
      T20_1 = T19_1;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF21 = T20_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    c_nameF22 = T20_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF21 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T23_0 = failureF21;
      T23_1 = &KPfalseVKi;
      T23_2 = &KPfalseVKi;
      T26_0 = T23_0;
      T26_1 = T23_1;
      T26_2 = T23_2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T38 = primitive_idQ(Uafter_fTU_,&KPempty_listVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (T38 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T39_0 = &KPfalseVKi;
        T39_1 = UcollectorU_;
        T39_2 = c_nameF22;
        T25_0 = T39_0;
        T25_1 = T39_1;
        T25_2 = T39_2;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T24_0 = &KPtrueVKi;
        T24_1 = &KPfalseVKi;
        T24_2 = &KPfalseVKi;
        T25_0 = T24_0;
        T25_1 = T24_1;
        T25_2 = T24_2;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T26_0 = T25_0;
      T26_1 = T25_1;
      T26_2 = T25_2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T27_0 = T26_0;
    T27_1 = T26_1;
    T27_2 = T26_2;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  failureF28 = T27_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  dylan_name_ = T27_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  c_nameF30 = T27_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (failureF28 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T40 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (T40 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T31 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T35 = T31;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T41 = SLOT_VALUE_INITD(UfTU_, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T42.vector_element_[0] = T41;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T32 = KlistVKdI(&T42);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T43.vector_element_[0] = T32;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T33 = CONGRUENT_CALL2(UcollectorU_, &T43);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T44 = SLOT_VALUE_INITD(UfTU_, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T34 = CALL2(&KUwildcard_loopUF348, T33, T44);
      T35 = T34;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T36 = T35;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T45 = failureF28;
    MV_SET_ELT(0, failureF28);
    MV_SET_ELT(1, dylan_name_);
    MV_SET_ELT(2, c_nameF30);
    MV_SET_COUNT(3);
    T36 = T45;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  return(T36);
}

static D Kkey_options_rewriterF346I (D UfTU_) {
  D failureF2;
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterUF6;
  D UfT_beforeUF7;
  D T8_0;
  D T8_1;
  D T8_2;
  D T8_3;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D UfTUF11;
  D keyF12;
  D T13_0;
  D T13_1;
  D T14;
  D T15_0;
  D T15_1;
  D T16_0;
  D T16_1;
  D T17_0;
  D T17_1;
  D failureF18;
  D keyF19;
  D T20_0;
  D T20_1;
  D T20_2;
  D T20_3;
  D T21_0;
  D T21_1;
  D T21_2;
  D failureF22;
  D UfT_afterUF23;
  D UfT_beforeUF24;
  D T25_0;
  D T25_1;
  D T25_2;
  D T25_3;
  D T26_0;
  D T26_1;
  D T26_2;
  D failureF27;
  D UfTUF28;
  D valueF29;
  D T30_0;
  D T30_1;
  D T31;
  D T32_0;
  D T32_1;
  D T33_0;
  D T33_1;
  D T34_0;
  D T34_1;
  D failureF35;
  D valueF36;
  D T37_0;
  D T37_1;
  D T37_2;
  D T37_3;
  D T38_0;
  D T38_1;
  D T38_2;
  D T38_3;
  D T39_0;
  D T39_1;
  D T39_2;
  D T39_3;
  D T40_0;
  D T40_1;
  D T40_2;
  D T40_3;
  D T41_0;
  D T41_1;
  D T41_2;
  D T41_3;
  D failureF42;
  D keyF43;
  D valueF44;
  D key_optionsF45;
  D keyF46;
  D valueF47;
  D T48;
  D key_optionsF49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57_0;
  D T57_1;
  D T58_0;
  D T58_1;
  D T59_0;
  D T59_1;
  D T59_2;
  D T59_3;
  D T60;
  D T61;
  D T62_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  T56 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (T56 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (failureF2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF5 = T4_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    UfT_afterUF6 = T4_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    UfT_beforeUF7 = T4_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T8_3 = &KPfalseVKi;
      T41_0 = T8_0;
      T41_1 = T8_1;
      T41_2 = T8_2;
      T41_3 = T8_3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
      T9_1 = MV_GET_ELT(1);
      T9_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF10 = T9_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      UfTUF11 = T9_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      keyF12 = T9_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF10 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T13_0 = failureF10;
        T13_1 = &KPfalseVKi;
        T17_0 = T13_0;
        T17_1 = T13_1;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T14 = CONGRUENT_CALL1(UfTUF11);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (T14 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T57_0 = &KPfalseVKi;
          T57_1 = keyF12;
          T16_0 = T57_0;
          T16_1 = T57_1;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T15_0 = &KPtrueVKi;
          T15_1 = &KPfalseVKi;
          T16_0 = T15_0;
          T16_1 = T15_1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T17_0 = T16_0;
        T17_1 = T16_1;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF18 = T17_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      keyF19 = T17_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF18 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T20_0 = failureF18;
        T20_1 = &KPfalseVKi;
        T20_2 = &KPfalseVKi;
        T20_3 = &KPfalseVKi;
        T40_0 = T20_0;
        T40_1 = T20_1;
        T40_2 = T20_2;
        T40_3 = T20_3;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
        T21_1 = MV_GET_ELT(1);
        T21_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF22 = T21_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        UfT_afterUF23 = T21_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        UfT_beforeUF24 = T21_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF22 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T25_0 = failureF22;
          T25_1 = &KPfalseVKi;
          T25_2 = &KPfalseVKi;
          T25_3 = &KPfalseVKi;
          T39_0 = T25_0;
          T39_1 = T25_1;
          T39_2 = T25_2;
          T39_3 = T25_3;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T26_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF24);
          T26_1 = MV_GET_ELT(1);
          T26_2 = MV_GET_ELT(2);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF27 = T26_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          UfTUF28 = T26_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          valueF29 = T26_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF27 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T30_0 = failureF27;
            T30_1 = &KPfalseVKi;
            T34_0 = T30_0;
            T34_1 = T30_1;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T31 = CONGRUENT_CALL1(UfTUF28);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            if (T31 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T58_0 = &KPfalseVKi;
              T58_1 = valueF29;
              T33_0 = T58_0;
              T33_1 = T58_1;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T32_0 = &KPtrueVKi;
              T32_1 = &KPfalseVKi;
              T33_0 = T32_0;
              T33_1 = T32_1;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T34_0 = T33_0;
            T34_1 = T33_1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF35 = T34_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          valueF36 = T34_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF35 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T37_0 = failureF35;
            T37_1 = &KPfalseVKi;
            T37_2 = &KPfalseVKi;
            T37_3 = &KPfalseVKi;
            T38_0 = T37_0;
            T38_1 = T37_1;
            T38_2 = T37_2;
            T38_3 = T37_3;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T59_0 = &KPfalseVKi;
            T59_1 = keyF19;
            T59_2 = valueF36;
            T59_3 = UfT_afterUF23;
            T38_0 = T59_0;
            T38_1 = T59_1;
            T38_2 = T59_2;
            T38_3 = T59_3;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T39_0 = T38_0;
          T39_1 = T38_1;
          T39_2 = T38_2;
          T39_3 = T38_3;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T40_0 = T39_0;
        T40_1 = T39_1;
        T40_2 = T39_2;
        T40_3 = T39_3;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T41_0 = T40_0;
      T41_1 = T40_1;
      T41_2 = T40_2;
      T41_3 = T40_3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF42 = T41_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    keyF43 = T41_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    valueF44 = T41_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    key_optionsF45 = T41_3;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF42 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T52 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T53 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T52, IKJkey_options_);
      T54 = T53;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      keyF46 = CONGRUENT_CALL1(keyF43);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      valueF47 = CONGRUENT_CALL1(valueF44);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T48 = CONGRUENT_CALL1(key_optionsF45);
      key_optionsF49 = Kkey_options_rewriterF346I(T48);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      T50 = CALL1(&Kfragment_valueVdfmc_reader, keyF46);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T51 = CONGRUENT_CALL2(&KLsymbolGVKd, T50);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      T60 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      SLOT_VALUE_SETTER(valueF47, T60, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      SLOT_VALUE_SETTER(key_optionsF49, T60, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      T61 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      SLOT_VALUE_SETTER(T51, T61, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      SLOT_VALUE_SETTER(T60, T61, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:600
      T62_0 = T61;
      T54 = T62_0;
      MV_SET_COUNT(1);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T55 = T54;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:596
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T55 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  return(T55);
}

static D Kargs_rewriterF345I (D UfTU_) {
  D failureF2;
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterUF6;
  D UfT_beforeUF7;
  D T8_0;
  D T8_1;
  D T8_2;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D arg_;
  D argsF12;
  D T13;
  D T14;
  D argsF15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21_0;
  D T21_1;
  D T21_2;
  D T22_0;
  D T22_1;
  D T22_2;
  D failureF23;
  D Uafter_fTUF24;
  D Unested_fTU_;
  D T26_0;
  D T26_1;
  D T26_2;
  D T26_3;
  D T26_4;
  D T27_0;
  D T27_1;
  D T27_2;
  D failureF28;
  D UfT_afterUF29;
  D UfT_beforeUF30;
  D T31_0;
  D T31_1;
  D T31_2;
  D T31_3;
  D T31_4;
  D T32_0;
  D T32_1;
  D failureF33;
  D UfTUF34;
  D T35_0;
  D T35_1;
  D T35_2;
  D T36_0;
  D T36_1;
  D T36_2;
  D T36_3;
  D failureF37;
  D Uafter_fTUF38;
  D Uname_fTU_;
  D Utype_fTU_;
  D T41_0;
  D T41_1;
  D T41_2;
  D T42_0;
  D T42_1;
  D T42_2;
  D failureF43;
  D arg_nameF44;
  D T45_0;
  D T45_1;
  D T45_2;
  D T46_0;
  D T46_1;
  D T46_2;
  D failureF47;
  D typeF48;
  D T49_0;
  D T49_1;
  D T49_2;
  D T50_0;
  D T50_1;
  D T50_2;
  D T51_0;
  D T51_1;
  D T51_2;
  D T52_0;
  D T52_1;
  D T52_2;
  D T53_0;
  D T53_1;
  D T53_2;
  D T54_0;
  D T54_1;
  D T54_2;
  D T55_0;
  D T55_1;
  D T55_2;
  D failureF56;
  D arg_nameF57;
  D typeF58;
  D T59_0;
  D T59_1;
  D T59_2;
  D T59_3;
  D T59_4;
  D T60_0;
  D T60_1;
  D T60_2;
  D failureF61;
  D UfT_afterUF62;
  D UfT_beforeUF63;
  D T64_0;
  D T64_1;
  D T64_2;
  D T64_3;
  D T64_4;
  D T65_0;
  D T65_1;
  D failureF66;
  D UfTUF67;
  D T68_0;
  D T68_1;
  D T69_0;
  D T69_1;
  D T69_2;
  D failureF70;
  D UfTUF71;
  D disciplineF72;
  D T73_0;
  D T73_1;
  D T74;
  D T75_0;
  D T75_1;
  D T76_0;
  D T76_1;
  D T77_0;
  D T77_1;
  D T78_0;
  D T78_1;
  D failureF79;
  D disciplineF80;
  D T81_0;
  D T81_1;
  D T81_2;
  D T81_3;
  D T81_4;
  D T82_0;
  D T82_1;
  D T82_2;
  D T82_3;
  D T82_4;
  D T83_0;
  D T83_1;
  D T83_2;
  D T83_3;
  D T83_4;
  D T84_0;
  D T84_1;
  D T84_2;
  D T84_3;
  D T84_4;
  D T85_0;
  D T85_1;
  D T85_2;
  D T85_3;
  D T85_4;
  D failureF86;
  D arg_nameF87;
  D typeF88;
  D disciplineF89;
  D key_optionsF90;
  D T91_0;
  D T91_1;
  D T91_2;
  D T91_3;
  D T91_4;
  D T92_0;
  D T92_1;
  D T92_2;
  D T92_3;
  D T92_4;
  D T93_0;
  D T93_1;
  D T93_2;
  D T93_3;
  D T93_4;
  D T94_0;
  D T94_1;
  D T94_2;
  D T94_3;
  D T94_4;
  D T95_0;
  D T95_1;
  D T95_2;
  D T95_3;
  D T95_4;
  D failureF96;
  D arg_nameF97;
  D typeF98;
  D disciplineF99;
  D key_optionsF100;
  D arg_nameF101;
  D typeF102;
  D disciplineF103;
  D T104;
  D key_optionsF105;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110;
  D T111;
  D T112_0;
  D T112_1;
  D T112_2;
  D T113_0;
  D T113_1;
  D T114_0;
  D T114_1;
  D T114_2;
  D T114_3;
  D T114_4;
  D T115;
  D T116_0;
  D T116_1;
  D T116_2;
  D T116_3;
  D T116_4;
  _KLsimple_object_vectorGVKd_8 T117 = {&KLsimple_object_vectorGVKdW, (D) 33};
  D T118;
  D T119;
  D T120;
  D T121;
  D T122_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  if (failureF2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T4_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF5 = T4_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    UfT_afterUF6 = T4_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    UfT_beforeUF7 = T4_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeUF7;
      T21_2 = UfT_afterUF6;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    failureF10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    arg_ = T9_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    argsF12 = T9_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    if (failureF10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJargs_);
      T18 = T17;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T13 = CONGRUENT_CALL1(arg_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      T22_0 = Kmatch_parensVdfmc_macro_expanderI(T13);
      T22_1 = MV_GET_ELT(1);
      T22_2 = MV_GET_ELT(2);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF23 = T22_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      Uafter_fTUF24 = T22_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      Unested_fTU_ = T22_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF23 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T26_0 = failureF23;
        T26_1 = &KPfalseVKi;
        T26_2 = &KPfalseVKi;
        T26_3 = &KPfalseVKi;
        T26_4 = &KPfalseVKi;
        T95_0 = T26_0;
        T95_1 = T26_1;
        T95_2 = T26_2;
        T95_3 = T26_3;
        T95_4 = T26_4;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T27_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(Unested_fTU_);
        T27_1 = MV_GET_ELT(1);
        T27_2 = MV_GET_ELT(2);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF28 = T27_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        UfT_afterUF29 = T27_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        UfT_beforeUF30 = T27_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF28 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T31_0 = failureF28;
          T31_1 = &KPfalseVKi;
          T31_2 = &KPfalseVKi;
          T31_3 = &KPfalseVKi;
          T31_4 = &KPfalseVKi;
          T85_0 = T31_0;
          T85_1 = T31_1;
          T85_2 = T31_2;
          T85_3 = T31_3;
          T85_4 = T31_4;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T32_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF30, IKJparameter_);
          T32_1 = MV_GET_ELT(1);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF33 = T32_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          UfTUF34 = T32_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF33 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T35_0 = failureF33;
            T35_1 = &KPfalseVKi;
            T35_2 = &KPfalseVKi;
            T55_0 = T35_0;
            T55_1 = T35_1;
            T55_2 = T35_2;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T36_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF34);
            T36_1 = MV_GET_ELT(1);
            T36_2 = MV_GET_ELT(2);
            T36_3 = MV_GET_ELT(3);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            failureF37 = T36_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Uafter_fTUF38 = T36_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Uname_fTU_ = T36_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            Utype_fTU_ = T36_3;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            if (failureF37 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T41_0 = failureF37;
              T41_1 = &KPfalseVKi;
              T41_2 = &KPfalseVKi;
              T54_0 = T41_0;
              T54_1 = T41_1;
              T54_2 = T41_2;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T42_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T42_1 = MV_GET_ELT(1);
              T42_2 = MV_GET_ELT(2);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              failureF43 = T42_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              arg_nameF44 = T42_2;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              if (failureF43 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T45_0 = failureF43;
                T45_1 = &KPfalseVKi;
                T45_2 = &KPfalseVKi;
                T53_0 = T45_0;
                T53_1 = T45_1;
                T53_2 = T45_2;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T46_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T46_1 = MV_GET_ELT(1);
                T46_2 = MV_GET_ELT(2);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                failureF47 = T46_0;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                typeF48 = T46_2;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                if (failureF47 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T49_0 = failureF47;
                  T49_1 = &KPfalseVKi;
                  T49_2 = &KPfalseVKi;
                  T52_0 = T49_0;
                  T52_1 = T49_1;
                  T52_2 = T49_2;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T111 = primitive_idQ(Uafter_fTUF38,&KPempty_listVKi);
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  if (T111 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T112_0 = &KPfalseVKi;
                    T112_1 = arg_nameF44;
                    T112_2 = typeF48;
                    T51_0 = T112_0;
                    T51_1 = T112_1;
                    T51_2 = T112_2;
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T50_0 = &KPtrueVKi;
                    T50_1 = &KPfalseVKi;
                    T50_2 = &KPfalseVKi;
                    T51_0 = T50_0;
                    T51_1 = T50_1;
                    T51_2 = T50_2;
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T52_0 = T51_0;
                  T52_1 = T51_1;
                  T52_2 = T51_2;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T53_0 = T52_0;
                T53_1 = T52_1;
                T53_2 = T52_2;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T54_0 = T53_0;
              T54_1 = T53_1;
              T54_2 = T53_2;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T55_0 = T54_0;
            T55_1 = T54_1;
            T55_2 = T54_2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          failureF56 = T55_0;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          arg_nameF57 = T55_1;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          typeF58 = T55_2;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (failureF56 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T59_0 = failureF56;
            T59_1 = &KPfalseVKi;
            T59_2 = &KPfalseVKi;
            T59_3 = &KPfalseVKi;
            T59_4 = &KPfalseVKi;
            T84_0 = T59_0;
            T84_1 = T59_1;
            T84_2 = T59_2;
            T84_3 = T59_3;
            T84_4 = T59_4;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T60_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF29);
            T60_1 = MV_GET_ELT(1);
            T60_2 = MV_GET_ELT(2);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            failureF61 = T60_0;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            UfT_afterUF62 = T60_1;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            UfT_beforeUF63 = T60_2;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            if (failureF61 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T64_0 = failureF61;
              T64_1 = &KPfalseVKi;
              T64_2 = &KPfalseVKi;
              T64_3 = &KPfalseVKi;
              T64_4 = &KPfalseVKi;
              T83_0 = T64_0;
              T83_1 = T64_1;
              T83_2 = T64_2;
              T83_3 = T64_3;
              T83_4 = T64_4;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T65_0 = Kmatch_literalVdfmc_macro_expanderI(UfT_beforeUF63, IKJcall_discipline_);
              T65_1 = MV_GET_ELT(1);
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              failureF66 = T65_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              UfTUF67 = T65_1;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              if (failureF66 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T68_0 = failureF66;
                T68_1 = &KPfalseVKi;
                T78_0 = T68_0;
                T78_1 = T68_1;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T69_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF67);
                T69_1 = MV_GET_ELT(1);
                T69_2 = MV_GET_ELT(2);
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                failureF70 = T69_0;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                UfTUF71 = T69_1;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                disciplineF72 = T69_2;
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                if (failureF70 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T73_0 = failureF70;
                  T73_1 = &KPfalseVKi;
                  T77_0 = T73_0;
                  T77_1 = T73_1;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T74 = CONGRUENT_CALL1(UfTUF71);
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  if (T74 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T113_0 = &KPfalseVKi;
                    T113_1 = disciplineF72;
                    T76_0 = T113_0;
                    T76_1 = T113_1;
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                    T75_0 = &KPtrueVKi;
                    T75_1 = &KPfalseVKi;
                    T76_0 = T75_0;
                    T76_1 = T75_1;
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                  T77_0 = T76_0;
                  T77_1 = T76_1;
                }
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T78_0 = T77_0;
                T78_1 = T77_1;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              failureF79 = T78_0;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              disciplineF80 = T78_1;
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              if (failureF79 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T81_0 = failureF79;
                T81_1 = &KPfalseVKi;
                T81_2 = &KPfalseVKi;
                T81_3 = &KPfalseVKi;
                T81_4 = &KPfalseVKi;
                T82_0 = T81_0;
                T82_1 = T81_1;
                T82_2 = T81_2;
                T82_3 = T81_3;
                T82_4 = T81_4;
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
                T114_0 = &KPfalseVKi;
                T114_1 = arg_nameF57;
                T114_2 = typeF58;
                T114_3 = disciplineF80;
                T114_4 = UfT_afterUF62;
                T82_0 = T114_0;
                T82_1 = T114_1;
                T82_2 = T114_2;
                T82_3 = T114_3;
                T82_4 = T114_4;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
              T83_0 = T82_0;
              T83_1 = T82_1;
              T83_2 = T82_2;
              T83_3 = T82_3;
              T83_4 = T82_4;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T84_0 = T83_0;
            T84_1 = T83_1;
            T84_2 = T83_2;
            T84_3 = T83_3;
            T84_4 = T83_4;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T85_0 = T84_0;
          T85_1 = T84_1;
          T85_2 = T84_2;
          T85_3 = T84_3;
          T85_4 = T84_4;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        failureF86 = T85_0;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        arg_nameF87 = T85_1;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        typeF88 = T85_2;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        disciplineF89 = T85_3;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        key_optionsF90 = T85_4;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        if (failureF86 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T91_0 = failureF86;
          T91_1 = &KPfalseVKi;
          T91_2 = &KPfalseVKi;
          T91_3 = &KPfalseVKi;
          T91_4 = &KPfalseVKi;
          T94_0 = T91_0;
          T94_1 = T91_1;
          T94_2 = T91_2;
          T94_3 = T91_3;
          T94_4 = T91_4;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T115 = primitive_idQ(Uafter_fTUF24,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          if (T115 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T116_0 = &KPfalseVKi;
            T116_1 = arg_nameF87;
            T116_2 = typeF88;
            T116_3 = disciplineF89;
            T116_4 = key_optionsF90;
            T93_0 = T116_0;
            T93_1 = T116_1;
            T93_2 = T116_2;
            T93_3 = T116_3;
            T93_4 = T116_4;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
            T92_0 = &KPtrueVKi;
            T92_1 = &KPfalseVKi;
            T92_2 = &KPfalseVKi;
            T92_3 = &KPfalseVKi;
            T92_4 = &KPfalseVKi;
            T93_0 = T92_0;
            T93_1 = T92_1;
            T93_2 = T92_2;
            T93_3 = T92_3;
            T93_4 = T92_4;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
          T94_0 = T93_0;
          T94_1 = T93_1;
          T94_2 = T93_2;
          T94_3 = T93_3;
          T94_4 = T93_4;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T95_0 = T94_0;
        T95_1 = T94_1;
        T95_2 = T94_2;
        T95_3 = T94_3;
        T95_4 = T94_4;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      failureF96 = T95_0;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      arg_nameF97 = T95_1;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      typeF98 = T95_2;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      disciplineF99 = T95_3;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      key_optionsF100 = T95_4;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      if (failureF96 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T109 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        T110 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T13, T109, IKJarg_);
        T118 = T110;
        T120 = T118;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        arg_nameF101 = CONGRUENT_CALL1(arg_nameF97);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF102 = CONGRUENT_CALL1(typeF98);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        disciplineF103 = CONGRUENT_CALL1(disciplineF99);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T104 = CONGRUENT_CALL1(key_optionsF100);
        key_optionsF105 = Kkey_options_rewriterF346I(T104);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:582
        T106 = CALL1(&Kfragment_valueVdfmc_reader, disciplineF103);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:582
        CONGRUENT_CALL_PROLOG(&KasVKd, 2);
        T107 = CONGRUENT_CALL2(&KLsymbolGVKd, T106);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:576
        T117.vector_element_[0] = &KLc_ffi_argument_descriptorGVdfmc_c_ffi;
        T117.vector_element_[1] = &KJname_;
        T117.vector_element_[2] = arg_nameF101;
        T117.vector_element_[3] = IKJdesignator_name_;
        T117.vector_element_[4] = typeF102;
        T117.vector_element_[5] = IKJcall_discipline_;
        T117.vector_element_[6] = T107;
        T117.vector_element_[7] = key_optionsF105;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:576
        T108 = KapplyVKdI(&KmakeVKd, &T117);
        T119 = T108;
        T120 = T119;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(argsF12);
      argsF15 = Kargs_rewriterF345I(T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:572
      T121 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:572
      SLOT_VALUE_SETTER(T120, T121, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:572
      SLOT_VALUE_SETTER(argsF15, T121, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:572
      T122_0 = T121;
      T18 = T122_0;
      MV_SET_COUNT(1);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
    T19 = T18;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:570
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  return(T19);
}

D Kexpand_make_c_callableVdfmc_c_ffiMM0I (D form_, D dylan_name_, D c_name_expr_, D argument_specs_, D result_desc_, D dylan_function_, D options_) {
  D T8;
  D T9;
  D T10;
  D result_designatorF11;
  D T12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19_0;
  D T19_1;
  D T19_2;
  D all_parameters_;
  D passed_on_parameters_;
  D output_parameters_;
  D T23;
  D result_unboxer_;
  D T25;
  D result_name_;
  D T27;
  D export_form_;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D raw_result_form_;
  D T48;
  D T49;
  D T50;
  D result_raw_type_;
  D T52_0;
  D T52_1;
  D T52_2;
  D output_binding_forms_;
  D output_value_locals_;
  D output_pointer_setting_forms_;
  D parameter_boxing_forms_;
  D export_expr_;
  D exportF58;
  D T59;
  D modifiers_expr_;
  D modifiersF61;
  D T62;
  D T63;
  D c_nameF64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87;
  D T88;
  D T89;
  D T90;
  D options_form_;
  D T92;
  D T93;
  D T94;
  D T95;
  D T96;
  D T97;
  D T98;
  D T99;
  D T100;
  D T101;
  D T102;
  D T103;
  D T104;
  D T105;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110;
  D T111;
  D T112;
  D binding_form_;
  D T114;
  D T115;
  D T116;
  D T117;
  D T118;
  D T119;
  D T120;
  D T121;
  D T122;
  D T123;
  D T124;
  D T125;
  D T126;
  D T127;
  D T128;
  D T129;
  D T130;
  D T131;
  D T132;
  D T133;
  D T134;
  D T135;
  D T136;
  D T137;
  D T138;
  D T139;
  D T140;
  D T141;
  D T142;
  D T143;
  D T144;
  D T145;
  D T146;
  D T147;
  D result_designatorF148;
  D T149;
  D T150;
  D T151;
  D T152;
  D T153;
  D T154;
  D T155;
  D T156;
  D T157;
  D exportF158;
  D T159;
  D T160;
  D T161;
  D T162;
  D T163;
  D modifiersF164;
  D T165;
  D T166;
  D T167;
  D T168;
  D T169;
  D c_nameF170;
  D T171;
  D T172;
  D T173;
  D T174;
  D T175;
  D T176;
  D T177;
  D T178;
  D T179;
  D T180;
  D T181;
  D T182;
  _KLsimple_object_vectorGVKd_1 T183 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T184 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T185 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T186 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T187 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T188 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T189;
  _KLsimple_object_vectorGVKd_1 T190 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T191 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T192 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T193;
  D T194;
  _KLsimple_object_vectorGVKd_2 T195 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T196;
  _KLsimple_object_vectorGVKd_6 T197 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T198;
  D T199;
  D T200;
  D T201;
  _KLsimple_object_vectorGVKd_6 T202 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T203;
  D T204;
  D T205;
  D T206;
  _KLsimple_object_vectorGVKd_6 T207 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T208;
  D T209;
  _KLsimple_object_vectorGVKd_7 T210 = {&KLsimple_object_vectorGVKdW, (D) 29};
  D T211;
  D T212;
  D T213;
  D T214;
  _KLsimple_object_vectorGVKd_10 T215 = {&KLsimple_object_vectorGVKdW, (D) 41};
  D T216;
  _KLsimple_object_vectorGVKd_4 T217 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T218;
  D T219;
  D T220;
  _KLsimple_object_vectorGVKd_7 T221 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_1 T222 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_3 T223 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_1 T224 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T225 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_6 T226 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_1 T227 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T228 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_3 T229 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_11 T230 = {&KLsimple_object_vectorGVKdW, (D) 45};
  _KLsimple_object_vectorGVKd_7 T231 = {&KLsimple_object_vectorGVKdW, (D) 29};
  _KLsimple_object_vectorGVKd_2 T232 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:797
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  if (result_desc_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:802
    T8 = CALL1(&KvoidQVdfmc_c_ffi, result_desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:802
    T177 = primitive_not(T8);
    T9 = T177;
  } else {
    T9 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  if (T9 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:803
    CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
    T10 = CONGRUENT_CALL1(result_desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:803
    T178 = KCtop_level_eval_typeVdfmc_conversionMM0I(T10, &KPempty_vectorVKi, &KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:803
    T179 = T178;
    result_designatorF11 = T179;
  } else {
    result_designatorF11 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  result_designatorF148 = result_designatorF11;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  if (result_desc_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:805
    T12 = CALL1(&KvoidQVdfmc_c_ffi, result_desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:805
    T180 = primitive_not(T12);
    T13 = T180;
  } else {
    T13 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  if (T13 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:806
    T157 = result_designatorF148;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:806
    T181 = primitive_instanceQ(T157,&KLBdesignator_classGVdfmc_c_ffi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:806
    T182 = primitive_not(T181);
    T14 = T182;
  } else {
    T14 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  if (T14 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:807
    CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
    T15 = CONGRUENT_CALL1(result_desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:808
    T16 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_callable_result_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:808
    T183.vector_element_[0] = T16;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:808
    T17 = Kmake_templateVdfmc_macro_expanderI(&T183);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:807
    CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T15, dylan_name_, T17, &KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:809
    result_designatorF148 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:812
  T18 = MAKE_CLOSURE_INITD(&Kanonymous_of_expand_make_c_callableF344, 1, dylan_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:812
  CALL2(&KdoVKd, T18, argument_specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:823
  T19_0 = CALL1(&Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0, argument_specs_);
  T19_1 = MV_GET_ELT(1);
  T19_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  all_parameters_ = T19_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  passed_on_parameters_ = T19_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:804
  output_parameters_ = T19_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:825
  T155 = result_designatorF148;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:825
  if (T155 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:825
    T156 = result_designatorF148;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:825
    T23 = CALL1(&KCunboxer_function_nameVdfmc_c_ffiMM0, T156);
    result_unboxer_ = T23;
  } else {
    result_unboxer_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:825
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:826
  T154 = result_designatorF148;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:826
  if (T154 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:826
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    T25 = CONGRUENT_CALL1(result_desc_);
    result_name_ = T25;
  } else {
    result_name_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:826
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:827
  T152 = result_designatorF148;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:827
  if (T152 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:827
    T153 = result_designatorF148;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:827
    T27 = CALL1(&KCexport_functionVdfmc_c_ffiMM0, T153);
    export_form_ = T27;
  } else {
    export_form_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:827
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:829
  T151 = result_designatorF148;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:829
  if (T151 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:830
    if (export_form_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T29 = CONGRUENT_CALL1(result_unboxer_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T30 = CONGRUENT_CALL1(export_form_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T31 = CONGRUENT_CALL1(result_name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T184.vector_element_[0] = T31;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T32 = KlistVKdI(&T184);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T33 = Kmake_parens_fragmentVdfmc_macro_expanderI(T32);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T185.vector_element_[0] = T30;
      T185.vector_element_[1] = T33;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T34 = KlistVKdI(&T185);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T35 = Kmake_parens_fragmentVdfmc_macro_expanderI(T34);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T186.vector_element_[0] = T29;
      T186.vector_element_[1] = T35;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:831
      T36 = Kmake_templateVdfmc_macro_expanderI(&T186);
      T42 = T36;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:833
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T37 = CONGRUENT_CALL1(result_unboxer_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:833
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T38 = CONGRUENT_CALL1(result_name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:833
      T187.vector_element_[0] = T38;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:833
      T39 = KlistVKdI(&T187);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:833
      T40 = Kmake_parens_fragmentVdfmc_macro_expanderI(T39);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:833
      T188.vector_element_[0] = T37;
      T188.vector_element_[1] = T40;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:833
      T41 = Kmake_templateVdfmc_macro_expanderI(&T188);
      T42 = T41;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:830
    raw_result_form_ = T42;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:836
    T43 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:836
    T189 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((D) 1);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:836
    T190.vector_element_[0] = T189;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:836
    T44 = KlistVKdI(&T190);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:836
    T45 = Kmake_parens_fragmentVdfmc_macro_expanderI(T44);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:836
    T191.vector_element_[0] = T43;
    T191.vector_element_[1] = T45;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:836
    T46 = Kmake_templateVdfmc_macro_expanderI(&T191);
    raw_result_form_ = T46;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:829
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:839
  T149 = result_designatorF148;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:839
  if (T149 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:840
    T150 = result_designatorF148;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:840
    CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
    T48 = CONGRUENT_CALL1(T150);
    result_raw_type_ = T48;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:842
    T49 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLraw_c_unsigned_longG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:842
    T192.vector_element_[0] = T49;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:842
    T50 = Kmake_templateVdfmc_macro_expanderI(&T192);
    result_raw_type_ = T50;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:839
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:846
  T52_0 = Kcallable_output_parameter_handlingVdfmc_c_ffiMM0I(output_parameters_, result_desc_);
  T52_1 = MV_GET_ELT(1);
  T52_2 = MV_GET_ELT(2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:844
  output_binding_forms_ = T52_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:844
  output_value_locals_ = T52_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:844
  output_pointer_setting_forms_ = T52_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:848
  parameter_boxing_forms_ = Kcallable_box_input_parametersVdfmc_c_ffiMM0I(passed_on_parameters_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:850
  export_expr_ = CALL2(&Kget_propertyYplistsVcollections, options_, IKJexport_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:852
  if (export_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:852
    T195.vector_element_[0] = IKJon_failure_;
    T195.vector_element_[1] = IKJfailed_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:852
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T194 = CONGRUENT_CALL2(export_expr_, &T195);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:852
    T193 = T194;
    exportF58 = T193;
  } else {
    exportF58 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:852
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:852
  exportF158 = exportF58;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:853
  T163 = exportF158;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:853
  T196 = primitive_instanceQ(T163,&KLbooleanGVKd);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:853
  if (T196 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:855
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T59 = CONGRUENT_CALL1(export_expr_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:854
    T197.vector_element_[0] = IKJsource_location_;
    T197.vector_element_[1] = T59;
    T197.vector_element_[2] = IKJdefinition_name_;
    T197.vector_element_[3] = dylan_name_;
    T197.vector_element_[4] = IKJexport_expression_;
    T197.vector_element_[5] = export_expr_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:854
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinvalid_c_callable_wrapper_export_valueGVdfmc_c_ffi, &T197);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:858
    exportF158 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:853
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:861
  modifiers_expr_ = CALL2(&Kget_propertyYplistsVcollections, options_, IKJc_modifiers_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:862
  if (modifiers_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:862
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T199 = CONGRUENT_CALL2(modifiers_expr_, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:862
    T198 = T199;
    modifiersF61 = T198;
  } else {
    modifiersF61 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:862
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:862
  modifiersF164 = modifiersF61;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
  T168 = modifiersF164;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
  if (T168 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
    T169 = modifiersF164;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
    T200 = primitive_instanceQ(T169,&KLstringGVKd);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
    T201 = primitive_not(T200);
    T62 = T201;
  } else {
    T62 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
  if (T62 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:865
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T63 = CONGRUENT_CALL1(modifiers_expr_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:864
    T202.vector_element_[0] = IKJsource_location_;
    T202.vector_element_[1] = T63;
    T202.vector_element_[2] = IKJdefinition_name_;
    T202.vector_element_[3] = dylan_name_;
    T202.vector_element_[4] = IKJmodifiers_expression_;
    T202.vector_element_[5] = modifiers_expr_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:864
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinvalid_c_modifiers_valueGVdfmc_c_ffi, &T202);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:868
    modifiersF164 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:863
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:871
  if (c_name_expr_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:871
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T204 = CONGRUENT_CALL2(c_name_expr_, &KPempty_vectorVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:871
    T203 = T204;
    c_nameF64 = T203;
  } else {
    c_nameF64 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:871
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:871
  c_nameF170 = c_nameF64;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
  T175 = c_nameF170;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
  if (T175 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
    T176 = c_nameF170;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
    T205 = primitive_instanceQ(T176,&KLstringGVKd);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
    T206 = primitive_not(T205);
    T65 = T206;
  } else {
    T65 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
  if (T65 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:874
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T66 = CONGRUENT_CALL1(c_name_expr_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:873
    T207.vector_element_[0] = IKJsource_location_;
    T207.vector_element_[1] = T66;
    T207.vector_element_[2] = IKJdefinition_name_;
    T207.vector_element_[3] = dylan_name_;
    T207.vector_element_[4] = IKJc_name_expression_;
    T207.vector_element_[5] = c_name_expr_;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:873
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinvalid_c_name_valueGVdfmc_c_ffi, &T207);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:877
    c_nameF170 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:872
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:881
  T165 = modifiersF164;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:881
  if (T165 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:882
    T173 = c_nameF170;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:882
    if (T173 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T174 = c_nameF170;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T67 = CONGRUENT_CALL1(T174);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T68 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T208 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJc_modifiers_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T167 = modifiersF164;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T69 = CONGRUENT_CALL1(T167);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T70 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T209 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJexport_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T162 = exportF158;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T71 = CONGRUENT_CALL1(T162);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T210.vector_element_[0] = T67;
      T210.vector_element_[1] = T68;
      T210.vector_element_[2] = T208;
      T210.vector_element_[3] = T69;
      T210.vector_element_[4] = T70;
      T210.vector_element_[5] = T209;
      T210.vector_element_[6] = T71;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:883
      T72 = Kmake_templateVdfmc_macro_expanderI(&T210);
      T80 = T72;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T211 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T73 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T212 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJc_modifiers_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T166 = modifiersF164;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T74 = CONGRUENT_CALL1(T166);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T75 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T213 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJother_name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T76 = CONGRUENT_CALL1(dylan_name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T77 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T214 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJexport_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T161 = exportF158;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T78 = CONGRUENT_CALL1(T161);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T215.vector_element_[0] = T211;
      T215.vector_element_[1] = T73;
      T215.vector_element_[2] = T212;
      T215.vector_element_[3] = T74;
      T215.vector_element_[4] = T75;
      T215.vector_element_[5] = T213;
      T215.vector_element_[6] = T76;
      T215.vector_element_[7] = T77;
      T215.vector_element_[8] = T214;
      T215.vector_element_[9] = T78;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:885
      T79 = Kmake_templateVdfmc_macro_expanderI(&T215);
      T80 = T79;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:882
    options_form_ = T80;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:881
    T171 = c_nameF170;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:881
    if (T171 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      T172 = c_nameF170;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T81 = CONGRUENT_CALL1(T172);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      T82 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      T216 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJexport_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      T160 = exportF158;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T83 = CONGRUENT_CALL1(T160);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      T217.vector_element_[0] = T81;
      T217.vector_element_[1] = T82;
      T217.vector_element_[2] = T216;
      T217.vector_element_[3] = T83;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:889
      T84 = Kmake_templateVdfmc_macro_expanderI(&T217);
      T90 = T84;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T218 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T85 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T219 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJother_name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T86 = CONGRUENT_CALL1(dylan_name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T87 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T220 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJexport_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T159 = exportF158;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T88 = CONGRUENT_CALL1(T159);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T221.vector_element_[0] = T218;
      T221.vector_element_[1] = T85;
      T221.vector_element_[2] = T219;
      T221.vector_element_[3] = T86;
      T221.vector_element_[4] = T87;
      T221.vector_element_[5] = T220;
      T221.vector_element_[6] = T88;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:891
      T89 = Kmake_templateVdfmc_macro_expanderI(&T221);
      T90 = T89;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:881
    options_form_ = T90;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:881
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:893
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T92 = CONGRUENT_CALL1(output_value_locals_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:893
  if (T92 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T93 = CONGRUENT_CALL1(dylan_function_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    T94 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T95 = CONGRUENT_CALL2(parameter_boxing_forms_, T94);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    T222.vector_element_[0] = T95;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    T96 = KlistVKdI(&T222);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    T97 = Kmake_parens_fragmentVdfmc_macro_expanderI(T96);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    T98 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    T223.vector_element_[0] = T93;
    T223.vector_element_[1] = T97;
    T223.vector_element_[2] = T98;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:894
    T99 = Kmake_templateVdfmc_macro_expanderI(&T223);
    binding_form_ = T99;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T100 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T101 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T102 = CONGRUENT_CALL2(output_value_locals_, T101);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T224.vector_element_[0] = T102;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T103 = KlistVKdI(&T224);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T104 = Kmake_parens_fragmentVdfmc_macro_expanderI(T103);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T105 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T106 = CONGRUENT_CALL1(dylan_function_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T107 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T108 = CONGRUENT_CALL2(parameter_boxing_forms_, T107);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T225.vector_element_[0] = T108;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T109 = KlistVKdI(&T225);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T110 = Kmake_parens_fragmentVdfmc_macro_expanderI(T109);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T111 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T226.vector_element_[0] = T100;
    T226.vector_element_[1] = T104;
    T226.vector_element_[2] = T105;
    T226.vector_element_[3] = T106;
    T226.vector_element_[4] = T110;
    T226.vector_element_[5] = T111;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:896
    T112 = Kmake_templateVdfmc_macro_expanderI(&T226);
    binding_form_ = T112;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:893
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T114 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmake_c_pointer_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T115 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_function_pointer_instantiationG_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T116 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T117 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_cast_pointer_as_raw_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T118 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPc_callable_function_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T119 = CONGRUENT_CALL1(options_form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T227.vector_element_[0] = T119;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T120 = KlistVKdI(&T227);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T121 = Kmake_parens_fragmentVdfmc_macro_expanderI(T120);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T122 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T123 = CONGRUENT_CALL2(all_parameters_, T122);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T228.vector_element_[0] = T123;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T124 = KlistVKdI(&T228);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T125 = Kmake_parens_fragmentVdfmc_macro_expanderI(T124);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T126 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T127 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJraw_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T128 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T129 = CONGRUENT_CALL1(result_raw_type_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T229.vector_element_[0] = T127;
  T229.vector_element_[1] = T128;
  T229.vector_element_[2] = T129;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T130 = KlistVKdI(&T229);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T131 = Kmake_parens_fragmentVdfmc_macro_expanderI(T130);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T132 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T133 = CONGRUENT_CALL1(binding_form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T134 = CONGRUENT_CALL2(T132, T133);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T135 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T136 = CONGRUENT_CALL1(raw_result_form_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T137 = CONGRUENT_CALL2(T135, T136);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T138 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T139 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T230.vector_element_[0] = T118;
  T230.vector_element_[1] = T121;
  T230.vector_element_[2] = T125;
  T230.vector_element_[3] = T126;
  T230.vector_element_[4] = T131;
  T230.vector_element_[5] = output_binding_forms_;
  T230.vector_element_[6] = T134;
  T230.vector_element_[7] = output_pointer_setting_forms_;
  T230.vector_element_[8] = T137;
  T230.vector_element_[9] = T138;
  T230.vector_element_[10] = T139;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T140 = KlistVKdI(&T230);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T141 = Kmake_parens_fragmentVdfmc_macro_expanderI(T140);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T142 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T143 = Kmake_hash_lbracket_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T144 = Kmake_rbracket_fragmentVdfmc_macro_expanderI();
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T231.vector_element_[0] = T115;
  T231.vector_element_[1] = T116;
  T231.vector_element_[2] = T117;
  T231.vector_element_[3] = T141;
  T231.vector_element_[4] = T142;
  T231.vector_element_[5] = T143;
  T231.vector_element_[6] = T144;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T145 = KlistVKdI(&T231);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T146 = Kmake_parens_fragmentVdfmc_macro_expanderI(T145);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T232.vector_element_[0] = T114;
  T232.vector_element_[1] = T146;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:900
  T147 = Kmake_templateVdfmc_macro_expanderI(&T232);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:797
  return(T147);
}

static D Kanonymous_of_expand_make_c_callableF344I (D desc_) {
  D T1;
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;
  D T15;
  _KLsimple_object_vectorGVKd_1 T16 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T17 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T18 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T19;
  D T20;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:812
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:813
  CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
  T1 = CONGRUENT_CALL1(desc_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:813
  T13 = KCtop_level_eval_typeVdfmc_conversionMM0I(T1, &KPempty_vectorVKi, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:813
  T14 = T13;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:813
  CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
  CONGRUENT_CALL2(T14, desc_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:814
  CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
  T2 = CONGRUENT_CALL1(desc_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:814
  T15 = primitive_instanceQ(T2,&KLBdesignator_classGVdfmc_c_ffi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:814
  if (T15 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:814
    T11 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T12 = T11;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:815
    CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
    T3 = CONGRUENT_CALL1(desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:816
    T4 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_callable_parameter_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:816
    T16.vector_element_[0] = T4;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:816
    T5 = Kmake_templateVdfmc_macro_expanderI(&T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:815
    CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T3, CREF(0), T5, &KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:817
    T6 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_raw_intTG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:817
    T17.vector_element_[0] = T6;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:817
    T7 = Kmake_templateVdfmc_macro_expanderI(&T17);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:817
    CONGRUENT_CALL_PROLOG(&Kdesignator_name_setterVdfmc_c_ffi, 2);
    CONGRUENT_CALL2(T7, desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:818
    T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_raw_intTG_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:818
    T18.vector_element_[0] = T8;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:818
    T9 = Kmake_templateVdfmc_macro_expanderI(&T18);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:818
    T19 = KCtop_level_eval_typeVdfmc_conversionMM0I(T9, &KPempty_vectorVKi, &KPfalseVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:818
    T20 = T19;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:818
    CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
    CONGRUENT_CALL2(T20, desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:818
    T10 = T20;
    MV_SET_ELT(0, T20);
    MV_SET_COUNT(1);
    T12 = T10;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:814
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:812
  return(T12);
}

D Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0I (D specs_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8T, T8;
  D T9;
  D T10;
  D nom_;
  D designatorF12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D raw_type_;
  D T20;
  D T21;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D designatorF38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43_0;
  D passed_on_;
  D T45_0;
  D output_;
  D T47_0;
  D all_;
  D T49;
  D T50;
  D T51;
  D T52;
  _KLsimple_object_vectorGVKd_1 T53 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T54 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T55;
  D T56;
  D T57;
  _KLsimple_object_vectorGVKd_6 T58 = {&KLsimple_object_vectorGVKdW, (D) 25};
  _KLsimple_object_vectorGVKd_6 T59 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T60;
  _KLsimple_object_vectorGVKd_3 T61 = {&KLsimple_object_vectorGVKdW, (D) 13};
  D T62_0;
  D T62_1;
  D T62_2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1018
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1021
  T43_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1021
  passed_on_ = T43_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1022
  T45_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1022
  output_ = T45_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1023
  T47_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1023
  all_ = T47_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T2 = CONGRUENT_CALL1(specs_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  T3 = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  T4 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  T5 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  T6 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  T7 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  T8T = T3;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
    T8 = T8T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
    T9 = CALL3(T6, specs_, T8, T4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
    if (T9 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
      T10 = CALL2(T7, specs_, T8);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1025
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nom_ = CONGRUENT_CALL1(T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1026
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      designatorF12 = CONGRUENT_CALL1(T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1026
      designatorF38 = designatorF12;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1027
      T42 = designatorF38;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1027
      T49 = primitive_instanceQ(T42,&KLBdesignator_classGVdfmc_c_ffi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1027
      if (T49 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1028
        CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
        T13 = CONGRUENT_CALL1(T10);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1028
        T50 = KCtop_level_eval_typeVdfmc_conversionMM0I(T13, &KPempty_vectorVKi, &KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1028
        T51 = T50;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1028
        designatorF38 = T51;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1029
        T41 = designatorF38;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1029
        T52 = primitive_instanceQ(T41,&KLBdesignator_classGVdfmc_c_ffi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1029
        if (T52 == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1030
          CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
          T14 = CONGRUENT_CALL1(T10);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
          T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_callable_parameter_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
          T53.vector_element_[0] = T15;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
          T16 = Kmake_templateVdfmc_macro_expanderI(&T53);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1030
          CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T14, &K224, T16, &KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1032
          T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1032
          T54.vector_element_[0] = T17;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1032
          T18 = Kmake_templateVdfmc_macro_expanderI(&T54);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1032
          T55 = KCtop_level_eval_typeVdfmc_conversionMM0I(T18, &KPempty_vectorVKi, &KPfalseVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1032
          T56 = T55;
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1032
          designatorF38 = T56;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1029
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1027
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1035
      T40 = designatorF38;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1035
      CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
      raw_type_ = CONGRUENT_CALL1(T40);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1036
      T20 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1036
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T57 = CONGRUENT_CALL2(T20, &KJinput_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1036
      if (T57 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1037
        T39 = designatorF38;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1037
        T21 = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, T39);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1037
        if (T21 == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1038
          T22 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1038
          CONGRUENT_CALL_PROLOG(&KEVKd, 2);
          T23 = CONGRUENT_CALL2(T22, &KJoutput_);
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1038
          if (T23 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1040
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T24 = CONGRUENT_CALL1(T10);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1040
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T25 = CONGRUENT_CALL1(T24);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1041
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T26 = CONGRUENT_CALL1(T10);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1042
            CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
            T27 = CONGRUENT_CALL1(T10);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1039
            T58.vector_element_[0] = IKJsource_location_;
            T58.vector_element_[1] = T25;
            T58.vector_element_[2] = IKJdesignator_name_;
            T58.vector_element_[3] = T26;
            T58.vector_element_[4] = IKJparameter_name_;
            T58.vector_element_[5] = T27;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1039
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLoutput_parameter_not_a_pointerGVdfmc_c_ffi, &T58);
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T28 = CONGRUENT_CALL1(T10);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T29 = CONGRUENT_CALL1(T28);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1046
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T30 = CONGRUENT_CALL1(T10);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1047
            CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
            T31 = CONGRUENT_CALL1(T10);
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1044
            T59.vector_element_[0] = IKJsource_location_;
            T59.vector_element_[1] = T29;
            T59.vector_element_[2] = IKJdesignator_name_;
            T59.vector_element_[3] = T30;
            T59.vector_element_[4] = IKJparameter_name_;
            T59.vector_element_[5] = T31;
            // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1044
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLinput_output_parameter_not_a_pointerGVdfmc_c_ffi, &T59);
          }
          // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1038
        }
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1037
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1050
        KaddXVKdMM3I(output_, T10);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1036
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1052
      T32 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1052
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T60 = CONGRUENT_CALL2(T32, &KJoutput_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1052
      if (T60 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1053
        KaddXVKdMM3I(passed_on_, T10);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1052
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1055
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T33 = CONGRUENT_CALL1(nom_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1055
      T34 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1055
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T35 = CONGRUENT_CALL1(raw_type_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1055
      T61.vector_element_[0] = T33;
      T61.vector_element_[1] = T34;
      T61.vector_element_[2] = T35;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1055
      T36 = Kmake_templateVdfmc_macro_expanderI(&T61);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1055
      KaddXVKdMM3I(all_, T36);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
      T37 = CALL2(T5, specs_, T8);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
      T8T = T37;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1024
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1057
  T62_0 = all_;
  T62_1 = passed_on_;
  T62_2 = output_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1018
  MV_SET_ELT(1, T62_1);
  MV_SET_ELT(2, T62_2);
  MV_SET_COUNT(3);
  return(T62_0);
}

D Kcallable_output_parameter_handlingVdfmc_c_ffiMM0I (D output_parameters_, D result_desc_) {
  D T3;
  D T4;
  D nomF5;
  D typeF6;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  D form_;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20T, T20;
  D T21;
  D T22;
  D designatorF23;
  D nomF24;
  D designator_nameF25;
  D T26;
  D T27;
  D T28;
  D pointer_local_name_;
  D return_value_local_name_;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D return_value_local_bind_;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D designatorF87;
  D T88;
  D designator_nameF89;
  D T90;
  D T91;
  D T92;
  D T93;
  D typeF94;
  D T95;
  D T96_0;
  D binding_forms_;
  D T98_0;
  D pointer_setting_forms_;
  D T100_0;
  D return_value_binds_;
  D T102;
  _KLsimple_object_vectorGVKd_1 T103 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T104 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T105;
  _KLsimple_object_vectorGVKd_1 T106 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T107;
  D T108;
  _KLsimple_object_vectorGVKd_2 T109 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T110 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T111 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_4 T112 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_5 T113 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_5 T114 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_1 T115 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T116 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T117;
  _KLsimple_object_vectorGVKd_1 T118 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T119 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_2 T120 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T121 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_17 T122 = {&KLsimple_object_vectorGVKdW, (D) 69};
  D T123_0;
  D T123_1;
  D T123_2;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:961
  T96_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:961
  binding_forms_ = T96_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:962
  T98_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:962
  pointer_setting_forms_ = T98_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:963
  T100_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:963
  return_value_binds_ = T100_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:965
  if (result_desc_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:965
    T3 = CALL1(&KvoidQVdfmc_c_ffi, result_desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:965
    T102 = primitive_not(T3);
    T4 = T102;
  } else {
    T4 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:965
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:965
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:966
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    nomF5 = CONGRUENT_CALL1(result_desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:967
    CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
    typeF6 = CONGRUENT_CALL1(result_desc_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T7 = CONGRUENT_CALL1(nomF5);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    T8 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T10 = CONGRUENT_CALL1(typeF6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    T103.vector_element_[0] = T10;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    T11 = KlistVKdI(&T103);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    T104.vector_element_[0] = T7;
    T104.vector_element_[1] = T8;
    T104.vector_element_[2] = T9;
    T104.vector_element_[3] = T12;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:968
    form_ = Kmake_templateVdfmc_macro_expanderI(&T104);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:969
    KaddXVKdMM3I(return_value_binds_, form_);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:965
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  T14 = CALL1(&Kforward_iteration_protocolVKd, output_parameters_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  T15 = T14;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  T16 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  T17 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  T18 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  T19 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  T20T = T15;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
    T20 = T20T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
    T21 = CALL3(T18, output_parameters_, T20, T16);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
    if (T21 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
      T22 = CALL2(T19, output_parameters_, T20);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:972
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      designatorF23 = CONGRUENT_CALL1(T22);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:972
      designatorF87 = designatorF23;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:973
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nomF24 = CONGRUENT_CALL1(T22);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:974
      CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
      designator_nameF25 = CONGRUENT_CALL1(T22);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:974
      designator_nameF89 = designator_nameF25;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:975
      T93 = designator_nameF89;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:975
      typeF94 = T93;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:976
      T88 = designatorF87;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:976
      T26 = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, T88);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:976
      T105 = primitive_instanceQ(T26,&KLBdesignator_classGVdfmc_c_ffi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:976
      if (T105 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:977
        T27 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_raw_intTG_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:977
        T106.vector_element_[0] = T27;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:977
        T28 = Kmake_templateVdfmc_macro_expanderI(&T106);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:977
        designator_nameF89 = T28;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:978
        T92 = designator_nameF89;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:978
        T107 = KCtop_level_eval_typeVdfmc_conversionMM0I(T92, &KPempty_vectorVKi, &KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:978
        T108 = T107;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:978
        designatorF87 = T108;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:979
        T91 = designator_nameF89;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:979
        typeF94 = T91;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:976
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:981
      T109.vector_element_[0] = nomF24;
      T109.vector_element_[1] = &K329;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:981
      pointer_local_name_ = KgensymVdfmc_c_ffiMM0I(&T109);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:982
      T110.vector_element_[0] = nomF24;
      T110.vector_element_[1] = &K330;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:982
      return_value_local_name_ = KgensymVdfmc_c_ffiMM0I(&T110);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      T31 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      T32 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_reference_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      T95 = typeF94;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T33 = CONGRUENT_CALL1(T95);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      T111.vector_element_[0] = T33;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      T34 = KlistVKdI(&T111);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      T35 = Kmake_parens_fragmentVdfmc_macro_expanderI(T34);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      T112.vector_element_[0] = return_value_local_name_;
      T112.vector_element_[1] = T31;
      T112.vector_element_[2] = T32;
      T112.vector_element_[3] = T35;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
      return_value_local_bind_ = Kmake_templateVdfmc_macro_expanderI(&T112);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T37 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T38 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmake_c_pointer_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T90 = designator_nameF89;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T40 = CONGRUENT_CALL1(T90);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T41 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T42 = CONGRUENT_CALL1(nomF24);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T43 = CONGRUENT_CALL2(T41, T42);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T44 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T45 = Kmake_hash_lbracket_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T46 = Kmake_rbracket_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T113.vector_element_[0] = T40;
      T113.vector_element_[1] = T43;
      T113.vector_element_[2] = T44;
      T113.vector_element_[3] = T45;
      T113.vector_element_[4] = T46;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T47 = KlistVKdI(&T113);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T48 = Kmake_parens_fragmentVdfmc_macro_expanderI(T47);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T114.vector_element_[0] = T37;
      T114.vector_element_[1] = pointer_local_name_;
      T114.vector_element_[2] = T38;
      T114.vector_element_[3] = T39;
      T114.vector_element_[4] = T48;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
      T49 = Kmake_templateVdfmc_macro_expanderI(&T114);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:985
      KaddXVKdMM3I(binding_forms_, T49);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T50 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T52 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T53 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T54 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_machine_word_equalQ_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T55 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_cast_pointer_as_raw_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T56 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_unwrap_c_pointer_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T115.vector_element_[0] = pointer_local_name_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T57 = KlistVKdI(&T115);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T58 = Kmake_parens_fragmentVdfmc_macro_expanderI(T57);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T116.vector_element_[0] = T56;
      T116.vector_element_[1] = T58;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T59 = KlistVKdI(&T116);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T60 = Kmake_parens_fragmentVdfmc_macro_expanderI(T59);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T61 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T62 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T117 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((D) 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T118.vector_element_[0] = T117;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T63 = KlistVKdI(&T118);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T64 = Kmake_parens_fragmentVdfmc_macro_expanderI(T63);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T119.vector_element_[0] = T55;
      T119.vector_element_[1] = T60;
      T119.vector_element_[2] = T61;
      T119.vector_element_[3] = T62;
      T119.vector_element_[4] = T64;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T65 = KlistVKdI(&T119);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T66 = Kmake_parens_fragmentVdfmc_macro_expanderI(T65);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T67 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T68 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T69 = Kmake_unary_operator_fragmentVdfmc_macro_expanderI(IKJN_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T70 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T120.vector_element_[0] = T69;
      T120.vector_element_[1] = T70;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T71 = KlistVKdI(&T120);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T72 = Kmake_parens_fragmentVdfmc_macro_expanderI(T71);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T73 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T121.vector_element_[0] = pointer_local_name_;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T74 = KlistVKdI(&T121);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T75 = Kmake_parens_fragmentVdfmc_macro_expanderI(T74);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T76 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ58ZE_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T77 = CONGRUENT_CALL2(T76, return_value_local_name_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T78 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T79 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T80 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T81 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T82 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T122.vector_element_[0] = T50;
      T122.vector_element_[1] = T51;
      T122.vector_element_[2] = T52;
      T122.vector_element_[3] = T53;
      T122.vector_element_[4] = T54;
      T122.vector_element_[5] = T66;
      T122.vector_element_[6] = T67;
      T122.vector_element_[7] = T68;
      T122.vector_element_[8] = T72;
      T122.vector_element_[9] = T73;
      T122.vector_element_[10] = T75;
      T122.vector_element_[11] = T77;
      T122.vector_element_[12] = T78;
      T122.vector_element_[13] = T79;
      T122.vector_element_[14] = T80;
      T122.vector_element_[15] = T81;
      T122.vector_element_[16] = T82;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:991
      T83 = Kmake_templateVdfmc_macro_expanderI(&T122);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:990
      KaddXVKdMM3I(pointer_setting_forms_, T83);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1000
      KaddXVKdMM3I(return_value_binds_, return_value_local_bind_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
      T84 = CALL2(T17, output_parameters_, T20);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
      T20T = T84;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:971
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1002
  T85 = Ktemplate_sequence_to_templateVdfmc_c_ffiMM0I(binding_forms_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1004
  T86 = Ktemplate_sequence_to_templateVdfmc_c_ffiMM0I(pointer_setting_forms_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1002
  T123_0 = T85;
  T123_1 = return_value_binds_;
  T123_2 = T86;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
  MV_SET_ELT(1, T123_1);
  MV_SET_ELT(2, T123_2);
  MV_SET_COUNT(3);
  return(T123_0);
}

D Kcallable_box_input_parametersVdfmc_c_ffiMM0I (D parameters_) {
  D T2;
  D T3;
  D T4;
  D T5;
  D T6;
  D T7;
  D T8T, T8;
  D T9;
  D T10;
  D nom_;
  D designatorF12;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D low_type_;
  D boxer_;
  D import_;
  D T22;
  D T23;
  D T24;
  D T25;
  D T26;
  D T27;
  D T28;
  D T29;
  D T30;
  D T31;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36;
  D T37;
  D T38;
  D T39;
  D T40;
  D T41;
  D T42;
  D T43;
  D T44;
  D T45;
  D T46;
  D form_;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D T67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D T77;
  D T78;
  D T79;
  D T80;
  D T81;
  D T82;
  D T83;
  D T84;
  D T85;
  D T86;
  D T87_0;
  D designatorF88;
  D T89;
  D T90;
  D T91;
  D T92;
  D T93_0;
  D box_forms_;
  D T95;
  D T96;
  _KLsimple_object_vectorGVKd_1 T97 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T98;
  D T99;
  _KLsimple_object_vectorGVKd_3 T100 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_2 T101 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_2 T102 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_3 T103 = {&KLsimple_object_vectorGVKdW, (D) 13};
  _KLsimple_object_vectorGVKd_2 T104 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T105 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_2 T106 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T107;
  _KLsimple_object_vectorGVKd_1 T108 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_5 T109 = {&KLsimple_object_vectorGVKdW, (D) 21};
  _KLsimple_object_vectorGVKd_1 T110 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T111;
  _KLsimple_object_vectorGVKd_1 T112 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_20 T113 = {&KLsimple_object_vectorGVKdW, (D) 81};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:914
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:917
  T93_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:917
  box_forms_ = T93_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T2 = CONGRUENT_CALL1(parameters_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  T3 = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  T4 = MV_GET_ELT(1);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  T5 = MV_GET_ELT(2);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  T6 = MV_GET_ELT(3);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  T7 = MV_GET_ELT(5);
;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  T8T = T3;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
    T8 = T8T;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
    T9 = CALL3(T6, parameters_, T8, T4);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
    if (T9 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
      T10 = CALL2(T7, parameters_, T8);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:919
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nom_ = CONGRUENT_CALL1(T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:920
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      designatorF12 = CONGRUENT_CALL1(T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:920
      designatorF88 = designatorF12;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:921
      T13 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:921
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T14 = CONGRUENT_CALL2(T13, IKJin_out_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:921
      if (T14 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:922
        T92 = designatorF88;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:922
        T15 = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, T92);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:922
        T95 = primitive_instanceQ(T15,&KLBdesignator_classGVdfmc_c_ffi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:922
        T96 = primitive_not(T95);
        T16 = T96;
      } else {
        T16 = &KPfalseVKi;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:921
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:921
      if (T16 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:923
        T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_raw_intTG_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:923
        T97.vector_element_[0] = T17;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:923
        T18 = Kmake_templateVdfmc_macro_expanderI(&T97);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:923
        T98 = KCtop_level_eval_typeVdfmc_conversionMM0I(T18, &KPempty_vectorVKi, &KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:923
        T99 = T98;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:923
        designatorF88 = T99;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:921
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:925
      T91 = designatorF88;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:925
      low_type_ = CALL1(&KClow_level_typeVdfmc_c_ffiMM0, T91);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:926
      T90 = designatorF88;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:926
      boxer_ = CALL1(&KCboxer_function_nameVdfmc_c_ffiMM0, T90);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:927
      T89 = designatorF88;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:927
      import_ = CALL1(&KCimport_functionVdfmc_c_ffiMM0, T89);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:928
      if (import_ != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T22 = CONGRUENT_CALL1(import_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T24 = CONGRUENT_CALL1(low_type_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T25 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T26 = CONGRUENT_CALL1(nom_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T27 = CONGRUENT_CALL2(T25, T26);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T28 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T29 = CONGRUENT_CALL1(boxer_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T30 = CONGRUENT_CALL2(T28, T29);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T100.vector_element_[0] = T24;
        T100.vector_element_[1] = T27;
        T100.vector_element_[2] = T30;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T31 = KlistVKdI(&T100);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T32 = Kmake_parens_fragmentVdfmc_macro_expanderI(T31);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T101.vector_element_[0] = T23;
        T101.vector_element_[1] = T32;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T33 = KlistVKdI(&T101);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T34 = Kmake_parens_fragmentVdfmc_macro_expanderI(T33);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T102.vector_element_[0] = T22;
        T102.vector_element_[1] = T34;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:929
        T35 = Kmake_templateVdfmc_macro_expanderI(&T102);
        form_ = T35;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T36 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T37 = CONGRUENT_CALL1(low_type_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T38 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T39 = CONGRUENT_CALL1(nom_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T40 = CONGRUENT_CALL2(T38, T39);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T41 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T42 = CONGRUENT_CALL1(boxer_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T43 = CONGRUENT_CALL2(T41, T42);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T103.vector_element_[0] = T37;
        T103.vector_element_[1] = T40;
        T103.vector_element_[2] = T43;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T44 = KlistVKdI(&T103);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T45 = Kmake_parens_fragmentVdfmc_macro_expanderI(T44);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T104.vector_element_[0] = T36;
        T104.vector_element_[1] = T45;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:934
        T46 = Kmake_templateVdfmc_macro_expanderI(&T104);
        form_ = T46;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:928
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:936
      T48 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:936
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T49 = CONGRUENT_CALL2(T48, IKJin_out_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:936
      if (T49 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T50 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T52 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJptr_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T53 = Kmake_equal_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T54 = CONGRUENT_CALL1(form_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T55 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T56 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T57 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T58 = Kmake_equal_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T59 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_machine_word_equalQ_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T60 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_cast_pointer_as_raw_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T61 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_unwrap_c_pointer_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T62 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJptr_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T105.vector_element_[0] = T62;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T63 = KlistVKdI(&T105);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T64 = Kmake_parens_fragmentVdfmc_macro_expanderI(T63);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T106.vector_element_[0] = T61;
        T106.vector_element_[1] = T64;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T65 = KlistVKdI(&T106);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T66 = Kmake_parens_fragmentVdfmc_macro_expanderI(T65);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T67 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T68 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T107 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((D) 1);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T108.vector_element_[0] = T107;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T69 = KlistVKdI(&T108);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T70 = Kmake_parens_fragmentVdfmc_macro_expanderI(T69);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T109.vector_element_[0] = T60;
        T109.vector_element_[1] = T66;
        T109.vector_element_[2] = T67;
        T109.vector_element_[3] = T68;
        T109.vector_element_[4] = T70;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T71 = KlistVKdI(&T109);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T72 = Kmake_parens_fragmentVdfmc_macro_expanderI(T71);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T73 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T74 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T75 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T110.vector_element_[0] = T75;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T76 = KlistVKdI(&T110);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T77 = Kmake_parens_fragmentVdfmc_macro_expanderI(T76);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T111 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T79 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T80 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJptr_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T112.vector_element_[0] = T80;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T81 = KlistVKdI(&T112);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T82 = Kmake_parens_fragmentVdfmc_macro_expanderI(T81);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T83 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T84 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T113.vector_element_[0] = T50;
        T113.vector_element_[1] = T51;
        T113.vector_element_[2] = T52;
        T113.vector_element_[3] = T53;
        T113.vector_element_[4] = T54;
        T113.vector_element_[5] = T55;
        T113.vector_element_[6] = T56;
        T113.vector_element_[7] = T57;
        T113.vector_element_[8] = T58;
        T113.vector_element_[9] = T59;
        T113.vector_element_[10] = T72;
        T113.vector_element_[11] = T73;
        T113.vector_element_[12] = T74;
        T113.vector_element_[13] = T77;
        T113.vector_element_[14] = T111;
        T113.vector_element_[15] = T78;
        T113.vector_element_[16] = T79;
        T113.vector_element_[17] = T82;
        T113.vector_element_[18] = T83;
        T113.vector_element_[19] = T84;
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
        T85 = Kmake_templateVdfmc_macro_expanderI(&T113);
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:937
        KaddXVKdMM3I(box_forms_, T85);
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:948
        KaddXVKdMM3I(box_forms_, form_);
      }
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:936
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
      T86 = CALL2(T5, parameters_, T8);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
      T8T = T86;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:918
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:951
  T87_0 = box_forms_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:914
  MV_SET_COUNT(1);
  return(T87_0);
}

D Ktemplate_sequence_to_templateVdfmc_c_ffiMM0I (D seq_) {
  D T2;
  D T3;
  D T4;
  D T5_0;
  D T6;
  D T7;
  D T8_0;
  D T9_0;
  _KLsimple_object_vectorGVKd_2 T10 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_1 T11 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T12_0;
  D T13_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1009
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T2 = CONGRUENT_CALL1(seq_);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1009
  if (T2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1010
    T3 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1010
    T4 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1010
    T10.vector_element_[0] = T3;
    T10.vector_element_[1] = T4;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1010
    T5_0 = Kmake_templateVdfmc_macro_expanderI(&T10);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1010
    T12_0 = T5_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T5_0);
      primitive_type_check(T12_0, &KLtemplateGVdfmc_reader);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T9_0 = T12_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
    T6 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T7 = CONGRUENT_CALL2(seq_, T6);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
    T11.vector_element_[0] = T7;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
    T8_0 = Kmake_templateVdfmc_macro_expanderI(&T11);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
    T13_0 = T8_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T8_0);
      primitive_type_check(T13_0, &KLtemplateGVdfmc_reader);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T9_0 = T13_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1009
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
  MV_SET_COUNT(1);
  return(T9_0);
}

static D KUwildcard_loopUF368I (D UcollectorU_, D UfTU_) {
  D T2_0;
  D T2_1;
  D failureF3;
  D UfTUF4;
  D T5_0;
  D T5_1;
  D T5_2;
  D T5_3;
  D T6_0;
  D T6_1;
  D T6_2;
  D failureF7;
  D UfTUF8;
  D dylan_nameF9;
  D T10_0;
  D T10_1;
  D T10_2;
  D T10_3;
  D T11_0;
  D T11_1;
  D T11_2;
  D T11_3;
  D T12_0;
  D T12_1;
  D T12_2;
  D T12_3;
  D failureF13;
  D mods_;
  D dylan_nameF15;
  D spec_;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  D T22;
  D T23_0;
  D T23_1;
  D T23_2;
  D T23_3;
  D T24;
  D T25;
  _KLsimple_object_vectorGVKd_1 T26 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_1 T27 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T28;
  D T29;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  T2_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(UfTU_);
  T2_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  failureF3 = T2_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  UfTUF4 = T2_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  if (failureF3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T5_0 = failureF3;
    T5_1 = &KPfalseVKi;
    T5_2 = &KPfalseVKi;
    T5_3 = &KPfalseVKi;
    T12_0 = T5_0;
    T12_1 = T5_1;
    T12_2 = T5_2;
    T12_3 = T5_3;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T6_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF4);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    failureF7 = T6_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    UfTUF8 = T6_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    dylan_nameF9 = T6_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    if (failureF7 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T10_0 = failureF7;
      T10_1 = &KPfalseVKi;
      T10_2 = &KPfalseVKi;
      T10_3 = &KPfalseVKi;
      T11_0 = T10_0;
      T11_1 = T10_1;
      T11_2 = T10_2;
      T11_3 = T10_3;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T23_0 = &KPfalseVKi;
      T23_1 = UcollectorU_;
      T23_2 = dylan_nameF9;
      T23_3 = UfTUF8;
      T11_0 = T23_0;
      T11_1 = T23_1;
      T11_2 = T23_2;
      T11_3 = T23_3;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T12_0 = T11_0;
    T12_1 = T11_1;
    T12_2 = T11_2;
    T12_3 = T11_3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  failureF13 = T12_0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  mods_ = T12_1;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  dylan_nameF15 = T12_2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  spec_ = T12_3;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  if (failureF13 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T24 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    if (T24 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T17 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T21 = T17;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T25 = SLOT_VALUE_INITD(UfTU_, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T26.vector_element_[0] = T25;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T18 = KlistVKdI(&T26);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T27.vector_element_[0] = T18;
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T19 = CONGRUENT_CALL2(UcollectorU_, &T27);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T28 = SLOT_VALUE_INITD(UfTU_, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T20 = CALL2(&KUwildcard_loopUF368, T19, T28);
      T21 = T20;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T22 = T21;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T29 = failureF13;
    MV_SET_ELT(0, failureF13);
    MV_SET_ELT(1, mods_);
    MV_SET_ELT(2, dylan_nameF15);
    MV_SET_ELT(3, spec_);
    MV_SET_COUNT(4);
    T22 = T29;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  return(T22);
}

static D Kspec_rewriterF364I (D UfTU_) {
  D failureF2;
  D T3;
  D T4_0;
  D T4_1;
  D T4_2;
  D failureF5;
  D UfT_afterU_;
  D UfT_beforeU_;
  D T8_0;
  D T8_1;
  D T8_2;
  D T9_0;
  D T9_1;
  D T9_2;
  D failureF10;
  D stuffF11;
  D specF12;
  D stuffF13;
  D T14;
  D specF15;
  D T16;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21_0;
  D T21_1;
  D T21_2;
  D T22;
  D T23_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  if (failureF2 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T4_0 = Kmatch_body_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    failureF5 = T4_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    UfT_afterU_ = T4_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    UfT_beforeU_ = T4_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    if (failureF5 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeU_;
      T21_2 = UfT_afterU_;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    failureF10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    stuffF11 = T9_1;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    specF12 = T9_2;
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    if (failureF10 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_definer_);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJspec_);
      T18 = T17;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      stuffF13 = CONGRUENT_CALL1(stuffF11);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(specF12);
      specF15 = Kspec_rewriterF364I(T14);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:143
      T22 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:143
      SLOT_VALUE_SETTER(stuffF13, T22, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:143
      SLOT_VALUE_SETTER(specF15, T22, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:143
      T23_0 = T22;
      T18 = T23_0;
      MV_SET_COUNT(1);
    }
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
    T19 = T18;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:142
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  return(T19);
}

D KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I (D class_, D init_args_, D Uunique_name_, D Uunique_designator_name_, D Uunique_call_discipline_) {
  D T6;
  D Uunique_call_disciplineF7;
  D Uunique_call_disciplineF8;
  D T9_0;
  D T10;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:29
  T6 = primitive_object_allocate_filled(5,&KLc_ffi_argument_descriptorGVdfmc_c_ffiW,4,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_name_, T6, 0);
  SLOT_VALUE_SETTER(Uunique_designator_name_, T6, 1);
  SLOT_VALUE_SETTER(&KPunboundVKi, T6, 2);
  T10 = primitive_idQ(Uunique_call_discipline_,&KPunboundVKi);
  if (T10 != &KPfalseVKi) {
    Uunique_call_disciplineF8 = Uunique_call_discipline_;
  } else {
    primitive_type_check(Uunique_call_discipline_, &KLsymbolGVKd);
    Uunique_call_disciplineF7 = Uunique_call_discipline_;
    Uunique_call_disciplineF8 = Uunique_call_disciplineF7;
  }
  SLOT_VALUE_SETTER(Uunique_call_disciplineF8, T6, 3);
  APPLY2(&KinitializeVKd, T6, init_args_);
  T9_0 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:29
  MV_SET_COUNT(1);
  return(T9_0);
}

D KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I (D class_, D init_args_, D Uunique_name_, D Uunique_designator_name_, D Uunique_voidQ_) {
  D T6;
  D Uunique_voidQF7;
  D T8_0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:21
  T6 = primitive_object_allocate_filled(5,&KLc_ffi_result_descriptorGVdfmc_c_ffiW,4,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_name_, T6, 0);
  SLOT_VALUE_SETTER(Uunique_designator_name_, T6, 1);
  SLOT_VALUE_SETTER(&KPunboundVKi, T6, 2);
  primitive_type_check(Uunique_voidQ_, &KLbooleanGVKd);
  Uunique_voidQF7 = Uunique_voidQ_;
  SLOT_VALUE_SETTER(Uunique_voidQF7, T6, 3);
  APPLY2(&KinitializeVKd, T6, init_args_);
  T8_0 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:21
  MV_SET_COUNT(1);
  return(T8_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJword_class_);
    if (T0 != &KJword_class_) {
      IKJword_class_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsuffix_);
    if (T0 != &KJsuffix_) {
      IKJsuffix_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexpander_function_);
    if (T0 != &KJexpander_function_) {
      IKJexpander_function_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_function_definer_);
    if (T0 != &KJc_function_definer_) {
      IKJc_function_definer_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmake_c_callable_);
    if (T0 != &KJmake_c_callable_) {
      IKJmake_c_callable_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_callable_wrapper_definer_);
    if (T0 != &KJc_callable_wrapper_definer_) {
      IKJc_callable_wrapper_definer_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLc_parameter_c_name_optionG_);
    if (T0 != &KJLc_parameter_c_name_optionG_) {
      IKJLc_parameter_c_name_optionG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsymbol_);
    if (T0 != &KJsymbol_) {
      IKJsymbol_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_name_);
    if (T0 != &KJc_name_) {
      IKJc_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJconstraint_);
    if (T0 != &KJconstraint_) {
      IKJconstraint_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexpression_);
    if (T0 != &KJexpression_) {
      IKJexpression_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexcludes_thunk_);
    if (T0 != &KJexcludes_thunk_) {
      IKJexcludes_thunk_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsyntax_);
    if (T0 != &KJsyntax_) {
      IKJsyntax_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJkeyword_);
    if (T0 != &KJkeyword_) {
      IKJkeyword_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJinput_adjectiveQ_);
    if (T0 != &KJinput_adjectiveQ_) {
      primitive_repeated_slot_value_setter(T0, &K270, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K269, 1, 0);
      IKJinput_adjectiveQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJoutput_adjectiveQ_);
    if (T0 != &KJoutput_adjectiveQ_) {
      primitive_repeated_slot_value_setter(T0, &K270, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K269, 1, 2);
      IKJoutput_adjectiveQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_function_body_);
    if (T0 != &KJc_function_body_) {
      IKJc_function_body_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJwith_stack_block_);
    if (T0 != &KJwith_stack_block_) {
      IKJwith_stack_block_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdestroy_);
    if (T0 != &KJdestroy_) {
      IKJdestroy_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJrecord_);
    if (T0 != &KJrecord_) {
      IKJrecord_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsource_position_);
    if (T0 != &KJsource_position_) {
      IKJsource_position_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJbegin_);
    if (T0 != &KJbegin_) {
      IKJbegin_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlet_);
    if (T0 != &KJlet_) {
      IKJlet_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJtemp_);
    if (T0 != &KJtemp_) {
      IKJtemp_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJblock_);
    if (T0 != &KJblock_) {
      IKJblock_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJZ58ZE_);
    if (T0 != &KJZ58ZE_) {
      IKJZ58ZE_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmake_);
    if (T0 != &KJmake_) {
      IKJmake_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcleanup_);
    if (T0 != &KJcleanup_) {
      IKJcleanup_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJif_);
    if (T0 != &KJif_) {
      IKJif_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJoptions_);
    if (T0 != &KJoptions_) {
      IKJoptions_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJresult_);
    if (T0 != &KJresult_) {
      IKJresult_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJvoid_);
    if (T0 != &KJvoid_) {
      IKJvoid_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJresult_spec_);
    if (T0 != &KJresult_spec_) {
      IKJresult_spec_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdesignator_name_);
    if (T0 != &KJdesignator_name_) {
      primitive_repeated_slot_value_setter(T0, &K392, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K391, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K381, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K380, 1, 2);
      IKJdesignator_name_ = T0;
      primitive_slot_value_setter(T0, &Kdesignator_nameVdfmc_c_ffiHLc_ffi_result_descriptorG, 3);
      primitive_slot_value_setter(T0, &Kdesignator_nameVdfmc_c_ffiHLc_ffi_argument_descriptorG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJvoidQ_);
    if (T0 != &KJvoidQ_) {
      primitive_repeated_slot_value_setter(T0, &K392, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K391, 1, 4);
      primitive_slot_value_setter(T0, &KvoidQVdfmc_c_ffiHLc_ffi_result_descriptorG, 3);
      IKJvoidQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_function_result_);
    if (T0 != &KJc_function_result_) {
      IKJc_function_result_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_function_parameter_);
    if (T0 != &KJc_function_parameter_) {
      IKJc_function_parameter_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLc_voidTG_);
    if (T0 != &KJLc_voidTG_) {
      IKJLc_voidTG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsource_location_);
    if (T0 != &KJsource_location_) {
      IKJsource_location_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdefinition_name_);
    if (T0 != &KJdefinition_name_) {
      IKJdefinition_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_name_expression_);
    if (T0 != &KJc_name_expression_) {
      IKJc_name_expression_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJindirect_);
    if (T0 != &KJindirect_) {
      IKJindirect_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJerror_);
    if (T0 != &KJerror_) {
      IKJerror_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJtmp_);
    if (T0 != &KJtmp_) {
      IKJtmp_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLraw_c_voidG_);
    if (T0 != &KJLraw_c_voidG_) {
      IKJLraw_c_voidG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJidentity_);
    if (T0 != &KJidentity_) {
      IKJidentity_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_modifiers_);
    if (T0 != &KJc_modifiers_) {
      IKJc_modifiers_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmodifiers_expression_);
    if (T0 != &KJmodifiers_expression_) {
      IKJmodifiers_expression_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJPcall_c_function_indirect_);
    if (T0 != &KJPcall_c_function_indirect_) {
      IKJPcall_c_function_indirect_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJPcall_c_function_);
    if (T0 != &KJPcall_c_function_) {
      IKJPcall_c_function_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJboxer_for_designator_);
    if (T0 != &KJboxer_for_designator_) {
      IKJboxer_for_designator_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJparameter_name_);
    if (T0 != &KJparameter_name_) {
      IKJparameter_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJsize_of_);
    if (T0 != &KJsize_of_) {
      IKJsize_of_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJpointer_value_);
    if (T0 != &KJpointer_value_) {
      IKJpointer_value_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJin_out_);
    if (T0 != &KJin_out_) {
      IKJin_out_ = T0;
      primitive_slot_value_setter(T0, &K147, 1);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJcall_discipline_);
    if (T0 != &KJcall_discipline_) {
      primitive_repeated_slot_value_setter(T0, &K381, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K380, 1, 4);
      IKJcall_discipline_ = T0;
      primitive_slot_value_setter(T0, &Kcall_disciplineVdfmc_c_ffiHLc_ffi_argument_descriptorG, 3);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJargs_);
    if (T0 != &KJargs_) {
      IKJargs_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJparameter_);
    if (T0 != &KJparameter_) {
      IKJparameter_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJarg_);
    if (T0 != &KJarg_) {
      IKJarg_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJkey_options_);
    if (T0 != &KJkey_options_) {
      IKJkey_options_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJof_);
    if (T0 != &KJof_) {
      IKJof_ = T0;
    }
  }
  {
    D T0;

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

    T0 = KPresolve_symbolVKiI(&KJdylan_function_);
    if (T0 != &KJdylan_function_) {
      IKJdylan_function_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJimport_type_for_);
    if (T0 != &KJimport_type_for_) {
      IKJimport_type_for_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJindirect_expression_);
    if (T0 != &KJindirect_expression_) {
      IKJindirect_expression_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLc_function_pointerG_);
    if (T0 != &KJLc_function_pointerG_) {
      IKJLc_function_pointerG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexport_type_for_);
    if (T0 != &KJexport_type_for_) {
      IKJexport_type_for_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJimport_type_for_reference_);
    if (T0 != &KJimport_type_for_reference_) {
      IKJimport_type_for_reference_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexport_type_for_reference_);
    if (T0 != &KJexport_type_for_reference_) {
      IKJexport_type_for_reference_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJgeneric_function_method_);
    if (T0 != &KJgeneric_function_method_) {
      IKJgeneric_function_method_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJgf_method_expression_);
    if (T0 != &KJgf_method_expression_) {
      IKJgf_method_expression_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_callable_result_);
    if (T0 != &KJc_callable_result_) {
      IKJc_callable_result_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJinteger_as_raw_);
    if (T0 != &KJinteger_as_raw_) {
      IKJinteger_as_raw_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLraw_c_unsigned_longG_);
    if (T0 != &KJLraw_c_unsigned_longG_) {
      IKJLraw_c_unsigned_longG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexport_);
    if (T0 != &KJexport_) {
      IKJexport_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJon_failure_);
    if (T0 != &KJon_failure_) {
      IKJon_failure_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJfailed_);
    if (T0 != &KJfailed_) {
      IKJfailed_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJexport_expression_);
    if (T0 != &KJexport_expression_) {
      IKJexport_expression_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJother_name_);
    if (T0 != &KJother_name_) {
      IKJother_name_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmake_c_pointer_);
    if (T0 != &KJmake_c_pointer_) {
      IKJmake_c_pointer_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLc_function_pointer_instantiationG_);
    if (T0 != &KJLc_function_pointer_instantiationG_) {
      IKJLc_function_pointer_instantiationG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJprimitive_cast_pointer_as_raw_);
    if (T0 != &KJprimitive_cast_pointer_as_raw_) {
      IKJprimitive_cast_pointer_as_raw_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJPc_callable_function_);
    if (T0 != &KJPc_callable_function_) {
      IKJPc_callable_function_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJraw_);
    if (T0 != &KJraw_) {
      IKJraw_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJLc_raw_intTG_);
    if (T0 != &KJLc_raw_intTG_) {
      IKJLc_raw_intTG_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJptr_);
    if (T0 != &KJptr_) {
      IKJptr_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJnullQ_);
    if (T0 != &KJnullQ_) {
      IKJnullQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJprimitive_machine_word_equalQ_);
    if (T0 != &KJprimitive_machine_word_equalQ_) {
      IKJprimitive_machine_word_equalQ_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJprimitive_unwrap_c_pointer_);
    if (T0 != &KJprimitive_unwrap_c_pointer_) {
      IKJprimitive_unwrap_c_pointer_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJelse_);
    if (T0 != &KJelse_) {
      IKJelse_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJN_);
    if (T0 != &KJN_) {
      IKJN_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJc_callable_parameter_);
    if (T0 != &KJc_callable_parameter_) {
      IKJc_callable_parameter_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJDtrace_ffi_calls_);
    if (T0 != &KJDtrace_ffi_calls_) {
      IKJDtrace_ffi_calls_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlog_entry_);
    if (T0 != &KJlog_entry_) {
      IKJlog_entry_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJresults_);
    if (T0 != &KJresults_) {
      IKJresults_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJapply_);
    if (T0 != &KJapply_) {
      IKJapply_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJlog_exit_);
    if (T0 != &KJlog_exit_) {
      IKJlog_exit_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmethod_);
    if (T0 != &KJmethod_) {
      IKJmethod_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJspec_);
    if (T0 != &KJspec_) {
      IKJspec_ = T0;
    }
  }
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:21
  T0 = KPadd_classVKeI(&KLc_ffi_result_descriptorGVdfmc_c_ffi);
  goto I0;
}
I0:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:29
  T0 = KPadd_classVKeI(&KLc_ffi_argument_descriptorGVdfmc_c_ffi);
  goto I7;
}
I7:

  return;
}

/* USER INIT CODE */

void _Init_dfmc_c_ffi__X_c_function_macro_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:22
  T0 = KPadd_a_methodVKnI(&Kname_setterVdfmc_common, &Kname_setterVdfmc_commonMdfmc_c_ffiM0, &Kdfmc_c_ffi_libraryYdylan_userVdfmc_c_ffi, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I4;
}
I4:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:22
  T0 = KPadd_a_methodVKnI(&KnameVdfmc_common, &KnameVdfmc_commonMdfmc_c_ffiM0, &Kdfmc_c_ffi_libraryYdylan_userVdfmc_c_ffi, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I6;
}
I6:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:30
  T0 = KPadd_a_methodVKnI(&Kname_setterVdfmc_common, &Kname_setterVdfmc_commonMdfmc_c_ffiM1, &Kdfmc_c_ffi_libraryYdylan_userVdfmc_c_ffi, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I11;
}
I11:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:30
  T0 = KPadd_a_methodVKnI(&KnameVdfmc_common, &KnameVdfmc_commonMdfmc_c_ffiM1, &Kdfmc_c_ffi_libraryYdylan_userVdfmc_c_ffi, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi);
  goto I13;
}
I13:

{
  D T0;
  D T1;
  _KLsimple_object_vectorGVKd_6 T2 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (D) 81;
  T2.vector_element_[2] = IKJsuffix_;
  T2.vector_element_[3] = &K17;
  T2.vector_element_[4] = IKJexpander_function_;
  T2.vector_element_[5] = &Kc_function_definer_expanderVdfmc_c_ffiMM0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:86
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJc_function_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Kc_function_definer_expanderVdfmc_c_ffiMM0);
  goto I14;
}
I14:

{
  D T0;
  D T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (D) 17};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (D) 73;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kmake_c_callable_expanderVdfmc_c_ffiMM0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:559
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJmake_c_callable_, &KPfalseVKi, &KPfalseVKi, T0, &Kmake_c_callable_expanderVdfmc_c_ffiMM0);
  goto I22;
}
I22:

{
  D T0;
  D T1;
  _KLsimple_object_vectorGVKd_6 T2 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (D) 81;
  T2.vector_element_[2] = IKJsuffix_;
  T2.vector_element_[3] = &K17;
  T2.vector_element_[4] = IKJexpander_function_;
  T2.vector_element_[5] = &Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:638
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJc_callable_wrapper_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0);
  goto I26;
}
I26:

{
  D T0;
  D T1;
  _KLsimple_object_vectorGVKd_8 T2 = {&KLsimple_object_vectorGVKdW, (D) 33};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:683
  T2.vector_element_[0] = &KJdebug_name_;
  T2.vector_element_[1] = IKJLc_parameter_c_name_optionG_;
  T2.vector_element_[2] = IKJsymbol_;
  T2.vector_element_[3] = IKJc_name_;
  T2.vector_element_[4] = IKJconstraint_;
  T2.vector_element_[5] = IKJexpression_;
  T2.vector_element_[6] = IKJexcludes_thunk_;
  T2.vector_element_[7] = &K209;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:683
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:683
  Lc_parameter_c_name_optionGVdfmc_c_ffi = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:683
  T1 = &KPfalseVKi;
  goto I30;
}
I30:

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

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:688
  T2.vector_element_[0] = Lc_parameter_c_name_optionGVdfmc_c_ffi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:688
  T0 = KlistVKdI(&T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:687
  Dc_parameter_optionsVdfmc_c_ffi = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:687
  T1 = &KPfalseVKi;
  goto I39;
}
I39:

{
  D T0;
  D T1;
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_4 T4 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T5 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_6 T6 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  T4.vector_element_[0] = IKJsyntax_;
  T4.vector_element_[1] = &KJinput_;
  T4.vector_element_[2] = &KJvalue_;
  T4.vector_element_[3] = &KPtrueVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLproperty_valueGVdfmc_definitions, &T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  T5.vector_element_[0] = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  T1 = KlistVKdI(&T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  T6.vector_element_[0] = &KJvalues_;
  T6.vector_element_[1] = T1;
  T6.vector_element_[2] = &KJdefault_;
  T6.vector_element_[3] = &KPfalseVKi;
  T6.vector_element_[4] = IKJkeyword_;
  T6.vector_element_[5] = IKJinput_adjectiveQ_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T2 = CONGRUENT_CALL2(&KLpropertyGVdfmc_definitions, &T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  Linput_adjective_propertyGVdfmc_c_ffi = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:690
  T3 = &KPfalseVKi;
  goto I40;
}
I40:

{
  D T0;
  D T1;
  D T2;
  D T3;
  _KLsimple_object_vectorGVKd_4 T4 = {&KLsimple_object_vectorGVKdW, (D) 17};
  _KLsimple_object_vectorGVKd_1 T5 = {&KLsimple_object_vectorGVKdW, (D) 5};
  _KLsimple_object_vectorGVKd_6 T6 = {&KLsimple_object_vectorGVKdW, (D) 25};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  T4.vector_element_[0] = IKJsyntax_;
  T4.vector_element_[1] = &KJoutput_;
  T4.vector_element_[2] = &KJvalue_;
  T4.vector_element_[3] = &KPtrueVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLproperty_valueGVdfmc_definitions, &T4);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  T5.vector_element_[0] = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  T1 = KlistVKdI(&T5);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  T6.vector_element_[0] = &KJvalues_;
  T6.vector_element_[1] = T1;
  T6.vector_element_[2] = &KJdefault_;
  T6.vector_element_[3] = &KPfalseVKi;
  T6.vector_element_[4] = IKJkeyword_;
  T6.vector_element_[5] = IKJoutput_adjectiveQ_;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T2 = CONGRUENT_CALL2(&KLpropertyGVdfmc_definitions, &T6);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  Loutput_adjective_propertyGVdfmc_c_ffi = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:694
  T3 = &KPfalseVKi;
  goto I44;
}
I44:

{
  D T0;
  D T1;
  _KLsimple_object_vectorGVKd_2 T2 = {&KLsimple_object_vectorGVKdW, (D) 9};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:699
  T2.vector_element_[0] = Linput_adjective_propertyGVdfmc_c_ffi;
  T2.vector_element_[1] = Loutput_adjective_propertyGVdfmc_c_ffi;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:699
  T0 = KlistVKdI(&T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:698
  Dc_parameter_propertiesVdfmc_c_ffi = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:698
  T1 = &KPfalseVKi;
  goto I46;
}
I46:

{
  D T0;
  D T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (D) 17};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (D) 73;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kc_function_body_expanderVdfmc_c_ffiMM0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJc_function_body_, &KPfalseVKi, &KPfalseVKi, T0, &Kc_function_body_expanderVdfmc_c_ffiMM0);
  goto I47;
}
I47:

{
  D T0;
  D T1;
  _KLsimple_object_vectorGVKd_4 T2 = {&KLsimple_object_vectorGVKdW, (D) 17};

  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (D) 73;
  T2.vector_element_[2] = IKJexpander_function_;
  T2.vector_element_[3] = &Kwith_stack_block_expanderVdfmc_c_ffiMM0;
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsimple_macro_descriptorGVdfmc_macro_expander, &T2);
  // /Users/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1273
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJwith_stack_block_, &KPfalseVKi, &KPfalseVKi, T0, &Kwith_stack_block_expanderVdfmc_c_ffiMM0);
  goto I51;
}
I51:

  return;
}


/* eof */
