#include "opendylan/run-time.h"

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

/* Typedefs for referenced classes */

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

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(9);
define__KLsimple_object_vectorGVKd(34);
define__KLsimple_object_vectorGVKd(17);
define__KLsimple_object_vectorGVKd(20);
define__KLsimple_object_vectorGVKd(10);
define__KLsimple_object_vectorGVKd(5);
define__KLsimple_object_vectorGVKd(33);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(11);
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 {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
  dylan_value incremental_gf_module_;
  dylan_value incremental_gf_domain_info_;
  dylan_value incremental_gf_method_libraries_;
  dylan_value incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

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

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

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

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

typedef struct {
  dylan_value wrapper;
  dylan_value condition_format_string_;
  dylan_value condition_format_arguments_;
  dylan_value condition_source_location_;
  dylan_value condition_program_note_creator_;
  dylan_value condition_compilation_stage_;
  dylan_value condition_context_id_;
  dylan_value subnotes_;
  dylan_value condition_definition_name_;
  dylan_value condition_indirect_expression_;
} _KLinvalid_c_function_indirect_valueGVdfmc_c_ffi;

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

typedef struct {
  dylan_value wrapper;
} _KLsequenceGVKd;

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value 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(18);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(27);
define__KLbyte_stringGVKd(3);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(10);
define__KLbyte_stringGVKd(22);
define__KLbyte_stringGVKd(14);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(11);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(15);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(8);
define__KLbyte_stringGVKd(0);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLstretchy_vectorGVKd;

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

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

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

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

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

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;

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

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

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

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

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

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

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

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

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

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


/* Typedefs for defined classes */

typedef struct {
  dylan_value wrapper;
  dylan_value name_;
  dylan_value designator_name_;
  dylan_value model_type_;
  dylan_value voidQ_;
  dylan_value error_resultQ_;
} _KLc_ffi_result_descriptorGVdfmc_c_ffi;

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


/* Referenced object declarations */

dylan_value KPadd_classVKeI (dylan_value);
dylan_value KPadd_a_methodVKnI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
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;
dylan_value Kdo_define_core_macroVdfmc_definitionsMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
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;
dylan_value KlistVKdI (dylan_value);
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;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
dylan_value Kmake_name_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value Kmake_parens_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value Kmake_templateVdfmc_macro_expanderI (dylan_value);
extern _KLsealed_generic_functionGVKe Kimport_to_templateVdfmc_macro_expander;
dylan_value Kmake_colon_colon_fragmentVdfmc_macro_expanderI ();
extern _KLsealed_generic_functionGVKe Kget_propertyYplistsVcollections;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLsealed_generic_functionGVKe Kfragment_source_locationVdfmc_reader;
extern _KLincremental_generic_functionGVKe KnoteVdfmc_conditions;
extern _KLclassGVKd KLinvalid_c_function_indirect_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_function_indirect_valueGVdfmc_c_ffiW;
dylan_value KgensymVdfmc_c_ffiMM0I (dylan_value);
dylan_value Kmake_comma_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM3I (dylan_value);
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM4I (dylan_value);
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
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 _KLsealed_generic_functionGVKe Ksubstitute_sequence_separatedVdfmc_macro_expander;
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLclassGVKd KLtemplateGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLtemplateGVdfmc_readerW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLpairGVKd;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLsealed_generic_functionGVKe Kas_fragment_tokensVdfmc_macro_expander;
dylan_value Kmatch_literalVdfmc_macro_expanderI (dylan_value, dylan_value);
dylan_value Kexport_fragment_tokensVdfmc_macro_expanderMM0I (dylan_value);
dylan_value KLstretchy_object_vectorGZ32ZconstructorVKiMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLstretchy_object_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLstretchy_object_vectorGVKeW;
dylan_value Kmatch_list_partVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_nameVdfmc_macro_expanderI (dylan_value, dylan_value);
dylan_value Kmatch_variableVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_name_constraintVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_expression_constraintVdfmc_macro_expanderI (dylan_value);
extern _KLsealed_generic_functionGVKe Kexport_fragment_tokensVdfmc_macro_expander;
extern _KLclassGVKd KLmultiple_return_clausesGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLmultiple_return_clausesGVdfmc_c_ffiW;
extern _KLsymbolGVKd KJname_;
extern _KLsimple_methodGVKe Kparse_property_adjectivesVdfmc_definitionsMM0;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
dylan_value KapplyVKdI (dylan_value, dylan_value);
dylan_value Kparse_optionsVdfmc_definitionsMM0I (dylan_value, dylan_value, dylan_value);
dylan_value KaddXVKdMM3I (dylan_value, dylan_value);
dylan_value Kget_propertyYplistsVcollectionsMM1I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLfragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLfragmentGVdfmc_readerW;
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
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 KsizeVKd;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLincremental_generic_functionGVKe KelementVKd;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLincremental_generic_functionGVKe KaddXVKd;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLstretchy_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLstretchy_vectorGVKdW;
dylan_value Kmatch_symbol_constraintVdfmc_macro_expanderI (dylan_value);
extern _KLincremental_generic_functionGVKe KemptyQVKd;
extern _KLclassGVKd KLunrecognized_clauseGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLunrecognized_clauseGVdfmc_c_ffiW;
extern _KLincremental_generic_functionGVKe KconcatenateXYcommon_extensionsVcommon_dylan;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LlistG_typesVKi;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
dylan_value KCtop_level_eval_typeVdfmc_conversionMM0I (dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLBdesignator_classGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLBdesignator_classGVdfmc_c_ffiW;
extern _KLsimple_methodGVKe Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_3VKi;
dylan_value KCreferenced_typeVdfmc_c_ffiMM0I (dylan_value);
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_import_typeVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCmapped_export_typeVdfmc_c_ffiMM0;
extern _KLsealed_generic_functionGVKe KCraw_type_nameVdfmc_c_ffi;
dylan_value KCunboxer_function_nameVdfmc_c_ffiMM0I (dylan_value);
extern _KLsymbolGVKd KJsize_;
dylan_value Kmake_binary_operator_fragmentVdfmc_macro_expanderI (dylan_value);
extern _KLsealed_generic_functionGVKe Kmaybe_substitute_separatorVdfmc_macro_expander;
dylan_value Kmake_semicolon_fragmentVdfmc_macro_expanderI ();
extern _KLclassGVKd KLoutput_parameter_not_a_pointerGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLoutput_parameter_not_a_pointerGVdfmc_c_ffiW;
dylan_value KCmapped_export_typeVdfmc_c_ffiMM0I (dylan_value);
dylan_value KCexport_functionVdfmc_c_ffiMM0I (dylan_value);
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
extern _KLclassGVKd KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
extern _KLsealed_generic_functionGVKe Kcall_as_fragment_tokensVdfmc_macro_expander;
dylan_value Kmatch_parensVdfmc_macro_expanderI (dylan_value);
dylan_value Kmatch_property_listVdfmc_macro_expanderI (dylan_value, dylan_value, dylan_value);
dylan_value Kmatch_bounded_body_constraintVdfmc_macro_expanderI (dylan_value, dylan_value);
dylan_value Kdylan_variable_nameVdfmc_readerI (dylan_value);
dylan_value Kmacro_main_rule_match_errorVdfmc_macro_expanderI (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kmake_variable_name_likeVdfmc_readerMM0;
dylan_value Kmake_equal_fragmentVdfmc_macro_expanderI ();
extern _KLsymbolGVKd KJend_;
dylan_value Kmatch_list_part_strictVdfmc_macro_expanderI (dylan_value);
dylan_value Kmacro_aux_rule_match_errorVdfmc_macro_expanderI (dylan_value, dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe KBtop_level_evalVdfmc_conversion;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
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 KClow_level_typeVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCimport_functionVdfmc_c_ffiMM0;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLclassGVKd KLinvalid_c_modifiers_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_modifiers_valueGVdfmc_c_ffiW;
extern _KLbyte_stringGVKd_0 KPempty_stringVKi;
dylan_value Kmake_equal_greater_fragmentVdfmc_macro_expanderI ();
dylan_value Ksubstitute_sequenceVdfmc_macro_expanderMM0I (dylan_value);
extern _KLclassGVKd KLvariable_name_fragmentGVdfmc_reader;
extern _KLmm_wrapperGVKi_0 KLvariable_name_fragmentGVdfmc_readerW;
extern _KLsealed_generic_functionGVKe Kfragment_valueVdfmc_reader;
dylan_value Kmatch_end_of_modifiersVdfmc_macro_expanderI (dylan_value);
extern _KLsealed_generic_functionGVKe Kfragment_macroVdfmc_reader;
extern _KLsymbolGVKd KJconstant_;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
dylan_value Kmatch_body_partVdfmc_macro_expanderI (dylan_value);
extern _KLsealed_generic_functionGVKe KdoVKd;
extern _KLsimple_methodGVKe KCunboxer_function_nameVdfmc_c_ffiMM0;
extern _KLsimple_methodGVKe KCexport_functionVdfmc_c_ffiMM0;
dylan_value Kmake_literal_fragmentVdfmc_macro_expanderMM1I (dylan_value);
extern _KLclassGVKd KLinvalid_c_callable_wrapper_export_valueGVdfmc_c_ffi;
extern _KLmm_wrapperGVKi_0 KLinvalid_c_callable_wrapper_export_valueGVdfmc_c_ffiW;
dylan_value Kmake_hash_lbracket_fragmentVdfmc_macro_expanderI ();
dylan_value Kmake_rbracket_fragmentVdfmc_macro_expanderI ();
extern _KLsimple_methodGVKe KCreferenced_typeVdfmc_c_ffiMM0;
dylan_value Kmake_unary_operator_fragmentVdfmc_macro_expanderI (dylan_value);
extern _KLsimple_object_vectorGVKd_2 KDsignature_LsequenceG_typesVKi;
dylan_value Kmake_unhygienic_name_fragmentVdfmc_macro_expanderI (dylan_value);
dylan_value 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 _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
dylan_value Kclass_instanceQ_initialVKiI (dylan_value, dylan_value);
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;
dylan_value Kc_function_definer_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJc_function_definer_;
extern _KLsimple_methodGVKe Kmake_c_callable_expanderVdfmc_c_ffiMM0;
dylan_value Kmake_c_callable_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJmake_c_callable_;
extern _KLsimple_methodGVKe Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0;
dylan_value Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
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 K266;
static dylan_value K266I ();
static _KLsymbolGVKd KJsyntax_;
static _KLsymbolGVKd KJkeyword_;
static _KLsymbolGVKd KJinput_adjectiveQ_;
static _KLsymbolGVKd KJoutput_adjectiveQ_;
extern _KLsimple_methodGVKe Kc_function_body_expanderVdfmc_c_ffiMM0;
dylan_value Kc_function_body_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJc_function_body_;
extern _KLsimple_methodGVKe Kwith_stack_block_expanderVdfmc_c_ffiMM0;
dylan_value Kwith_stack_block_expanderVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJwith_stack_block_;
dylan_value Kc_ffi_default_inline_policyVdfmc_c_ffiI ();
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;
dylan_value Kc_function_parse_input_output_parametersVdfmc_c_ffiMM0I (dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kparse_c_function_specVdfmc_c_ffiMM0;
dylan_value Kparse_c_function_specVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
dylan_value Kparse_early_optionsVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJresult_;
static _KLsymbolGVKd KJvoid_;
static _KLsymbolGVKd KJerror_result_;
static _KLsymbolGVKd KJimport_type_for_;
static dylan_value Kanonymous_of_parse_early_optionsF108I (dylan_value, dylan_value);
static _KLsymbolGVKd KJindirect_;
dylan_value Kparse_boolean_fragmentVdfmc_c_ffiI (dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJerror_;
static _KLsymbolGVKd KJsource_location_;
static _KLsymbolGVKd KJdefinition_name_;
static _KLsymbolGVKd KJindirect_expression_;
static _KLbyte_stringGVKd_20 K74;
static _KLsymbolGVKd KJparameter_;
static _KLsymbolGVKd KJLc_function_pointerG_;
static _KLsymbolGVKd KJcall_discipline_;
static dylan_value Kanonymous_of_parse_early_optionsF100I (dylan_value, dylan_value);
static dylan_value Kanonymous_of_parse_early_optionsF99I (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kcall_disciplineVdfmc_c_ffi;
static dylan_value Kanonymous_of_parse_early_optionsF94I (dylan_value, dylan_value);
static _KLsymbolGVKd KJexport_type_for_;
static _KLsymbolGVKd KJimport_type_for_reference_;
static _KLsymbolGVKd KJin_out_;
static _KLsymbolGVKd KJexport_type_for_reference_;
static _KLsymbolGVKd KJgeneric_function_method_;
static _KLsymbolGVKd KJgf_method_expression_;
static _KLbyte_stringGVKd_20 K88;
static _KLbyte_stringGVKd_23 K89;
static _KLbyte_stringGVKd_25 K90;
static _KLbyte_stringGVKd_6 K91;
static _KLbyte_stringGVKd_25 K92;
static _KLbyte_stringGVKd_15 K93;
extern _KLgetter_methodGVKi Kcall_disciplineVdfmc_c_ffiMM0;
static _KLpairGVKd K96;
static _KLbyte_stringGVKd_15 K97;
extern _KLinstance_slot_descriptorGVKe Kcall_disciplineVdfmc_c_ffiHLc_ffi_argument_descriptorG;
static _KLbyte_stringGVKd_20 K101;
static _KLbyte_stringGVKd_9 K102;
static _KLbyte_stringGVKd_19 K103;
static _KLbyte_stringGVKd_15 K104;
static _KLbyte_stringGVKd_15 K105;
static _KLbyte_stringGVKd_5 K106;
static _KLbyte_stringGVKd_8 K107;
static _KLbyte_stringGVKd_15 K109;
static _KLbyte_stringGVKd_12 K110;
static _KLbyte_stringGVKd_4 K111;
static _KLbyte_stringGVKd_6 K112;
static dylan_value KUwildcard_loopUF135I (dylan_value, dylan_value);
static dylan_value Kfunction_options_rewriterF133I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kparse_optionsXVdfmc_c_ffiMM0;
dylan_value Kparse_optionsXVdfmc_c_ffiMM0I (dylan_value, dylan_value);
static _KLsymbolGVKd KJdesignator_name_;
static _KLsymbolGVKd KJerror_resultQ_;
static _KLkeyword_closure_methodGVKe_0 Kprocess_parameter_adjectivesF125;
static dylan_value Kprocess_parameter_adjectivesF125I (dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJvoidQ_;
static _KLunionGVKe K122;
static _KLsingletonGVKd K123;
static _KLbyte_stringGVKd_5 K124;
static _KLkeyword_signatureGVKe K126;
static _KLsimple_object_vectorGVKd_4 K127;
static _KLsimple_object_vectorGVKd_2 K128;
static _KLbyte_stringGVKd_13 K129;
static _KLbyte_stringGVKd_15 K130;
static _KLsignatureGVKe K131;
static _KLsimple_object_vectorGVKd_2 K132;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF135;
static _KLsignatureGVKe K136;
static _KLkeyword_signatureAvaluesGVKi K137;
static _KLsimple_object_vectorGVKd_2 K138;
static _KLsymbolGVKd KJname_symbol_;
static _KLbyte_stringGVKd_11 K140;
static _KLsimple_object_vectorGVKd_2 K141;
static _KLsimple_object_vectorGVKd_1 K142;
static _KLsimple_object_vectorGVKd_4 K143;
static _KLsymbolGVKd KJc_function_parameter_;
static _KLsymbolGVKd KJLc_voidTG_;
extern _KLsealed_generic_functionGVKe Kdesignator_name_setterVdfmc_c_ffi;
extern _KLsealed_generic_functionGVKe Kc_function_parse_parameter_specVdfmc_c_ffi;
extern _KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM0;
dylan_value Kc_function_parse_parameter_specVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM1;
dylan_value Kc_function_parse_parameter_specVdfmc_c_ffiMM1I (dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kc_function_parse_parameter_specVdfmc_c_ffiMM2;
dylan_value Kc_function_parse_parameter_specVdfmc_c_ffiMM2I (dylan_value, dylan_value, dylan_value);
static _KLpairGVKd K154;
static _KLpairGVKd K155;
static _KLpairGVKd K156;
static _KLbyte_stringGVKd_31 K157;
static _KLsymbolGVKd KJparameter_name_;
static _KLbyte_stringGVKd_9 K159;
static _KLsymbolGVKd KJsize_of_;
static _KLsymbolGVKd KJpointer_value_;
static _KLsymbolGVKd KJZ58ZE_;
static _KLbyte_stringGVKd_2 K163;
static _KLbyte_stringGVKd_13 K164;
static _KLbyte_stringGVKd_7 K165;
static _KLbyte_stringGVKd_14 K166;
static _KLsignatureGVKe K167;
static _KLsimple_object_vectorGVKd_3 K168;
static _KLsingletonGVKd K169;
static _KLsignatureGVKe K170;
static _KLsimple_object_vectorGVKd_3 K171;
static _KLsingletonGVKd K172;
static _KLsignatureGVKe K173;
static _KLsimple_object_vectorGVKd_3 K174;
static _KLsingletonGVKd K175;
extern _KLsetter_methodGVKi Kdesignator_name_setterVdfmc_c_ffiMM0;
extern _KLsetter_methodGVKi Kdesignator_name_setterVdfmc_c_ffiMM1;
static _KLpairGVKd K178;
static _KLpairGVKd K179;
static _KLbyte_stringGVKd_22 K180;
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 K183;
static _KLbyte_stringGVKd_20 K184;
extern _KLgetter_methodGVKi Kmodel_typeVdfmc_c_ffiMM0;
extern _KLgetter_methodGVKi Kmodel_typeVdfmc_c_ffiMM1;
static _KLpairGVKd K187;
static _KLpairGVKd K188;
static _KLbyte_stringGVKd_10 K189;
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 K194;
static _KLpairGVKd K195;
static _KLbyte_stringGVKd_17 K196;
extern _KLgetter_methodGVKi Kdesignator_nameVdfmc_c_ffiMM0;
extern _KLgetter_methodGVKi Kdesignator_nameVdfmc_c_ffiMM1;
static _KLpairGVKd K199;
static _KLpairGVKd K200;
static _KLbyte_stringGVKd_16 K201;
static _KLsymbolGVKd KJdestroy_;
static _KLsymbolGVKd KJrecord_;
static _KLsymbolGVKd KJsource_position_;
static _KLsymbolGVKd KJbegin_;
static _KLsymbolGVKd KJlet_;
static _KLsymbolGVKd KJtemp_;
static _KLsymbolGVKd KJblock_;
static _KLsymbolGVKd KJmake_;
static _KLsymbolGVKd KJcleanup_;
static _KLsymbolGVKd KJif_;
static _KLbyte_stringGVKd_2 K212;
static _KLbyte_stringGVKd_7 K213;
static _KLbyte_stringGVKd_4 K214;
static _KLbyte_stringGVKd_5 K215;
static _KLbyte_stringGVKd_4 K216;
static _KLbyte_stringGVKd_3 K217;
static _KLbyte_stringGVKd_5 K218;
static _KLbyte_stringGVKd_15 K219;
static _KLbyte_stringGVKd_6 K220;
static _KLbyte_stringGVKd_7 K221;
static _KLbyte_stringGVKd_15 K222;
static _KLsymbolGVKd KJoptions_;
static dylan_value Kkey_options_rewriterF258I (dylan_value);
static _KLsymbolGVKd KJresult_spec_;
static dylan_value Kargs_rewriterF252I (dylan_value);
extern _KLsimple_methodGVKe Kexpand_c_function_bodyVdfmc_c_ffiMM0;
dylan_value Kexpand_c_function_bodyVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsymbolGVKd KJc_function_result_;
static _KLsymbolGVKd KJc_name_expression_;
static _KLbyte_stringGVKd_12 K231;
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 K240;
static _KLbyte_stringGVKd_16 K241;
static _KLbyte_stringGVKd_25 K242;
static _KLbyte_stringGVKd_20 K243;
static _KLbyte_stringGVKd_11 K244;
static _KLbyte_stringGVKd_8 K245;
static _KLbyte_stringGVKd_12 K246;
static _KLbyte_stringGVKd_3 K247;
static _KLbyte_stringGVKd_17 K248;
static _KLbyte_stringGVKd_17 K249;
static _KLsignatureGVKe K250;
static _KLsimple_object_vectorGVKd_5 K251;
static _KLsymbolGVKd KJargs_;
static _KLsymbolGVKd KJarg_;
static _KLbyte_stringGVKd_3 K255;
static _KLbyte_stringGVKd_4 K256;
static _KLbyte_stringGVKd_11 K257;
static _KLsymbolGVKd KJkey_options_;
static _KLbyte_stringGVKd_11 K260;
static _KLbyte_stringGVKd_7 K261;
static _KLbyte_stringGVKd_17 K262;
static _KLbyte_stringGVKd_16 K263;
static _KLbyte_stringGVKd_7 K264;
static _KLbyte_stringGVKd_6 K265;
static _KLsignatureGVKe K267;
static _KLbyte_stringGVKd_14 K268;
static _KLbyte_stringGVKd_10 K269;
static _KLbyte_stringGVKd_10 K270;
static _KLbyte_stringGVKd_6 K271;
static _KLbyte_stringGVKd_6 K272;
static _KLbyte_stringGVKd_27 K273;
static _KLbyte_stringGVKd_26 K274;
static _KLsymbolGVKd KJof_;
static dylan_value Kspec_rewriterF288I (dylan_value);
static _KLbyte_stringGVKd_9 K277;
dylan_value Kgenerate_c_callable_bodyVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLbyte_stringGVKd_18 K279;
static _KLsymbolGVKd KJdefine_;
static _KLbyte_stringGVKd_6 K281;
extern _KLsimple_methodGVKe Kparse_early_optionsVdfmc_c_ffiMM0;
static _KLsymbolGVKd KJdylan_function_;
static _KLbyte_stringGVKd_14 K284;
static _KLsignatureAvaluesGVKi K285;
static _KLsimple_object_vectorGVKd_4 K286;
static _KLsimple_object_vectorGVKd_6 K287;
static _KLbyte_stringGVKd_2 K289;
static _KLbyte_stringGVKd_15 K290;
static dylan_value KUwildcard_loopUF356I (dylan_value, dylan_value);
static dylan_value Kkey_options_rewriterF354I (dylan_value);
static dylan_value Kargs_rewriterF353I (dylan_value);
dylan_value Kexpand_make_c_callableVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_expand_make_c_callableF352;
static dylan_value Kanonymous_of_expand_make_c_callableF352I (dylan_value);
extern _KLsealed_generic_functionGVKe KvoidQVdfmc_c_ffi;
static _KLsymbolGVKd KJc_callable_result_;
extern _KLsimple_methodGVKe Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0;
dylan_value Kcallable_parse_input_output_parametersVdfmc_c_ffiMM0I (dylan_value);
static _KLsymbolGVKd KJinteger_as_raw_;
static _KLsymbolGVKd KJLraw_c_unsigned_longG_;
dylan_value Kcallable_output_parameter_handlingVdfmc_c_ffiMM0I (dylan_value, dylan_value);
dylan_value Kcallable_box_input_parametersVdfmc_c_ffiMM0I (dylan_value);
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 K315;
static _KLbyte_stringGVKd_20 K316;
static _KLbyte_stringGVKd_29 K317;
static _KLbyte_stringGVKd_34 K318;
static _KLbyte_stringGVKd_14 K319;
static _KLbyte_stringGVKd_10 K320;
static _KLbyte_stringGVKd_17 K321;
static _KLbyte_stringGVKd_6 K322;
static _KLbyte_stringGVKd_10 K323;
static _KLbyte_stringGVKd_6 K324;
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 K331;
static _KLbyte_stringGVKd_26 K332;
static _KLbyte_stringGVKd_29 K333;
static _KLbyte_stringGVKd_5 K334;
static _KLbyte_stringGVKd_3 K335;
static _KLbyte_stringGVKd_12 K336;
static _KLbyte_stringGVKd_15 K337;
static _KLbyte_stringGVKd_13 K338;
static _KLsymbolGVKd KJN_;
dylan_value Ktemplate_sequence_to_templateVdfmc_c_ffiMM0I (dylan_value);
static _KLbyte_stringGVKd_1 K341;
static _KLbyte_stringGVKd_21 K342;
static _KLbyte_stringGVKd_14 K343;
static _KLsymbolGVKd KJc_callable_parameter_;
static _KLbyte_stringGVKd_20 K345;
static _KLsignatureAvaluesGVKi K346;
static _KLsimple_object_vectorGVKd_3 K347;
static _KLbyte_stringGVKd_17 K348;
extern _KLgetter_methodGVKi KvoidQVdfmc_c_ffiMM0;
static _KLpairGVKd K350;
extern _KLinstance_slot_descriptorGVKe KvoidQVdfmc_c_ffiHLc_ffi_result_descriptorG;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF356;
static _KLbyte_stringGVKd_18 K357;
static dylan_value KUwildcard_loopUF376I (dylan_value, dylan_value);
static dylan_value Kspec_rewriterF372I (dylan_value);
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 K366;
static _KLbyte_stringGVKd_8 K367;
static _KLbyte_stringGVKd_5 K368;
static _KLbyte_stringGVKd_7 K369;
static _KLbyte_stringGVKd_9 K370;
static _KLbyte_stringGVKd_16 K371;
static _KLsymbolGVKd KJspec_;
static _KLbyte_stringGVKd_4 K374;
static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF376;
static _KLbyte_stringGVKd_17 K377;
static _KLbyte_stringGVKd_6 K378;
static _KLbyte_stringGVKd_10 K379;
extern _KLinstance_slot_descriptorGVKe KnameVdfmc_commonHLc_ffi_argument_descriptorGVdfmc_c_ffi;
static _KLimplementation_classGVKe K381;
static _KLsimple_object_vectorGVKd_4 K382;
extern _KLkeyword_methodGVKe KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0;
dylan_value KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_1 K385;
static _KLsimple_object_vectorGVKd_6 K386;
static _KLkeyword_signatureAvaluesGVKi K387;
static _KLsimple_object_vectorGVKd_6 K388;
static _KLsimple_object_vectorGVKd_3 K389;
static _KLsimple_object_vectorGVKd_1 K390;
static _KLbyte_stringGVKd_27 K391;
extern _KLinstance_slot_descriptorGVKe KnameVdfmc_commonHLc_ffi_result_descriptorGVdfmc_c_ffi;
static _KLimplementation_classGVKe K393;
static _KLsimple_object_vectorGVKd_5 K394;
extern _KLkeyword_methodGVKe KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0;
dylan_value KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_object_vectorGVKd_6 K397;
static _KLkeyword_signatureAvaluesGVKi K398;
static _KLsimple_object_vectorGVKd_8 K399;
static _KLsimple_object_vectorGVKd_4 K400;
static _KLsimple_object_vectorGVKd_1 K401;
extern _KLinstance_slot_descriptorGVKe Kerror_resultQVdfmc_c_ffiHLc_ffi_result_descriptorG;
extern _KLsealed_generic_functionGVKe Kerror_resultQVdfmc_c_ffi;
extern _KLgetter_methodGVKi Kerror_resultQVdfmc_c_ffiMM0;
static _KLpairGVKd K405;
static _KLbyte_stringGVKd_25 K406;

/* Indirection variables */

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

/* Variables */

dylan_value parse_c_function_specVdfmc_c_ffi = &Kparse_c_function_specVdfmc_c_ffiMM0;
dylan_value designator_nameVdfmc_c_ffi = &Kdesignator_nameVdfmc_c_ffi;
dylan_value model_typeVdfmc_c_ffi = &Kmodel_typeVdfmc_c_ffi;
dylan_value model_type_setterVdfmc_c_ffi = &Kmodel_type_setterVdfmc_c_ffi;
dylan_value Lc_ffi_result_descriptorGVdfmc_c_ffi = &KLc_ffi_result_descriptorGVdfmc_c_ffi;
dylan_value Lc_ffi_argument_descriptorGVdfmc_c_ffi = &KLc_ffi_argument_descriptorGVdfmc_c_ffi;
dylan_value Lc_parameter_c_name_optionGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_parameter_optionsVdfmc_c_ffi = &KPunboundVKi;
dylan_value Linput_adjective_propertyGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Loutput_adjective_propertyGVdfmc_c_ffi = &KPunboundVKi;
dylan_value Dc_parameter_propertiesVdfmc_c_ffi = &KPunboundVKi;

/* Objects */

_KLclassGVKd KLc_ffi_result_descriptorGVdfmc_c_ffi = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K406,
  &K393,
  (dylan_value) 1,
  &Kdfmc_c_ffi_moduleYdylan_userVdfmc_c_ffi
};

_KLmm_wrapperGVKi_0 KLc_ffi_result_descriptorGVdfmc_c_ffiW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K393,
  (dylan_value) 1,
  21,
  33554439,
  (dylan_value) 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,
  &K391,
  &K381,
  (dylan_value) 1,
  &Kdfmc_c_ffi_moduleYdylan_userVdfmc_c_ffi
};

_KLmm_wrapperGVKi_0 KLc_ffi_argument_descriptorGVdfmc_c_ffiW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K381,
  (dylan_value) 1,
  17,
  33554439,
  (dylan_value) 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 */,
  &K379
};

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

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

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

_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 */,
  &K357
};

_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 */,
  &K290
};

_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 */,
  &K274
};

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

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

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

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

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

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

static _KLsimple_closure_methodGVKi_0 K266 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K267,
  &K266I,
  (dylan_value) 1
};

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

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

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

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

_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 */,
  &K222
};

_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 */,
  &K201
};

_KLsealed_generic_functionGVKe Kdesignator_nameVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K130,
  &K199,
  &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,
  (dylan_value) 1,
  &K196,
  &K194,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Kmodel_typeVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  (dylan_value) 1,
  &K189,
  &K187,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLkeyword_methodGVKe Kparse_c_function_specVdfmc_c_ffiMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K137,
  &key_mep_4,
  &Kparse_c_function_specVdfmc_c_ffiMM0I,
  &K138
};

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

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

static _KLsymbolGVKd KJerror_result_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K110
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

static _KLbyte_stringGVKd_12 K110 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 49,
  "error-result"
};

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

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

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

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

static _KLsymbolGVKd KJerror_resultQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K129
};

static _KLkeyword_closure_methodGVKe_0 Kprocess_parameter_adjectivesF125 = {
  &KLkeyword_closure_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K126,
  &key_mep_3,
  &Kprocess_parameter_adjectivesF125I,
  &K127,
  (dylan_value) 1
};

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

static _KLunionGVKe K122 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K123,
  &KLfragmentGVdfmc_reader
};

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

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

static _KLkeyword_signatureGVKe K126 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 42206209,
  &KPempty_vectorVKi,
  &K128,
  &KDsignature_LobjectG_typesVKi
};

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

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

static _KLbyte_stringGVKd_13 K129 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 53,
  "error-result?"
};

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

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

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

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF135 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K136,
  &KUwildcard_loopUF135I,
  (dylan_value) 1
};

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

static _KLkeyword_signatureAvaluesGVKi K137 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33820681,
  &K141,
  &K142,
  &KDsignature_LobjectG_typesVKi,
  &K143
};

static _KLsimple_object_vectorGVKd_2 K138 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJname_symbol_,
  &KJc_name_
};

static _KLsymbolGVKd KJname_symbol_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K140
};

static _KLbyte_stringGVKd_11 K140 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 45,
  "name-symbol"
};

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

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

static _KLsimple_object_vectorGVKd_4 K143 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KLsequenceGVKd,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &K122,
  &KLsequenceGVKd
};

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

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

_KLsealed_generic_functionGVKe Kdesignator_name_setterVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  (dylan_value) 1,
  &K180,
  &K178,
  &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,
  (dylan_value) 25,
  &K157,
  &K154,
  &RSINGULAR_Labsent_engine_nodeG
};

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

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

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

static _KLpairGVKd K154 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_function_parse_parameter_specVdfmc_c_ffiMM0,
  &K155
};

static _KLpairGVKd K155 = {
  &KLpairGVKdW /* wrapper */,
  &Kc_function_parse_parameter_specVdfmc_c_ffiMM1,
  &K156
};

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

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

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

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

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

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

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

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

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

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

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

static _KLsignatureGVKe K167 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41950221,
  &K168
};

static _KLsimple_object_vectorGVKd_3 K168 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &K169,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLBdesignator_classGVdfmc_c_ffi
};

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

static _KLsignatureGVKe K170 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41950221,
  &K171
};

static _KLsimple_object_vectorGVKd_3 K171 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &K172,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLBdesignator_classGVdfmc_c_ffi
};

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

static _KLsignatureGVKe K173 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41950221,
  &K174
};

static _KLsimple_object_vectorGVKd_3 K174 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &K175,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLBdesignator_classGVdfmc_c_ffi
};

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

_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 K178 = {
  &KLpairGVKdW /* wrapper */,
  &Kdesignator_name_setterVdfmc_c_ffiMM0,
  &K179
};

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

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

_KLinstance_slot_descriptorGVKe Kdesignator_nameVdfmc_c_ffiHLc_ffi_argument_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 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 */,
  (dylan_value) 129,
  &KPfalseVKi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KJdesignator_name_,
  &Kdesignator_nameVdfmc_c_ffi,
  &Kdesignator_name_setterVdfmc_c_ffi,
  &KLobjectGVKd
};

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

static _KLbyte_stringGVKd_20 K184 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 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 K187 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_typeVdfmc_c_ffiMM0,
  &K188
};

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

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

_KLinstance_slot_descriptorGVKe Kmodel_typeVdfmc_c_ffiHLc_ffi_argument_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 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 */,
  (dylan_value) 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 K194 = {
  &KLpairGVKdW /* wrapper */,
  &Kmodel_type_setterVdfmc_c_ffiMM0,
  &K195
};

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

static _KLbyte_stringGVKd_17 K196 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 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 K199 = {
  &KLpairGVKdW /* wrapper */,
  &Kdesignator_nameVdfmc_c_ffiMM0,
  &K200
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

static _KLsignatureGVKe K250 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944085,
  &K251
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

static _KLsignatureAvaluesGVKi K285 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33560593,
  &K286,
  &K287
};

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

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

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

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

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_expand_make_c_callableF352 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_expand_make_c_callableF352I,
  (dylan_value) 1
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

static _KLsignatureAvaluesGVKi K346 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33557509,
  &KDsignature_LsequenceG_typesVKi,
  &K347
};

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

static _KLbyte_stringGVKd_17 K348 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 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 K350 = {
  &KLpairGVKdW /* wrapper */,
  &KvoidQVdfmc_c_ffiMM0,
  &KPempty_listVKi
};

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

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF356 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K136,
  &KUwildcard_loopUF356I,
  (dylan_value) 1
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

static _KLsimple_closure_methodGVKi_0 KUwildcard_loopUF376 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_2,
  &K136,
  &KUwildcard_loopUF376I,
  (dylan_value) 1
};

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

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

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

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

static _KLimplementation_classGVKe K381 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433745,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffi,
  &KLc_ffi_argument_descriptorGVdfmc_c_ffiW,
  &KPfalseVKi,
  &K382,
  (dylan_value) -3,
  &KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0,
  &K385,
  &K386,
  (dylan_value) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K382,
  &K382,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_4 K382 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 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,
  &K387,
  &key_mep_2,
  &KLc_ffi_argument_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I,
  &K388
};

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

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

static _KLkeyword_signatureAvaluesGVKi K387 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K389,
  &KDsignature_LobjectG_typesVKi,
  &K390
};

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

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

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

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

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

static _KLimplementation_classGVKe K393 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (dylan_value) 527433749,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffiW,
  &KPfalseVKi,
  &K394,
  (dylan_value) -3,
  &KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0,
  &K385,
  &K397,
  (dylan_value) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K394,
  &K394,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_5 K394 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 21,
  &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,
  &Kerror_resultQVdfmc_c_ffiHLc_ffi_result_descriptorG
};

_KLkeyword_methodGVKe KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K398,
  &key_mep_2,
  &KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I,
  &K399
};

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

static _KLkeyword_signatureAvaluesGVKi K398 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K400,
  &KDsignature_LobjectG_typesVKi,
  &K401
};

static _KLsimple_object_vectorGVKd_8 K399 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 33,
  &KJname_,
  &KPunboundVKi,
  &KJdesignator_name_,
  &KPunboundVKi,
  &KJvoidQ_,
  &KPfalseVKi,
  &KJerror_resultQ_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_4 K400 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJname_,
  &KJdesignator_name_,
  &KJvoidQ_,
  &KJerror_resultQ_
};

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

_KLinstance_slot_descriptorGVKe Kerror_resultQVdfmc_c_ffiHLc_ffi_result_descriptorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (dylan_value) 157,
  &KPfalseVKi,
  &KLc_ffi_result_descriptorGVdfmc_c_ffi,
  &KJerror_resultQ_,
  &Kerror_resultQVdfmc_c_ffi,
  &KPfalseVKi,
  &KLbooleanGVKd
};

_KLsealed_generic_functionGVKe Kerror_resultQVdfmc_c_ffi = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K129,
  &K405,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLgetter_methodGVKi Kerror_resultQVdfmc_c_ffiMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Kerror_resultQVdfmc_c_ffiHLc_ffi_result_descriptorG
};

static _KLpairGVKd K405 = {
  &KLpairGVKdW /* wrapper */,
  &Kerror_resultQVdfmc_c_ffiMM0,
  &KPempty_listVKi
};

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

/* Code */

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

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

dylan_value Kmake_c_callable_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T8_4;
  dylan_value T8_5;
  dylan_value T8_6;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value dylan_nameF11;
  dylan_value c_nameF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T13_2;
  dylan_value T13_3;
  dylan_value T13_4;
  dylan_value T13_5;
  dylan_value T13_6;
  dylan_value T14_0;
  dylan_value T14_1;
  dylan_value T14_2;
  dylan_value failureF15;
  dylan_value UfT_afterUF16;
  dylan_value UfT_beforeUF17;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T18_3;
  dylan_value T18_4;
  dylan_value T18_5;
  dylan_value T18_6;
  dylan_value T19_0;
  dylan_value T19_1;
  dylan_value T19_2;
  dylan_value failureF20;
  dylan_value Uafter_fTUF21;
  dylan_value Unested_fTUF22;
  dylan_value T23_0;
  dylan_value T23_1;
  dylan_value T24_0;
  dylan_value T24_1;
  dylan_value failureF25;
  dylan_value UfTUF26;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T28_0;
  dylan_value T28_1;
  dylan_value failureF29;
  dylan_value key_optionsF30;
  dylan_value T31_0;
  dylan_value T31_1;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T33_0;
  dylan_value T33_1;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value T35_0;
  dylan_value T35_1;
  dylan_value failureF36;
  dylan_value key_optionsF37;
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value T38_2;
  dylan_value T38_3;
  dylan_value T38_4;
  dylan_value T38_5;
  dylan_value T38_6;
  dylan_value T39_0;
  dylan_value T39_1;
  dylan_value T39_2;
  dylan_value failureF40;
  dylan_value UfT_afterUF41;
  dylan_value UfT_beforeUF42;
  dylan_value T43_0;
  dylan_value T43_1;
  dylan_value T43_2;
  dylan_value T43_3;
  dylan_value T43_4;
  dylan_value T43_5;
  dylan_value T43_6;
  dylan_value T44_0;
  dylan_value T44_1;
  dylan_value T44_2;
  dylan_value failureF45;
  dylan_value Uafter_fTUF46;
  dylan_value Unested_fTUF47;
  dylan_value T48_0;
  dylan_value T48_1;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value failureF50;
  dylan_value UfTUF51;
  dylan_value T52_0;
  dylan_value T52_1;
  dylan_value T53_0;
  dylan_value T53_1;
  dylan_value T53_2;
  dylan_value failureF54;
  dylan_value UfTUF55;
  dylan_value dylan_functionF56;
  dylan_value T57_0;
  dylan_value T57_1;
  dylan_value T58;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value T60_0;
  dylan_value T60_1;
  dylan_value T61_0;
  dylan_value T61_1;
  dylan_value T62_0;
  dylan_value T62_1;
  dylan_value failureF63;
  dylan_value dylan_functionF64;
  dylan_value T65_0;
  dylan_value T65_1;
  dylan_value T66_0;
  dylan_value T66_1;
  dylan_value T67_0;
  dylan_value T67_1;
  dylan_value T68_0;
  dylan_value T68_1;
  dylan_value T69_0;
  dylan_value T69_1;
  dylan_value failureF70;
  dylan_value dylan_functionF71;
  dylan_value T72_0;
  dylan_value T72_1;
  dylan_value T72_2;
  dylan_value T72_3;
  dylan_value T72_4;
  dylan_value T72_5;
  dylan_value T72_6;
  dylan_value T73_0;
  dylan_value T73_1;
  dylan_value T73_2;
  dylan_value failureF74;
  dylan_value UfT_afterUF75;
  dylan_value UfT_beforeUF76;
  dylan_value T77_0;
  dylan_value T77_1;
  dylan_value T77_2;
  dylan_value T77_3;
  dylan_value T77_4;
  dylan_value T77_5;
  dylan_value T77_6;
  dylan_value T78_0;
  dylan_value T78_1;
  dylan_value T78_2;
  dylan_value T78_3;
  dylan_value T78_4;
  dylan_value T78_5;
  dylan_value T78_6;
  dylan_value T79_0;
  dylan_value T79_1;
  dylan_value T79_2;
  dylan_value T79_3;
  dylan_value T79_4;
  dylan_value T79_5;
  dylan_value T79_6;
  dylan_value T80_0;
  dylan_value T80_1;
  dylan_value T80_2;
  dylan_value T80_3;
  dylan_value T80_4;
  dylan_value T80_5;
  dylan_value T80_6;
  dylan_value T81_0;
  dylan_value T81_1;
  dylan_value T81_2;
  dylan_value T81_3;
  dylan_value T81_4;
  dylan_value T81_5;
  dylan_value T81_6;
  dylan_value T82_0;
  dylan_value T82_1;
  dylan_value T82_2;
  dylan_value T82_3;
  dylan_value T82_4;
  dylan_value T82_5;
  dylan_value T82_6;
  dylan_value T83_0;
  dylan_value T83_1;
  dylan_value T83_2;
  dylan_value T83_3;
  dylan_value T83_4;
  dylan_value T83_5;
  dylan_value T83_6;
  dylan_value T84_0;
  dylan_value T84_1;
  dylan_value T84_2;
  dylan_value T84_3;
  dylan_value T84_4;
  dylan_value T84_5;
  dylan_value T84_6;
  dylan_value failureF85;
  dylan_value dylan_nameF86;
  dylan_value c_nameF87;
  dylan_value key_optionsF88;
  dylan_value dylan_functionF89;
  dylan_value result_spec_;
  dylan_value argsF91;
  dylan_value dylan_nameF92;
  dylan_value T93;
  dylan_value T94;
  dylan_value key_optionsF95;
  dylan_value dylan_functionF96;
  dylan_value T97;
  dylan_value T98;
  dylan_value argsF99;
  dylan_value T100;
  dylan_value T101;
  dylan_value T102;
  dylan_value T103;
  dylan_value T104_0;
  dylan_value T104_1;
  dylan_value T105;
  dylan_value T106_0;
  dylan_value T106_1;
  dylan_value T107_0;
  dylan_value T107_1;
  dylan_value T108;
  dylan_value T109_0;
  dylan_value T109_1;
  dylan_value T110_0;
  dylan_value T110_1;
  dylan_value T110_2;
  dylan_value T110_3;
  dylan_value T110_4;
  dylan_value T110_5;
  dylan_value T110_6;
  dylan_value T111_0;
  dylan_value T111_1;
  dylan_value failureF112;
  dylan_value UfTUF113;
  dylan_value T114;
  dylan_value failureF115;
  dylan_value T116_0;
  dylan_value T116_1;
  dylan_value T116_2;
  dylan_value failureF117;
  dylan_value UfTUF118;
  dylan_value xF119;
  dylan_value T120_0;
  dylan_value T120_1;
  dylan_value T121;
  dylan_value T122_0;
  dylan_value T122_1;
  dylan_value T123_0;
  dylan_value T123_1;
  dylan_value T124_0;
  dylan_value T124_1;
  dylan_value failureF125;
  dylan_value xF126;
  dylan_value xF127;
  dylan_value T128;
  dylan_value T129;
  dylan_value T130;
  dylan_value T131_0;
  dylan_value T131_1;
  dylan_value T132;
  dylan_value T133;
  dylan_value T134;
  dylan_value T135_0;
  dylan_value T135_1;
  dylan_value T135_2;
  dylan_value failureF136;
  dylan_value Uafter_fTUF137;
  dylan_value Unested_fTUF138;
  dylan_value T139_0;
  dylan_value T139_1;
  dylan_value failureF140;
  dylan_value UfTUF141;
  dylan_value T142_0;
  dylan_value T142_1;
  dylan_value failureF143;
  dylan_value UfTUF144;
  dylan_value T145;
  dylan_value T146;
  dylan_value failureF147;
  dylan_value T148;
  dylan_value T149;
  dylan_value failureF150;
  dylan_value T151;
  dylan_value T152;
  dylan_value T153_0;
  dylan_value T153_1;
  dylan_value T153_2;
  dylan_value failureF154;
  dylan_value Uafter_fTUF155;
  dylan_value Unested_fTUF156;
  dylan_value T157_0;
  dylan_value T157_1;
  dylan_value T157_2;
  dylan_value T157_3;
  dylan_value T158_0;
  dylan_value T158_1;
  dylan_value T158_2;
  dylan_value failureF159;
  dylan_value UfT_afterUF160;
  dylan_value UfT_beforeUF161;
  dylan_value T162_0;
  dylan_value T162_1;
  dylan_value T162_2;
  dylan_value T162_3;
  dylan_value T163_0;
  dylan_value T163_1;
  dylan_value failureF164;
  dylan_value UfTUF165;
  dylan_value T166_0;
  dylan_value T166_1;
  dylan_value T166_2;
  dylan_value T167_0;
  dylan_value T167_1;
  dylan_value T167_2;
  dylan_value T167_3;
  dylan_value failureF168;
  dylan_value Uafter_fTUF169;
  dylan_value Uname_fTUF170;
  dylan_value Utype_fTUF171;
  dylan_value T172_0;
  dylan_value T172_1;
  dylan_value T172_2;
  dylan_value T173_0;
  dylan_value T173_1;
  dylan_value T173_2;
  dylan_value failureF174;
  dylan_value result_nameF175;
  dylan_value T176_0;
  dylan_value T176_1;
  dylan_value T176_2;
  dylan_value T177_0;
  dylan_value T177_1;
  dylan_value T177_2;
  dylan_value failureF178;
  dylan_value typeF179;
  dylan_value T180_0;
  dylan_value T180_1;
  dylan_value T180_2;
  dylan_value T181_0;
  dylan_value T181_1;
  dylan_value T181_2;
  dylan_value T182_0;
  dylan_value T182_1;
  dylan_value T182_2;
  dylan_value T183_0;
  dylan_value T183_1;
  dylan_value T183_2;
  dylan_value T184_0;
  dylan_value T184_1;
  dylan_value T184_2;
  dylan_value T185_0;
  dylan_value T185_1;
  dylan_value T185_2;
  dylan_value T186_0;
  dylan_value T186_1;
  dylan_value T186_2;
  dylan_value failureF187;
  dylan_value result_nameF188;
  dylan_value typeF189;
  dylan_value T190_0;
  dylan_value T190_1;
  dylan_value T190_2;
  dylan_value T190_3;
  dylan_value T191_0;
  dylan_value T191_1;
  dylan_value T191_2;
  dylan_value T191_3;
  dylan_value T192_0;
  dylan_value T192_1;
  dylan_value T192_2;
  dylan_value T192_3;
  dylan_value failureF193;
  dylan_value result_nameF194;
  dylan_value typeF195;
  dylan_value key_optionsF196;
  dylan_value T197_0;
  dylan_value T197_1;
  dylan_value T197_2;
  dylan_value T197_3;
  dylan_value T198_0;
  dylan_value T198_1;
  dylan_value T198_2;
  dylan_value T198_3;
  dylan_value T199_0;
  dylan_value T199_1;
  dylan_value T199_2;
  dylan_value T199_3;
  dylan_value T200_0;
  dylan_value T200_1;
  dylan_value T200_2;
  dylan_value T200_3;
  dylan_value T201_0;
  dylan_value T201_1;
  dylan_value T201_2;
  dylan_value T201_3;
  dylan_value failureF202;
  dylan_value result_nameF203;
  dylan_value typeF204;
  dylan_value key_optionsF205;
  dylan_value result_nameF206;
  dylan_value typeF207;
  dylan_value T208;
  dylan_value key_optionsF209;
  dylan_value T210;
  dylan_value T211_0;
  dylan_value T211_1;
  dylan_value T211_2;
  dylan_value failureF212;
  dylan_value Uafter_fTUF213;
  dylan_value Unested_fTUF214;
  dylan_value T215_0;
  dylan_value T215_1;
  dylan_value T215_2;
  dylan_value T216_0;
  dylan_value T216_1;
  dylan_value failureF217;
  dylan_value UfTUF218;
  dylan_value T219_0;
  dylan_value T219_1;
  dylan_value T219_2;
  dylan_value T220_0;
  dylan_value T220_1;
  dylan_value T220_2;
  dylan_value T220_3;
  dylan_value failureF221;
  dylan_value Uafter_fTUF222;
  dylan_value Uname_fTUF223;
  dylan_value Utype_fTUF224;
  dylan_value T225_0;
  dylan_value T225_1;
  dylan_value T225_2;
  dylan_value T226_0;
  dylan_value T226_1;
  dylan_value T226_2;
  dylan_value failureF227;
  dylan_value result_nameF228;
  dylan_value T229_0;
  dylan_value T229_1;
  dylan_value T229_2;
  dylan_value T230_0;
  dylan_value T230_1;
  dylan_value T230_2;
  dylan_value failureF231;
  dylan_value typeF232;
  dylan_value T233_0;
  dylan_value T233_1;
  dylan_value T233_2;
  dylan_value T234_0;
  dylan_value T234_1;
  dylan_value T234_2;
  dylan_value T235_0;
  dylan_value T235_1;
  dylan_value T235_2;
  dylan_value T236_0;
  dylan_value T236_1;
  dylan_value T236_2;
  dylan_value T237_0;
  dylan_value T237_1;
  dylan_value T237_2;
  dylan_value T238_0;
  dylan_value T238_1;
  dylan_value T238_2;
  dylan_value T239_0;
  dylan_value T239_1;
  dylan_value T239_2;
  dylan_value failureF240;
  dylan_value result_nameF241;
  dylan_value typeF242;
  dylan_value T243_0;
  dylan_value T243_1;
  dylan_value T243_2;
  dylan_value T244_0;
  dylan_value T244_1;
  dylan_value T244_2;
  dylan_value T245_0;
  dylan_value T245_1;
  dylan_value T245_2;
  dylan_value T246_0;
  dylan_value T246_1;
  dylan_value T246_2;
  dylan_value T247_0;
  dylan_value T247_1;
  dylan_value T247_2;
  dylan_value failureF248;
  dylan_value result_nameF249;
  dylan_value typeF250;
  dylan_value result_nameF251;
  dylan_value typeF252;
  dylan_value T253;
  dylan_value T254;
  dylan_value T255;
  dylan_value T256;
  dylan_value T257;
  _KLsimple_object_vectorGVKd_4 T258 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T259;
  dylan_value T260_0;
  dylan_value T260_1;
  dylan_value T260_2;
  dylan_value T261_0;
  dylan_value T261_1;
  dylan_value T261_2;
  dylan_value T261_3;
  dylan_value T262;
  dylan_value T263_0;
  dylan_value T263_1;
  dylan_value T263_2;
  dylan_value T263_3;
  _KLsimple_object_vectorGVKd_6 T264 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T265;
  dylan_value T266_0;
  dylan_value T266_1;
  dylan_value T266_2;
  dylan_value T267;
  dylan_value T268_0;
  dylan_value T268_1;
  dylan_value T268_2;
  _KLsimple_object_vectorGVKd_6 T269 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T270;
  dylan_value T271;
  dylan_value T272;
  dylan_value T273;
  dylan_value T274;
  dylan_value T275;
  dylan_value T276;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    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 {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T9_0 = KUwildcard_loopUF356I(&KPempty_listVKi, UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    dylan_nameF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    c_nameF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T14_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF6);
      T14_1 = MV_GET_ELT(1);
      T14_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF15 = T14_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      UfT_afterUF16 = T14_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      UfT_beforeUF17 = T14_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF15 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T19_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_beforeUF17);
        T19_1 = MV_GET_ELT(1);
        T19_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF20 = T19_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        Uafter_fTUF21 = T19_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        Unested_fTUF22 = T19_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF20 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T23_0 = failureF20;
          T23_1 = &KPfalseVKi;
          T35_0 = T23_0;
          T35_1 = T23_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T24_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF22, IKJoptions_);
          T24_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF25 = T24_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          UfTUF26 = T24_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF25 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T27_0 = failureF25;
            T27_1 = &KPfalseVKi;
            T28_0 = T27_0;
            T28_1 = T27_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T104_0 = &KPfalseVKi;
            T104_1 = UfTUF26;
            T28_0 = T104_0;
            T28_1 = T104_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF29 = T28_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          key_optionsF30 = T28_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF29 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T31_0 = failureF29;
            T31_1 = &KPfalseVKi;
            T34_0 = T31_0;
            T34_1 = T31_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T105 = primitive_idQ(Uafter_fTUF21,&KPempty_listVKi);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (T105 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T106_0 = &KPfalseVKi;
              T106_1 = key_optionsF30;
              T33_0 = T106_0;
              T33_1 = T106_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T32_0 = &KPtrueVKi;
              T32_1 = &KPfalseVKi;
              T33_0 = T32_0;
              T33_1 = T32_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T34_0 = T33_0;
            T34_1 = T33_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T35_0 = T34_0;
          T35_1 = T34_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF36 = T35_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        key_optionsF37 = T35_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF36 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T39_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF16);
          T39_1 = MV_GET_ELT(1);
          T39_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF40 = T39_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          UfT_afterUF41 = T39_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          UfT_beforeUF42 = T39_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF40 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T44_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_beforeUF42);
            T44_1 = MV_GET_ELT(1);
            T44_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            failureF45 = T44_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Uafter_fTUF46 = T44_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Unested_fTUF47 = T44_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (failureF45 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T48_0 = failureF45;
              T48_1 = &KPfalseVKi;
              T69_0 = T48_0;
              T69_1 = T48_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T49_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF47, IKJdylan_function_);
              T49_1 = MV_GET_ELT(1);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF50 = T49_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              UfTUF51 = T49_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF50 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T52_0 = failureF50;
                T52_1 = &KPfalseVKi;
                T62_0 = T52_0;
                T62_1 = T52_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T53_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF51);
                T53_1 = MV_GET_ELT(1);
                T53_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                failureF54 = T53_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                UfTUF55 = T53_1;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                dylan_functionF56 = T53_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                if (failureF54 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T57_0 = failureF54;
                  T57_1 = &KPfalseVKi;
                  T61_0 = T57_0;
                  T61_1 = T57_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T58 = CONGRUENT_CALL1(UfTUF55);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  if (T58 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T107_0 = &KPfalseVKi;
                    T107_1 = dylan_functionF56;
                    T60_0 = T107_0;
                    T60_1 = T107_1;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T59_0 = &KPtrueVKi;
                    T59_1 = &KPfalseVKi;
                    T60_0 = T59_0;
                    T60_1 = T59_1;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T61_0 = T60_0;
                  T61_1 = T60_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T62_0 = T61_0;
                T62_1 = T61_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF63 = T62_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              dylan_functionF64 = T62_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF63 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T65_0 = failureF63;
                T65_1 = &KPfalseVKi;
                T68_0 = T65_0;
                T68_1 = T65_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T108 = primitive_idQ(Uafter_fTUF46,&KPempty_listVKi);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                if (T108 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T109_0 = &KPfalseVKi;
                  T109_1 = dylan_functionF64;
                  T67_0 = T109_0;
                  T67_1 = T109_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T66_0 = &KPtrueVKi;
                  T66_1 = &KPfalseVKi;
                  T67_0 = T66_0;
                  T67_1 = T66_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T68_0 = T67_0;
                T68_1 = T67_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T69_0 = T68_0;
              T69_1 = T68_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            failureF70 = T69_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            dylan_functionF71 = T69_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (failureF70 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              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 {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T73_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF41);
              T73_1 = MV_GET_ELT(1);
              T73_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF74 = T73_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              UfT_afterUF75 = T73_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              UfT_beforeUF76 = T73_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF74 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                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 {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                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;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              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;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          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;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        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;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      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;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    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;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  failureF85 = T84_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  dylan_nameF86 = T84_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  c_nameF87 = T84_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  key_optionsF88 = T84_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  dylan_functionF89 = T84_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  result_spec_ = T84_5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  argsF91 = T84_6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  if (failureF85 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T101 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T102 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T101);
    T103 = T102;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_nameF92 = CONGRUENT_CALL1(dylan_nameF86);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T93 = CONGRUENT_CALL1(c_nameF87);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T111_0 = Kmatch_literalVdfmc_macro_expanderI(T93, &KPfalseVKi);
    T111_1 = MV_GET_ELT(1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    failureF112 = T111_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    UfTUF113 = T111_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF112 != &KPfalseVKi) {
      failureF115 = failureF112;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T130 = primitive_idQ(UfTUF113,&KPempty_listVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (T130 != &KPfalseVKi) {
        T114 = &KPfalseVKi;
      } else {
        T114 = &KPtrueVKi;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF115 = T114;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF115 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T116_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(T93);
      T116_1 = MV_GET_ELT(1);
      T116_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF117 = T116_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      UfTUF118 = T116_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      xF119 = T116_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF117 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T120_0 = failureF117;
        T120_1 = &KPfalseVKi;
        T124_0 = T120_0;
        T124_1 = T120_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T121 = CONGRUENT_CALL1(UfTUF118);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (T121 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T131_0 = &KPfalseVKi;
          T131_1 = xF119;
          T123_0 = T131_0;
          T123_1 = T131_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T122_0 = &KPtrueVKi;
          T122_1 = &KPfalseVKi;
          T123_0 = T122_0;
          T123_1 = T122_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T124_0 = T123_0;
        T124_1 = T123_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF125 = T124_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      xF126 = T124_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF125 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T128 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T129 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T93, T128, IKJc_name_);
        T132 = T129;
        T133 = T132;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        xF127 = CONGRUENT_CALL1(xF126);
        T133 = xF127;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T134 = T133;
    } else {
      T134 = &KPfalseVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T94 = CONGRUENT_CALL1(key_optionsF88);
    key_optionsF95 = Kkey_options_rewriterF354I(T94);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_functionF96 = CONGRUENT_CALL1(dylan_functionF89);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T97 = CONGRUENT_CALL1(result_spec_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T135_0 = Kmatch_parensVdfmc_macro_expanderI(T97);
    T135_1 = MV_GET_ELT(1);
    T135_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    failureF136 = T135_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    Uafter_fTUF137 = T135_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    Unested_fTUF138 = T135_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF136 != &KPfalseVKi) {
      failureF150 = failureF136;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T139_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF138, IKJresult_);
      T139_1 = MV_GET_ELT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF140 = T139_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      UfTUF141 = T139_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF140 != &KPfalseVKi) {
        failureF147 = failureF140;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T142_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF141, IKJvoid_);
        T142_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF143 = T142_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        UfTUF144 = T142_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF143 != &KPfalseVKi) {
          T146 = failureF143;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T256 = primitive_idQ(UfTUF144,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (T256 != &KPfalseVKi) {
            T145 = &KPfalseVKi;
          } else {
            T145 = &KPtrueVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T146 = T145;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF147 = T146;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF147 != &KPfalseVKi) {
        T149 = failureF147;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T257 = primitive_idQ(Uafter_fTUF137,&KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (T257 != &KPfalseVKi) {
          T148 = &KPfalseVKi;
        } else {
          T148 = &KPtrueVKi;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T149 = T148;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF150 = T149;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF150 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T153_0 = Kmatch_parensVdfmc_macro_expanderI(T97);
      T153_1 = MV_GET_ELT(1);
      T153_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF154 = T153_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      Uafter_fTUF155 = T153_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      Unested_fTUF156 = T153_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF154 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T158_0 = Kmatch_list_partVdfmc_macro_expanderI(Unested_fTUF156);
        T158_1 = MV_GET_ELT(1);
        T158_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF159 = T158_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        UfT_afterUF160 = T158_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        UfT_beforeUF161 = T158_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF159 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T163_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF161, IKJresult_);
          T163_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF164 = T163_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          UfTUF165 = T163_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF164 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T166_0 = failureF164;
            T166_1 = &KPfalseVKi;
            T166_2 = &KPfalseVKi;
            T186_0 = T166_0;
            T186_1 = T166_1;
            T186_2 = T166_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            failureF168 = T167_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Uafter_fTUF169 = T167_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Uname_fTUF170 = T167_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Utype_fTUF171 = T167_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (failureF168 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T172_0 = failureF168;
              T172_1 = &KPfalseVKi;
              T172_2 = &KPfalseVKi;
              T185_0 = T172_0;
              T185_1 = T172_1;
              T185_2 = T172_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T173_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTUF170);
              T173_1 = MV_GET_ELT(1);
              T173_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF174 = T173_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              result_nameF175 = T173_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF174 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T176_0 = failureF174;
                T176_1 = &KPfalseVKi;
                T176_2 = &KPfalseVKi;
                T184_0 = T176_0;
                T184_1 = T176_1;
                T184_2 = T176_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T177_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTUF171);
                T177_1 = MV_GET_ELT(1);
                T177_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                failureF178 = T177_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                typeF179 = T177_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                if (failureF178 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T180_0 = failureF178;
                  T180_1 = &KPfalseVKi;
                  T180_2 = &KPfalseVKi;
                  T183_0 = T180_0;
                  T183_1 = T180_1;
                  T183_2 = T180_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T259 = primitive_idQ(Uafter_fTUF169,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  if (T259 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T260_0 = &KPfalseVKi;
                    T260_1 = result_nameF175;
                    T260_2 = typeF179;
                    T182_0 = T260_0;
                    T182_1 = T260_1;
                    T182_2 = T260_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T181_0 = &KPtrueVKi;
                    T181_1 = &KPfalseVKi;
                    T181_2 = &KPfalseVKi;
                    T182_0 = T181_0;
                    T182_1 = T181_1;
                    T182_2 = T181_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T183_0 = T182_0;
                  T183_1 = T182_1;
                  T183_2 = T182_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T184_0 = T183_0;
                T184_1 = T183_1;
                T184_2 = T183_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T185_0 = T184_0;
              T185_1 = T184_1;
              T185_2 = T184_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T186_0 = T185_0;
            T186_1 = T185_1;
            T186_2 = T185_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF187 = T186_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          result_nameF188 = T186_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          typeF189 = T186_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF187 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T261_0 = &KPfalseVKi;
            T261_1 = result_nameF188;
            T261_2 = typeF189;
            T261_3 = UfT_afterUF160;
            T191_0 = T261_0;
            T191_1 = T261_1;
            T191_2 = T261_2;
            T191_3 = T261_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T192_0 = T191_0;
          T192_1 = T191_1;
          T192_2 = T191_2;
          T192_3 = T191_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF193 = T192_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        result_nameF194 = T192_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        typeF195 = T192_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        key_optionsF196 = T192_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF193 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T262 = primitive_idQ(Uafter_fTUF155,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (T262 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T263_0 = &KPfalseVKi;
            T263_1 = result_nameF194;
            T263_2 = typeF195;
            T263_3 = key_optionsF196;
            T199_0 = T263_0;
            T199_1 = T263_1;
            T199_2 = T263_2;
            T199_3 = T263_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T200_0 = T199_0;
          T200_1 = T199_1;
          T200_2 = T199_2;
          T200_3 = T199_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T201_0 = T200_0;
        T201_1 = T200_1;
        T201_2 = T200_2;
        T201_3 = T200_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF202 = T201_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      result_nameF203 = T201_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      typeF204 = T201_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      key_optionsF205 = T201_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF202 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T211_0 = Kmatch_parensVdfmc_macro_expanderI(T97);
        T211_1 = MV_GET_ELT(1);
        T211_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF212 = T211_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        Uafter_fTUF213 = T211_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        Unested_fTUF214 = T211_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF212 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T215_0 = failureF212;
          T215_1 = &KPfalseVKi;
          T215_2 = &KPfalseVKi;
          T247_0 = T215_0;
          T247_1 = T215_1;
          T247_2 = T215_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T216_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF214, IKJerror_result_);
          T216_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF217 = T216_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          UfTUF218 = T216_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF217 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T219_0 = failureF217;
            T219_1 = &KPfalseVKi;
            T219_2 = &KPfalseVKi;
            T239_0 = T219_0;
            T239_1 = T219_1;
            T239_2 = T219_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T220_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF218);
            T220_1 = MV_GET_ELT(1);
            T220_2 = MV_GET_ELT(2);
            T220_3 = MV_GET_ELT(3);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            failureF221 = T220_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Uafter_fTUF222 = T220_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Uname_fTUF223 = T220_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Utype_fTUF224 = T220_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (failureF221 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T225_0 = failureF221;
              T225_1 = &KPfalseVKi;
              T225_2 = &KPfalseVKi;
              T238_0 = T225_0;
              T238_1 = T225_1;
              T238_2 = T225_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T226_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTUF223);
              T226_1 = MV_GET_ELT(1);
              T226_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF227 = T226_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              result_nameF228 = T226_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF227 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T229_0 = failureF227;
                T229_1 = &KPfalseVKi;
                T229_2 = &KPfalseVKi;
                T237_0 = T229_0;
                T237_1 = T229_1;
                T237_2 = T229_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T230_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTUF224);
                T230_1 = MV_GET_ELT(1);
                T230_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                failureF231 = T230_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                typeF232 = T230_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                if (failureF231 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T233_0 = failureF231;
                  T233_1 = &KPfalseVKi;
                  T233_2 = &KPfalseVKi;
                  T236_0 = T233_0;
                  T236_1 = T233_1;
                  T236_2 = T233_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T265 = primitive_idQ(Uafter_fTUF222,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  if (T265 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T266_0 = &KPfalseVKi;
                    T266_1 = result_nameF228;
                    T266_2 = typeF232;
                    T235_0 = T266_0;
                    T235_1 = T266_1;
                    T235_2 = T266_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T234_0 = &KPtrueVKi;
                    T234_1 = &KPfalseVKi;
                    T234_2 = &KPfalseVKi;
                    T235_0 = T234_0;
                    T235_1 = T234_1;
                    T235_2 = T234_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T236_0 = T235_0;
                  T236_1 = T235_1;
                  T236_2 = T235_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T237_0 = T236_0;
                T237_1 = T236_1;
                T237_2 = T236_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T238_0 = T237_0;
              T238_1 = T237_1;
              T238_2 = T237_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T239_0 = T238_0;
            T239_1 = T238_1;
            T239_2 = T238_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF240 = T239_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          result_nameF241 = T239_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          typeF242 = T239_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF240 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T243_0 = failureF240;
            T243_1 = &KPfalseVKi;
            T243_2 = &KPfalseVKi;
            T246_0 = T243_0;
            T246_1 = T243_1;
            T246_2 = T243_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T267 = primitive_idQ(Uafter_fTUF213,&KPempty_listVKi);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (T267 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T268_0 = &KPfalseVKi;
              T268_1 = result_nameF241;
              T268_2 = typeF242;
              T245_0 = T268_0;
              T245_1 = T268_1;
              T245_2 = T268_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T244_0 = &KPtrueVKi;
              T244_1 = &KPfalseVKi;
              T244_2 = &KPfalseVKi;
              T245_0 = T244_0;
              T245_1 = T244_1;
              T245_2 = T244_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T246_0 = T245_0;
            T246_1 = T245_1;
            T246_2 = T245_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T247_0 = T246_0;
          T247_1 = T246_1;
          T247_2 = T246_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF248 = T247_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        result_nameF249 = T247_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        typeF250 = T247_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF248 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T254 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T255 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T97, T254, IKJresult_spec_);
          T270 = T255;
          T272 = T270;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          result_nameF251 = CONGRUENT_CALL1(result_nameF249);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          typeF252 = CONGRUENT_CALL1(typeF250);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:601
          T269.vector_element_[0] = &KJname_;
          T269.vector_element_[1] = result_nameF251;
          T269.vector_element_[2] = IKJdesignator_name_;
          T269.vector_element_[3] = typeF252;
          T269.vector_element_[4] = IKJerror_resultQ_;
          T269.vector_element_[5] = &KPtrueVKi;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:601
          CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
          T253 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T269);
          T271 = T253;
          T272 = T271;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T274 = T272;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        result_nameF206 = CONGRUENT_CALL1(result_nameF203);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF207 = CONGRUENT_CALL1(typeF204);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T208 = CONGRUENT_CALL1(key_optionsF205);
        key_optionsF209 = Kkey_options_rewriterF354I(T208);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:595
        T264.vector_element_[0] = &KLc_ffi_result_descriptorGVdfmc_c_ffi;
        T264.vector_element_[1] = &KJname_;
        T264.vector_element_[2] = result_nameF206;
        T264.vector_element_[3] = IKJdesignator_name_;
        T264.vector_element_[4] = typeF207;
        T264.vector_element_[5] = key_optionsF209;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:595
        T210 = KapplyVKdI(&KmakeVKd, &T264);
        T273 = T210;
        T274 = T273;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T276 = T274;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:592
      T151 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:591
      T258.vector_element_[0] = &KJname_;
      T258.vector_element_[1] = T151;
      T258.vector_element_[2] = IKJvoidQ_;
      T258.vector_element_[3] = &KPtrueVKi;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:591
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T152 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T258);
      T275 = T152;
      T276 = T275;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T98 = CONGRUENT_CALL1(argsF91);
    argsF99 = Kargs_rewriterF353I(T98);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:572
    T100 = Kexpand_make_c_callableVdfmc_c_ffiMM0I(form_, dylan_nameF92, T134, argsF99, T276, dylan_functionF96, key_optionsF95);
    T103 = T100;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  return(T103);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  T4_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  UfTUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    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 {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T8_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF6);
    T8_1 = MV_GET_ELT(1);
    T8_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    failureF9 = T8_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    UfTUF10 = T8_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    dylan_nameF11 = T8_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    if (failureF9 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      T13_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF10, IKJof_);
      T13_1 = MV_GET_ELT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      failureF14 = T13_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      UfTUF15 = T13_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      if (failureF14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        T17_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF15);
        T17_1 = MV_GET_ELT(1);
        T17_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        failureF18 = T17_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        UfTUF19 = T17_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        dylan_funcF20 = T17_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        if (failureF18 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
          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;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        T23_0 = T22_0;
        T23_1 = T22_1;
        T23_2 = T22_2;
        T23_3 = T22_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      T24_0 = T23_0;
      T24_1 = T23_1;
      T24_2 = T23_2;
      T24_3 = T23_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T25_0 = T24_0;
    T25_1 = T24_1;
    T25_2 = T24_2;
    T25_3 = T24_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  failureF26 = T25_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  dylan_nameF27 = T25_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  dylan_funcF28 = T25_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  specF29 = T25_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  if (failureF26 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T46_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(T3);
    T46_1 = MV_GET_ELT(1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    failureF47 = T46_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    UfTUF48 = T46_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    if (failureF47 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      T49_0 = failureF47;
      T49_1 = &KPfalseVKi;
      T49_2 = &KPfalseVKi;
      T61_0 = T49_0;
      T61_1 = T49_1;
      T61_2 = T49_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      T50_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF48, IKJof_);
      T50_1 = MV_GET_ELT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      failureF51 = T50_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      UfTUF52 = T50_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      if (failureF51 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        T53_0 = failureF51;
        T53_1 = &KPfalseVKi;
        T53_2 = &KPfalseVKi;
        T60_0 = T53_0;
        T60_1 = T53_1;
        T60_2 = T53_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        T54_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF52);
        T54_1 = MV_GET_ELT(1);
        T54_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        failureF55 = T54_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        UfTUF56 = T54_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        dylan_funcF57 = T54_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        if (failureF55 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
          T58_0 = failureF55;
          T58_1 = &KPfalseVKi;
          T58_2 = &KPfalseVKi;
          T59_0 = T58_0;
          T59_1 = T58_1;
          T59_2 = T58_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
          T91_0 = &KPfalseVKi;
          T91_1 = dylan_funcF57;
          T91_2 = UfTUF56;
          T59_0 = T91_0;
          T59_1 = T91_1;
          T59_2 = T91_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
        T60_0 = T59_0;
        T60_1 = T59_1;
        T60_2 = T59_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      T61_0 = T60_0;
      T61_1 = T60_1;
      T61_2 = T60_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    failureF62 = T61_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    dylan_funcF63 = T61_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    specF64 = T61_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    if (failureF62 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      T85 = Kdylan_variable_nameVdfmc_readerI(IKJc_callable_wrapper_definer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      T86 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T85);
      T87 = T86;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      dylan_funcF65 = CONGRUENT_CALL1(dylan_funcF63);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T66 = CONGRUENT_CALL1(specF64);
      specF67 = Kspec_rewriterF288I(T66);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:664
      CONGRUENT_CALL_PROLOG(&Kfragment_macroVdfmc_reader, 1);
      macro_variable_ = CONGRUENT_CALL1(form_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:666
      T69 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:666
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T70 = CONGRUENT_CALL2(&KLstringGVKd, T69);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:666
      T92.vector_element_[0] = macro_variable_;
      T92.vector_element_[1] = &K277;
      T92.vector_element_[2] = T70;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:666
      dylan_nameF71 = KgensymVdfmc_c_ffiMM0I(&T92);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:668
      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);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:667
      arg_specsF73 = T72_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:667
      result_specF74 = T72_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:667
      c_nameF75 = T72_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:667
      optionsF76 = T72_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:670
      make_c_callable_fragmentF77 = Kgenerate_c_callable_bodyVdfmc_c_ffiMM0I(&K279, c_nameF75, arg_specsF73, result_specF74, dylan_funcF65, optionsF76);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      T79 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      T80 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T81 = CONGRUENT_CALL1(make_c_callable_fragmentF77);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      T82 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T83 = CONGRUENT_CALL2(T82, dylan_nameF71);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      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;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:672
      T84 = Kmake_templateVdfmc_macro_expanderI(&T93);
      T87 = T84;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    T88 = T87;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_nameF30 = CONGRUENT_CALL1(dylan_nameF27);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    dylan_funcF31 = CONGRUENT_CALL1(dylan_funcF28);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T32 = CONGRUENT_CALL1(specF29);
    specF33 = Kspec_rewriterF288I(T32);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:654
    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);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:653
    arg_specsF35 = T34_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:653
    result_specF36 = T34_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:653
    c_nameF37 = T34_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:653
    optionsF38 = T34_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:656
    make_c_callable_fragmentF39 = Kgenerate_c_callable_bodyVdfmc_c_ffiMM0I(dylan_nameF30, c_nameF37, arg_specsF35, result_specF36, dylan_funcF31, optionsF38);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
    T40 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJdefine_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
    T41 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJconstant_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T42 = CONGRUENT_CALL1(dylan_nameF30);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
    T43 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T44 = CONGRUENT_CALL1(make_c_callable_fragmentF39);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
    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;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:658
    T45 = Kmake_templateVdfmc_macro_expanderI(&T90);
    T88 = T45;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  return(T88);
}

static dylan_value K266I () {
  dylan_value T0;

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

dylan_value Kc_function_body_expanderVdfmc_c_ffiMM0I (dylan_value env_, dylan_value form_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T8_4;
  dylan_value T8_5;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value function_nameF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T13_2;
  dylan_value T14_0;
  dylan_value T14_1;
  dylan_value T14_2;
  dylan_value failureF15;
  dylan_value Uafter_fTUF16;
  dylan_value Unested_fTUF17;
  dylan_value T18_0;
  dylan_value T18_1;
  dylan_value T18_2;
  dylan_value T19_0;
  dylan_value T19_1;
  dylan_value failureF20;
  dylan_value UfTUF21;
  dylan_value T22_0;
  dylan_value T22_1;
  dylan_value T23_0;
  dylan_value T23_1;
  dylan_value T23_2;
  dylan_value failureF24;
  dylan_value UfTUF25;
  dylan_value c_nameF26;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T28;
  dylan_value T29_0;
  dylan_value T29_1;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T31_0;
  dylan_value T31_1;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value failureF33;
  dylan_value c_nameF34;
  dylan_value T35_0;
  dylan_value T35_1;
  dylan_value T35_2;
  dylan_value T36_0;
  dylan_value T36_1;
  dylan_value T36_2;
  dylan_value T37_0;
  dylan_value T37_1;
  dylan_value T37_2;
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value T38_2;
  dylan_value T39_0;
  dylan_value T39_1;
  dylan_value T39_2;
  dylan_value T40_0;
  dylan_value T40_1;
  dylan_value T40_2;
  dylan_value failureF41;
  dylan_value function_nameF42;
  dylan_value c_nameF43;
  dylan_value T44_0;
  dylan_value T44_1;
  dylan_value T44_2;
  dylan_value T44_3;
  dylan_value T44_4;
  dylan_value T44_5;
  dylan_value T45_0;
  dylan_value T45_1;
  dylan_value T45_2;
  dylan_value failureF46;
  dylan_value UfT_afterUF47;
  dylan_value UfT_beforeUF48;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T49_2;
  dylan_value T49_3;
  dylan_value T49_4;
  dylan_value T49_5;
  dylan_value T50_0;
  dylan_value T50_1;
  dylan_value T50_2;
  dylan_value failureF51;
  dylan_value Uafter_fTUF52;
  dylan_value Unested_fTUF53;
  dylan_value T54_0;
  dylan_value T54_1;
  dylan_value T55_0;
  dylan_value T55_1;
  dylan_value failureF56;
  dylan_value UfTUF57;
  dylan_value T58_0;
  dylan_value T58_1;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value failureF60;
  dylan_value key_optionsF61;
  dylan_value T62_0;
  dylan_value T62_1;
  dylan_value T63_0;
  dylan_value T63_1;
  dylan_value T64_0;
  dylan_value T64_1;
  dylan_value T65_0;
  dylan_value T65_1;
  dylan_value T66_0;
  dylan_value T66_1;
  dylan_value failureF67;
  dylan_value key_optionsF68;
  dylan_value T69_0;
  dylan_value T69_1;
  dylan_value T69_2;
  dylan_value T69_3;
  dylan_value T69_4;
  dylan_value T69_5;
  dylan_value T70_0;
  dylan_value T70_1;
  dylan_value T70_2;
  dylan_value failureF71;
  dylan_value UfT_afterUF72;
  dylan_value UfT_beforeUF73;
  dylan_value T74_0;
  dylan_value T74_1;
  dylan_value T74_2;
  dylan_value T74_3;
  dylan_value T74_4;
  dylan_value T74_5;
  dylan_value T75_0;
  dylan_value T75_1;
  dylan_value T75_2;
  dylan_value T75_3;
  dylan_value T75_4;
  dylan_value T75_5;
  dylan_value T76_0;
  dylan_value T76_1;
  dylan_value T76_2;
  dylan_value T76_3;
  dylan_value T76_4;
  dylan_value T76_5;
  dylan_value T77_0;
  dylan_value T77_1;
  dylan_value T77_2;
  dylan_value T77_3;
  dylan_value T77_4;
  dylan_value T77_5;
  dylan_value T78_0;
  dylan_value T78_1;
  dylan_value T78_2;
  dylan_value T78_3;
  dylan_value T78_4;
  dylan_value T78_5;
  dylan_value T79_0;
  dylan_value T79_1;
  dylan_value T79_2;
  dylan_value T79_3;
  dylan_value T79_4;
  dylan_value T79_5;
  dylan_value failureF80;
  dylan_value function_nameF81;
  dylan_value c_nameF82;
  dylan_value key_optionsF83;
  dylan_value result_spec_;
  dylan_value argsF85;
  dylan_value function_nameF86;
  dylan_value T87;
  dylan_value key_optionsF88;
  dylan_value T89;
  dylan_value T90;
  dylan_value argsF91;
  dylan_value T92;
  dylan_value T93;
  dylan_value T94;
  dylan_value T95;
  dylan_value T96_0;
  dylan_value T96_1;
  dylan_value T97;
  dylan_value T98_0;
  dylan_value T98_1;
  dylan_value T98_2;
  dylan_value T99_0;
  dylan_value T99_1;
  dylan_value T100;
  dylan_value T101_0;
  dylan_value T101_1;
  dylan_value T102_0;
  dylan_value T102_1;
  dylan_value T102_2;
  dylan_value T102_3;
  dylan_value T102_4;
  dylan_value T102_5;
  dylan_value T103_0;
  dylan_value T103_1;
  dylan_value T103_2;
  dylan_value failureF104;
  dylan_value Uafter_fTUF105;
  dylan_value Unested_fTUF106;
  dylan_value T107_0;
  dylan_value T107_1;
  dylan_value failureF108;
  dylan_value UfTUF109;
  dylan_value T110_0;
  dylan_value T110_1;
  dylan_value failureF111;
  dylan_value UfTUF112;
  dylan_value T113;
  dylan_value T114;
  dylan_value failureF115;
  dylan_value T116;
  dylan_value T117;
  dylan_value failureF118;
  dylan_value T119;
  dylan_value T120;
  dylan_value T121_0;
  dylan_value T121_1;
  dylan_value T121_2;
  dylan_value failureF122;
  dylan_value Uafter_fTUF123;
  dylan_value Unested_fTUF124;
  dylan_value T125_0;
  dylan_value T125_1;
  dylan_value T125_2;
  dylan_value T125_3;
  dylan_value T126_0;
  dylan_value T126_1;
  dylan_value T126_2;
  dylan_value failureF127;
  dylan_value UfT_afterUF128;
  dylan_value UfT_beforeUF129;
  dylan_value T130_0;
  dylan_value T130_1;
  dylan_value T130_2;
  dylan_value T130_3;
  dylan_value T131_0;
  dylan_value T131_1;
  dylan_value failureF132;
  dylan_value UfTUF133;
  dylan_value T134_0;
  dylan_value T134_1;
  dylan_value T134_2;
  dylan_value T135_0;
  dylan_value T135_1;
  dylan_value T135_2;
  dylan_value T135_3;
  dylan_value failureF136;
  dylan_value Uafter_fTUF137;
  dylan_value Uname_fTUF138;
  dylan_value Utype_fTUF139;
  dylan_value T140_0;
  dylan_value T140_1;
  dylan_value T140_2;
  dylan_value T141_0;
  dylan_value T141_1;
  dylan_value T141_2;
  dylan_value failureF142;
  dylan_value result_nameF143;
  dylan_value T144_0;
  dylan_value T144_1;
  dylan_value T144_2;
  dylan_value T145_0;
  dylan_value T145_1;
  dylan_value T145_2;
  dylan_value failureF146;
  dylan_value typeF147;
  dylan_value T148_0;
  dylan_value T148_1;
  dylan_value T148_2;
  dylan_value T149_0;
  dylan_value T149_1;
  dylan_value T149_2;
  dylan_value T150_0;
  dylan_value T150_1;
  dylan_value T150_2;
  dylan_value T151_0;
  dylan_value T151_1;
  dylan_value T151_2;
  dylan_value T152_0;
  dylan_value T152_1;
  dylan_value T152_2;
  dylan_value T153_0;
  dylan_value T153_1;
  dylan_value T153_2;
  dylan_value T154_0;
  dylan_value T154_1;
  dylan_value T154_2;
  dylan_value failureF155;
  dylan_value result_nameF156;
  dylan_value typeF157;
  dylan_value T158_0;
  dylan_value T158_1;
  dylan_value T158_2;
  dylan_value T158_3;
  dylan_value T159_0;
  dylan_value T159_1;
  dylan_value T159_2;
  dylan_value T159_3;
  dylan_value T160_0;
  dylan_value T160_1;
  dylan_value T160_2;
  dylan_value T160_3;
  dylan_value failureF161;
  dylan_value result_nameF162;
  dylan_value typeF163;
  dylan_value key_optionsF164;
  dylan_value T165_0;
  dylan_value T165_1;
  dylan_value T165_2;
  dylan_value T165_3;
  dylan_value T166_0;
  dylan_value T166_1;
  dylan_value T166_2;
  dylan_value T166_3;
  dylan_value T167_0;
  dylan_value T167_1;
  dylan_value T167_2;
  dylan_value T167_3;
  dylan_value T168_0;
  dylan_value T168_1;
  dylan_value T168_2;
  dylan_value T168_3;
  dylan_value T169_0;
  dylan_value T169_1;
  dylan_value T169_2;
  dylan_value T169_3;
  dylan_value failureF170;
  dylan_value result_nameF171;
  dylan_value typeF172;
  dylan_value key_optionsF173;
  dylan_value result_nameF174;
  dylan_value typeF175;
  dylan_value T176;
  dylan_value key_optionsF177;
  dylan_value T178;
  dylan_value T179_0;
  dylan_value T179_1;
  dylan_value T179_2;
  dylan_value failureF180;
  dylan_value Uafter_fTUF181;
  dylan_value Unested_fTUF182;
  dylan_value T183_0;
  dylan_value T183_1;
  dylan_value T183_2;
  dylan_value T184_0;
  dylan_value T184_1;
  dylan_value failureF185;
  dylan_value UfTUF186;
  dylan_value T187_0;
  dylan_value T187_1;
  dylan_value T187_2;
  dylan_value T188_0;
  dylan_value T188_1;
  dylan_value T188_2;
  dylan_value T188_3;
  dylan_value failureF189;
  dylan_value Uafter_fTUF190;
  dylan_value Uname_fTUF191;
  dylan_value Utype_fTUF192;
  dylan_value T193_0;
  dylan_value T193_1;
  dylan_value T193_2;
  dylan_value T194_0;
  dylan_value T194_1;
  dylan_value T194_2;
  dylan_value failureF195;
  dylan_value result_nameF196;
  dylan_value T197_0;
  dylan_value T197_1;
  dylan_value T197_2;
  dylan_value T198_0;
  dylan_value T198_1;
  dylan_value T198_2;
  dylan_value failureF199;
  dylan_value typeF200;
  dylan_value T201_0;
  dylan_value T201_1;
  dylan_value T201_2;
  dylan_value T202_0;
  dylan_value T202_1;
  dylan_value T202_2;
  dylan_value T203_0;
  dylan_value T203_1;
  dylan_value T203_2;
  dylan_value T204_0;
  dylan_value T204_1;
  dylan_value T204_2;
  dylan_value T205_0;
  dylan_value T205_1;
  dylan_value T205_2;
  dylan_value T206_0;
  dylan_value T206_1;
  dylan_value T206_2;
  dylan_value T207_0;
  dylan_value T207_1;
  dylan_value T207_2;
  dylan_value failureF208;
  dylan_value result_nameF209;
  dylan_value typeF210;
  dylan_value T211_0;
  dylan_value T211_1;
  dylan_value T211_2;
  dylan_value T212_0;
  dylan_value T212_1;
  dylan_value T212_2;
  dylan_value T213_0;
  dylan_value T213_1;
  dylan_value T213_2;
  dylan_value T214_0;
  dylan_value T214_1;
  dylan_value T214_2;
  dylan_value T215_0;
  dylan_value T215_1;
  dylan_value T215_2;
  dylan_value failureF216;
  dylan_value result_nameF217;
  dylan_value typeF218;
  dylan_value result_nameF219;
  dylan_value typeF220;
  dylan_value T221;
  dylan_value T222;
  dylan_value T223;
  dylan_value T224;
  dylan_value T225;
  _KLsimple_object_vectorGVKd_4 T226 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T227;
  dylan_value T228_0;
  dylan_value T228_1;
  dylan_value T228_2;
  dylan_value T229_0;
  dylan_value T229_1;
  dylan_value T229_2;
  dylan_value T229_3;
  dylan_value T230;
  dylan_value T231_0;
  dylan_value T231_1;
  dylan_value T231_2;
  dylan_value T231_3;
  _KLsimple_object_vectorGVKd_6 T232 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T233;
  dylan_value T234_0;
  dylan_value T234_1;
  dylan_value T234_2;
  dylan_value T235;
  dylan_value T236_0;
  dylan_value T236_1;
  dylan_value T236_2;
  _KLsimple_object_vectorGVKd_6 T237 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T238;
  dylan_value T239;
  dylan_value T240;
  dylan_value T241;
  dylan_value T242;
  dylan_value T243;
  dylan_value T244;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  UfT_afterUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  UfT_beforeUF7 = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    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 {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T9_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    UfTUF11 = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    function_nameF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T13_0 = failureF10;
      T13_1 = &KPfalseVKi;
      T13_2 = &KPfalseVKi;
      T40_0 = T13_0;
      T40_1 = T13_1;
      T40_2 = T13_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T14_0 = Kmatch_parensVdfmc_macro_expanderI(UfTUF11);
      T14_1 = MV_GET_ELT(1);
      T14_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF15 = T14_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      Uafter_fTUF16 = T14_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      Unested_fTUF17 = T14_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF15 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T18_0 = failureF15;
        T18_1 = &KPfalseVKi;
        T18_2 = &KPfalseVKi;
        T39_0 = T18_0;
        T39_1 = T18_1;
        T39_2 = T18_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T19_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF17, IKJc_name_);
        T19_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF20 = T19_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfTUF21 = T19_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF20 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T22_0 = failureF20;
          T22_1 = &KPfalseVKi;
          T32_0 = T22_0;
          T32_1 = T22_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T23_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF21);
          T23_1 = MV_GET_ELT(1);
          T23_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF24 = T23_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfTUF25 = T23_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          c_nameF26 = T23_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF24 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T27_0 = failureF24;
            T27_1 = &KPfalseVKi;
            T31_0 = T27_0;
            T31_1 = T27_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T28 = CONGRUENT_CALL1(UfTUF25);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (T28 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T96_0 = &KPfalseVKi;
              T96_1 = c_nameF26;
              T30_0 = T96_0;
              T30_1 = T96_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T29_0 = &KPtrueVKi;
              T29_1 = &KPfalseVKi;
              T30_0 = T29_0;
              T30_1 = T29_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T31_0 = T30_0;
            T31_1 = T30_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T32_0 = T31_0;
          T32_1 = T31_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF33 = T32_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        c_nameF34 = T32_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF33 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T35_0 = failureF33;
          T35_1 = &KPfalseVKi;
          T35_2 = &KPfalseVKi;
          T38_0 = T35_0;
          T38_1 = T35_1;
          T38_2 = T35_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T97 = primitive_idQ(Uafter_fTUF16,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (T97 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T98_0 = &KPfalseVKi;
            T98_1 = function_nameF12;
            T98_2 = c_nameF34;
            T37_0 = T98_0;
            T37_1 = T98_1;
            T37_2 = T98_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T36_0 = &KPtrueVKi;
            T36_1 = &KPfalseVKi;
            T36_2 = &KPfalseVKi;
            T37_0 = T36_0;
            T37_1 = T36_1;
            T37_2 = T36_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T38_0 = T37_0;
          T38_1 = T37_1;
          T38_2 = T37_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T39_0 = T38_0;
        T39_1 = T38_1;
        T39_2 = T38_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T40_0 = T39_0;
      T40_1 = T39_1;
      T40_2 = T39_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    failureF41 = T40_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    function_nameF42 = T40_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    c_nameF43 = T40_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF41 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T45_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfT_afterUF6);
      T45_1 = MV_GET_ELT(1);
      T45_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF46 = T45_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      UfT_afterUF47 = T45_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      UfT_beforeUF48 = T45_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF46 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T50_0 = Kmatch_parensVdfmc_macro_expanderI(UfT_beforeUF48);
        T50_1 = MV_GET_ELT(1);
        T50_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF51 = T50_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        Uafter_fTUF52 = T50_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        Unested_fTUF53 = T50_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF51 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T54_0 = failureF51;
          T54_1 = &KPfalseVKi;
          T66_0 = T54_0;
          T66_1 = T54_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T55_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF53, IKJoptions_);
          T55_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF56 = T55_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfTUF57 = T55_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF56 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T58_0 = failureF56;
            T58_1 = &KPfalseVKi;
            T59_0 = T58_0;
            T59_1 = T58_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T99_0 = &KPfalseVKi;
            T99_1 = UfTUF57;
            T59_0 = T99_0;
            T59_1 = T99_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF60 = T59_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          key_optionsF61 = T59_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF60 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T62_0 = failureF60;
            T62_1 = &KPfalseVKi;
            T65_0 = T62_0;
            T65_1 = T62_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T100 = primitive_idQ(Uafter_fTUF52,&KPempty_listVKi);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (T100 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T101_0 = &KPfalseVKi;
              T101_1 = key_optionsF61;
              T64_0 = T101_0;
              T64_1 = T101_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T63_0 = &KPtrueVKi;
              T63_1 = &KPfalseVKi;
              T64_0 = T63_0;
              T64_1 = T63_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T65_0 = T64_0;
            T65_1 = T64_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T66_0 = T65_0;
          T66_1 = T65_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF67 = T66_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        key_optionsF68 = T66_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF67 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T70_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF47);
          T70_1 = MV_GET_ELT(1);
          T70_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF71 = T70_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfT_afterUF72 = T70_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfT_beforeUF73 = T70_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF71 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T76_0 = T75_0;
          T76_1 = T75_1;
          T76_2 = T75_2;
          T76_3 = T75_3;
          T76_4 = T75_4;
          T76_5 = T75_5;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T77_0 = T76_0;
        T77_1 = T76_1;
        T77_2 = T76_2;
        T77_3 = T76_3;
        T77_4 = T76_4;
        T77_5 = T76_5;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T78_0 = T77_0;
      T78_1 = T77_1;
      T78_2 = T77_2;
      T78_3 = T77_3;
      T78_4 = T77_4;
      T78_5 = T77_5;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T79_0 = T78_0;
    T79_1 = T78_1;
    T79_2 = T78_2;
    T79_3 = T78_3;
    T79_4 = T78_4;
    T79_5 = T78_5;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  failureF80 = T79_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  function_nameF81 = T79_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  c_nameF82 = T79_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  key_optionsF83 = T79_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  result_spec_ = T79_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  argsF85 = T79_5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  if (failureF80 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T93 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T94 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T93);
    T95 = T94;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    function_nameF86 = CONGRUENT_CALL1(function_nameF81);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    CONGRUENT_CALL1(c_nameF82);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T87 = CONGRUENT_CALL1(key_optionsF83);
    key_optionsF88 = Kkey_options_rewriterF258I(T87);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T89 = CONGRUENT_CALL1(result_spec_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T103_0 = Kmatch_parensVdfmc_macro_expanderI(T89);
    T103_1 = MV_GET_ELT(1);
    T103_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    failureF104 = T103_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    Uafter_fTUF105 = T103_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    Unested_fTUF106 = T103_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF104 != &KPfalseVKi) {
      failureF118 = failureF104;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T107_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF106, IKJresult_);
      T107_1 = MV_GET_ELT(1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF108 = T107_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      UfTUF109 = T107_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF108 != &KPfalseVKi) {
        failureF115 = failureF108;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T110_0 = Kmatch_nameVdfmc_macro_expanderI(UfTUF109, IKJvoid_);
        T110_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF111 = T110_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfTUF112 = T110_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF111 != &KPfalseVKi) {
          T114 = failureF111;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T224 = primitive_idQ(UfTUF112,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (T224 != &KPfalseVKi) {
            T113 = &KPfalseVKi;
          } else {
            T113 = &KPtrueVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T114 = T113;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF115 = T114;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF115 != &KPfalseVKi) {
        T117 = failureF115;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T225 = primitive_idQ(Uafter_fTUF105,&KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (T225 != &KPfalseVKi) {
          T116 = &KPfalseVKi;
        } else {
          T116 = &KPtrueVKi;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T117 = T116;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF118 = T117;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF118 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T121_0 = Kmatch_parensVdfmc_macro_expanderI(T89);
      T121_1 = MV_GET_ELT(1);
      T121_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF122 = T121_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      Uafter_fTUF123 = T121_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      Unested_fTUF124 = T121_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF122 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T126_0 = Kmatch_list_partVdfmc_macro_expanderI(Unested_fTUF124);
        T126_1 = MV_GET_ELT(1);
        T126_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF127 = T126_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfT_afterUF128 = T126_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfT_beforeUF129 = T126_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF127 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T131_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF129, IKJresult_);
          T131_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF132 = T131_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfTUF133 = T131_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF132 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T134_0 = failureF132;
            T134_1 = &KPfalseVKi;
            T134_2 = &KPfalseVKi;
            T154_0 = T134_0;
            T154_1 = T134_1;
            T154_2 = T134_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            failureF136 = T135_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Uafter_fTUF137 = T135_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Uname_fTUF138 = T135_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Utype_fTUF139 = T135_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (failureF136 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T140_0 = failureF136;
              T140_1 = &KPfalseVKi;
              T140_2 = &KPfalseVKi;
              T153_0 = T140_0;
              T153_1 = T140_1;
              T153_2 = T140_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T141_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTUF138);
              T141_1 = MV_GET_ELT(1);
              T141_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              failureF142 = T141_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              result_nameF143 = T141_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              if (failureF142 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T144_0 = failureF142;
                T144_1 = &KPfalseVKi;
                T144_2 = &KPfalseVKi;
                T152_0 = T144_0;
                T152_1 = T144_1;
                T152_2 = T144_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T145_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTUF139);
                T145_1 = MV_GET_ELT(1);
                T145_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                failureF146 = T145_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                typeF147 = T145_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                if (failureF146 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T148_0 = failureF146;
                  T148_1 = &KPfalseVKi;
                  T148_2 = &KPfalseVKi;
                  T151_0 = T148_0;
                  T151_1 = T148_1;
                  T151_2 = T148_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T227 = primitive_idQ(Uafter_fTUF137,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  if (T227 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T228_0 = &KPfalseVKi;
                    T228_1 = result_nameF143;
                    T228_2 = typeF147;
                    T150_0 = T228_0;
                    T150_1 = T228_1;
                    T150_2 = T228_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T149_0 = &KPtrueVKi;
                    T149_1 = &KPfalseVKi;
                    T149_2 = &KPfalseVKi;
                    T150_0 = T149_0;
                    T150_1 = T149_1;
                    T150_2 = T149_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T151_0 = T150_0;
                  T151_1 = T150_1;
                  T151_2 = T150_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T152_0 = T151_0;
                T152_1 = T151_1;
                T152_2 = T151_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T153_0 = T152_0;
              T153_1 = T152_1;
              T153_2 = T152_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T154_0 = T153_0;
            T154_1 = T153_1;
            T154_2 = T153_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF155 = T154_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          result_nameF156 = T154_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          typeF157 = T154_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF155 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T229_0 = &KPfalseVKi;
            T229_1 = result_nameF156;
            T229_2 = typeF157;
            T229_3 = UfT_afterUF128;
            T159_0 = T229_0;
            T159_1 = T229_1;
            T159_2 = T229_2;
            T159_3 = T229_3;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T160_0 = T159_0;
          T160_1 = T159_1;
          T160_2 = T159_2;
          T160_3 = T159_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF161 = T160_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        result_nameF162 = T160_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        typeF163 = T160_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        key_optionsF164 = T160_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF161 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T230 = primitive_idQ(Uafter_fTUF123,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (T230 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T231_0 = &KPfalseVKi;
            T231_1 = result_nameF162;
            T231_2 = typeF163;
            T231_3 = key_optionsF164;
            T167_0 = T231_0;
            T167_1 = T231_1;
            T167_2 = T231_2;
            T167_3 = T231_3;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T168_0 = T167_0;
          T168_1 = T167_1;
          T168_2 = T167_2;
          T168_3 = T167_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T169_0 = T168_0;
        T169_1 = T168_1;
        T169_2 = T168_2;
        T169_3 = T168_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF170 = T169_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      result_nameF171 = T169_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      typeF172 = T169_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      key_optionsF173 = T169_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF170 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T179_0 = Kmatch_parensVdfmc_macro_expanderI(T89);
        T179_1 = MV_GET_ELT(1);
        T179_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF180 = T179_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        Uafter_fTUF181 = T179_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        Unested_fTUF182 = T179_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF180 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T183_0 = failureF180;
          T183_1 = &KPfalseVKi;
          T183_2 = &KPfalseVKi;
          T215_0 = T183_0;
          T215_1 = T183_1;
          T215_2 = T183_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T184_0 = Kmatch_nameVdfmc_macro_expanderI(Unested_fTUF182, IKJerror_result_);
          T184_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF185 = T184_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfTUF186 = T184_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF185 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T187_0 = failureF185;
            T187_1 = &KPfalseVKi;
            T187_2 = &KPfalseVKi;
            T207_0 = T187_0;
            T207_1 = T187_1;
            T207_2 = T187_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T188_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF186);
            T188_1 = MV_GET_ELT(1);
            T188_2 = MV_GET_ELT(2);
            T188_3 = MV_GET_ELT(3);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            failureF189 = T188_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Uafter_fTUF190 = T188_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Uname_fTUF191 = T188_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Utype_fTUF192 = T188_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (failureF189 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T193_0 = failureF189;
              T193_1 = &KPfalseVKi;
              T193_2 = &KPfalseVKi;
              T206_0 = T193_0;
              T206_1 = T193_1;
              T206_2 = T193_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T194_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTUF191);
              T194_1 = MV_GET_ELT(1);
              T194_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              failureF195 = T194_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              result_nameF196 = T194_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              if (failureF195 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T197_0 = failureF195;
                T197_1 = &KPfalseVKi;
                T197_2 = &KPfalseVKi;
                T205_0 = T197_0;
                T205_1 = T197_1;
                T205_2 = T197_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T198_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTUF192);
                T198_1 = MV_GET_ELT(1);
                T198_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                failureF199 = T198_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                typeF200 = T198_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                if (failureF199 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T201_0 = failureF199;
                  T201_1 = &KPfalseVKi;
                  T201_2 = &KPfalseVKi;
                  T204_0 = T201_0;
                  T204_1 = T201_1;
                  T204_2 = T201_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T233 = primitive_idQ(Uafter_fTUF190,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  if (T233 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T234_0 = &KPfalseVKi;
                    T234_1 = result_nameF196;
                    T234_2 = typeF200;
                    T203_0 = T234_0;
                    T203_1 = T234_1;
                    T203_2 = T234_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T202_0 = &KPtrueVKi;
                    T202_1 = &KPfalseVKi;
                    T202_2 = &KPfalseVKi;
                    T203_0 = T202_0;
                    T203_1 = T202_1;
                    T203_2 = T202_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T204_0 = T203_0;
                  T204_1 = T203_1;
                  T204_2 = T203_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T205_0 = T204_0;
                T205_1 = T204_1;
                T205_2 = T204_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T206_0 = T205_0;
              T206_1 = T205_1;
              T206_2 = T205_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T207_0 = T206_0;
            T207_1 = T206_1;
            T207_2 = T206_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF208 = T207_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          result_nameF209 = T207_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          typeF210 = T207_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF208 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T211_0 = failureF208;
            T211_1 = &KPfalseVKi;
            T211_2 = &KPfalseVKi;
            T214_0 = T211_0;
            T214_1 = T211_1;
            T214_2 = T211_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T235 = primitive_idQ(Uafter_fTUF181,&KPempty_listVKi);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (T235 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T236_0 = &KPfalseVKi;
              T236_1 = result_nameF209;
              T236_2 = typeF210;
              T213_0 = T236_0;
              T213_1 = T236_1;
              T213_2 = T236_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T212_0 = &KPtrueVKi;
              T212_1 = &KPfalseVKi;
              T212_2 = &KPfalseVKi;
              T213_0 = T212_0;
              T213_1 = T212_1;
              T213_2 = T212_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T214_0 = T213_0;
            T214_1 = T213_1;
            T214_2 = T213_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T215_0 = T214_0;
          T215_1 = T214_1;
          T215_2 = T214_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF216 = T215_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        result_nameF217 = T215_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        typeF218 = T215_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF216 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T222 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T223 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T89, T222, IKJresult_spec_);
          T238 = T223;
          T240 = T238;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          result_nameF219 = CONGRUENT_CALL1(result_nameF217);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          typeF220 = CONGRUENT_CALL1(typeF218);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1118
          T237.vector_element_[0] = &KJname_;
          T237.vector_element_[1] = result_nameF219;
          T237.vector_element_[2] = IKJdesignator_name_;
          T237.vector_element_[3] = typeF220;
          T237.vector_element_[4] = IKJerror_resultQ_;
          T237.vector_element_[5] = &KPtrueVKi;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1118
          CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
          T221 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T237);
          T239 = T221;
          T240 = T239;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T242 = T240;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        result_nameF174 = CONGRUENT_CALL1(result_nameF171);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF175 = CONGRUENT_CALL1(typeF172);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T176 = CONGRUENT_CALL1(key_optionsF173);
        key_optionsF177 = Kkey_options_rewriterF258I(T176);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1112
        T232.vector_element_[0] = &KLc_ffi_result_descriptorGVdfmc_c_ffi;
        T232.vector_element_[1] = &KJname_;
        T232.vector_element_[2] = result_nameF174;
        T232.vector_element_[3] = IKJdesignator_name_;
        T232.vector_element_[4] = typeF175;
        T232.vector_element_[5] = key_optionsF177;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1112
        T178 = KapplyVKdI(&KmakeVKd, &T232);
        T241 = T178;
        T242 = T241;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T244 = T242;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1109
      T119 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1108
      T226.vector_element_[0] = &KJname_;
      T226.vector_element_[1] = T119;
      T226.vector_element_[2] = IKJvoidQ_;
      T226.vector_element_[3] = &KPtrueVKi;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1108
      CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
      T120 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T226);
      T243 = T120;
      T244 = T243;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
    T90 = CONGRUENT_CALL1(argsF85);
    argsF91 = Kargs_rewriterF252I(T90);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1090
    T92 = CALL5(&Kexpand_c_function_bodyVdfmc_c_ffiMM0, form_, function_nameF86, T244, argsF91, key_optionsF88);
    T95 = T92;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  return(T95);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  CONGRUENT_CALL_PROLOG(&Kcall_as_fragment_tokensVdfmc_macro_expander, 1);
  T3 = CONGRUENT_CALL1(form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  T4_0 = Kmatch_parensVdfmc_macro_expanderI(T3);
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  failureF5 = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  Uafter_fTUF6 = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  Unested_fTU_ = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  if (failureF5 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    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 {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    T9_0 = Kmatch_list_partVdfmc_macro_expanderI(Unested_fTU_);
    T9_1 = MV_GET_ELT(1);
    T9_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    UfT_afterU_ = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    UfT_beforeU_ = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      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);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      failureF15 = T14_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      Uafter_fTUF16 = T14_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      Uname_fTU_ = T14_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      Utype_fTU_ = T14_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      if (failureF15 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        T19_0 = failureF15;
        T19_1 = &KPfalseVKi;
        T19_2 = &KPfalseVKi;
        T32_0 = T19_0;
        T32_1 = T19_1;
        T32_2 = T19_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        T20_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
        T20_1 = MV_GET_ELT(1);
        T20_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        failureF21 = T20_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        varF22 = T20_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        if (failureF21 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          T23_0 = failureF21;
          T23_1 = &KPfalseVKi;
          T23_2 = &KPfalseVKi;
          T31_0 = T23_0;
          T31_1 = T23_1;
          T31_2 = T23_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          T24_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
          T24_1 = MV_GET_ELT(1);
          T24_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          failureF25 = T24_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          typeF26 = T24_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          if (failureF25 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
            T27_0 = failureF25;
            T27_1 = &KPfalseVKi;
            T27_2 = &KPfalseVKi;
            T30_0 = T27_0;
            T30_1 = T27_1;
            T30_2 = T27_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
            T119 = primitive_idQ(Uafter_fTUF16,&KPempty_listVKi);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
            if (T119 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
              T120_0 = &KPfalseVKi;
              T120_1 = varF22;
              T120_2 = typeF26;
              T29_0 = T120_0;
              T29_1 = T120_1;
              T29_2 = T120_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
              T28_0 = &KPtrueVKi;
              T28_1 = &KPfalseVKi;
              T28_2 = &KPfalseVKi;
              T29_0 = T28_0;
              T29_1 = T28_1;
              T29_2 = T28_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
            T30_0 = T29_0;
            T30_1 = T29_1;
            T30_2 = T29_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          T31_0 = T30_0;
          T31_1 = T30_1;
          T31_2 = T30_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        T32_0 = T31_0;
        T32_1 = T31_1;
        T32_2 = T31_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      failureF33 = T32_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      varF34 = T32_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      typeF35 = T32_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      if (failureF33 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        T121.vector_element_[0] = &KJsize_;
        T121.vector_element_[1] = IKJexpression_;
        T121.vector_element_[2] = &KPfalseVKi;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        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);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        failureF38 = T37_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        UfTUF39 = T37_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        sizeF40 = T37_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        if (failureF38 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
          T42 = CONGRUENT_CALL1(UfTUF39);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          if (T42 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          T45_0 = T44_0;
          T45_1 = T44_1;
          T45_2 = T44_2;
          T45_3 = T44_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        T46_0 = T45_0;
        T46_1 = T45_1;
        T46_2 = T45_2;
        T46_3 = T45_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      T47_0 = T46_0;
      T47_1 = T46_1;
      T47_2 = T46_2;
      T47_3 = T46_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    failureF48 = T47_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    varF49 = T47_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    typeF50 = T47_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    sizeF51 = T47_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    if (failureF48 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      T53_0 = Kmatch_bounded_body_constraintVdfmc_macro_expanderI(Uafter_fTUF6, &KPempty_listVKi);
      T53_1 = MV_GET_ELT(1);
      T53_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      failureF54 = T53_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      UfTUF55 = T53_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      bodyF56 = T53_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      if (failureF54 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        T123 = primitive_idQ(UfTUF55,&KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        if (T123 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
          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;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
        T60_0 = T59_0;
        T60_1 = T59_1;
        T60_2 = T59_2;
        T60_3 = T59_3;
        T60_4 = T59_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
      T61_0 = T60_0;
      T61_1 = T60_1;
      T61_2 = T60_2;
      T61_3 = T60_3;
      T61_4 = T60_4;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    T62_0 = T61_0;
    T62_1 = T61_1;
    T62_2 = T61_2;
    T62_3 = T61_3;
    T62_4 = T61_4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  failureF63 = T62_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  varF64 = T62_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  typeF65 = T62_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  sizeF66 = T62_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  bodyF67 = T62_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  if (failureF63 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    T116 = Kdylan_variable_nameVdfmc_readerI(IKJwith_stack_block_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    T117 = Kmacro_main_rule_match_errorVdfmc_macro_expanderI(T3, T116);
    T118 = T117;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    varF68 = CONGRUENT_CALL1(varF64);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    typeF69 = CONGRUENT_CALL1(typeF65);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    sizeF70 = CONGRUENT_CALL1(sizeF66);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
    CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
    bodyF71 = CONGRUENT_CALL1(bodyF67);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1307
    destroy_ = CALL7(&Kmake_variable_name_likeVdfmc_readerMM0, varF68, &KJname_, IKJdestroy_, IKJrecord_, &KPfalseVKi, IKJsource_position_, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T73 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T74 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T75 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T76 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T125 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T77 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJblock_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T79 = KlistVKdI(&KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T80 = Kmake_parens_fragmentVdfmc_macro_expanderI(T79);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T81 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T82 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ58ZE_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T83 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmake_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T84 = CONGRUENT_CALL1(typeF69);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T85 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T126 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJsize_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T86 = CONGRUENT_CALL1(sizeF70);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T127.vector_element_[0] = T84;
    T127.vector_element_[1] = T85;
    T127.vector_element_[2] = T126;
    T127.vector_element_[3] = T86;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T87 = KlistVKdI(&T127);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T88 = Kmake_parens_fragmentVdfmc_macro_expanderI(T87);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T89 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T90 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T91 = CONGRUENT_CALL1(varF68);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T92 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T93 = CONGRUENT_CALL1(typeF69);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T94 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T95 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T96 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T97 = CONGRUENT_CALL1(bodyF71);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T98 = CONGRUENT_CALL2(T96, T97);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T99 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJcleanup_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T100 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T101 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T128.vector_element_[0] = T101;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T102 = KlistVKdI(&T128);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T103 = Kmake_parens_fragmentVdfmc_macro_expanderI(T102);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T104 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtemp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T129.vector_element_[0] = T104;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T105 = KlistVKdI(&T129);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T106 = Kmake_parens_fragmentVdfmc_macro_expanderI(T105);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T107 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T108 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T109 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T110 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T111 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T112 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJblock_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T113 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T114 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    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;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1309
    T115 = Kmake_templateVdfmc_macro_expanderI(&T130);
    T118 = T115;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1299
  return(T118);
}

dylan_value Kc_ffi_default_inline_policyVdfmc_c_ffiI () {
  dylan_value T0_0;

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:358
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:367
  T36_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:367
  dylan_function_parameter_list_ = T36_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:368
  T38_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:368
  dylan_function_extra_returns_list_ = T38_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  T40_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:369
  stack_allocation_heads_ = T40_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:370
  T42_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:370
  in_out_arg_set_forms_ = T42_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
  T44_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:371
  c_function_parameter_list_ = T44_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:372
  T46_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:372
  c_function_arguments_ = T46_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:373
  T48_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:373
  extra_return_values_ = T48_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T3 = CONGRUENT_CALL1(specs_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  T4 = T3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  T5 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  T6 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  T7 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  T8 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  T9T = T4;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
    T9 = T9T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
    T10 = CALL3(T7, specs_, T9, T5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
    if (T10 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
      T11 = CALL2(T8, specs_, T9);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:375
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      modelF12 = CONGRUENT_CALL1(T11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:375
      modelF31 = modelF12;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      T35 = modelF31;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      if (T35 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:377
        CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
        T13 = CONGRUENT_CALL1(T11);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:377
        T50 = KCtop_level_eval_typeVdfmc_conversionMM0I(T13, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:377
        T51 = T50;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:377
        modelF31 = T51;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
        T34 = modelF31;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
        T52 = primitive_instanceQ(T34,&KLBdesignator_classGVdfmc_c_ffi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
        if (T52 == &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:379
          CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
          T14 = CONGRUENT_CALL1(T11);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:380
          T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_parameter_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:380
          T53.vector_element_[0] = T15;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:380
          T16 = Kmake_templateVdfmc_macro_expanderI(&T53);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:379
          CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T14, name_, T16, &KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:381
          T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:381
          T54.vector_element_[0] = T17;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:381
          T18 = Kmake_templateVdfmc_macro_expanderI(&T54);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:381
          T55 = KCtop_level_eval_typeVdfmc_conversionMM0I(T18, &KPempty_vectorVKi, &KPfalseVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:381
          T56 = T55;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:381
          modelF31 = T56;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:382
          T33 = modelF31;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:382
          CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
          CONGRUENT_CALL2(T33, T11);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:383
          T19 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:383
          T57.vector_element_[0] = T19;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:383
          T20 = Kmake_templateVdfmc_macro_expanderI(&T57);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:383
          CONGRUENT_CALL_PROLOG(&Kdesignator_name_setterVdfmc_c_ffi, 2);
          CONGRUENT_CALL2(T20, T11);
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:378
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:393
      T21 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:393
      T32 = modelF31;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:393
      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);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      dylan_function_parameter_ = T22_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      dylan_function_extra_return_ = T22_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      stack_allocation_head_ = T22_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      in_out_arg_set_form_ = T22_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      c_function_parameter_ = T22_4;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      c_function_argument_ = T22_5;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:376
      extra_return_value_ = T22_6;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:394
      if (dylan_function_parameter_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:394
        KaddXVKdMM3I(dylan_function_parameter_list_, dylan_function_parameter_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:394
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:395
      if (dylan_function_extra_return_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:395
        KaddXVKdMM3I(dylan_function_extra_returns_list_, dylan_function_extra_return_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:395
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:397
      if (stack_allocation_head_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:397
        KaddXVKdMM3I(stack_allocation_heads_, stack_allocation_head_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:397
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:398
      if (in_out_arg_set_form_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:398
        KaddXVKdMM3I(in_out_arg_set_forms_, in_out_arg_set_form_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:398
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:399
      if (c_function_parameter_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:399
        KaddXVKdMM3I(c_function_parameter_list_, c_function_parameter_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:399
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:400
      if (c_function_argument_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:400
        KaddXVKdMM3I(c_function_arguments_, c_function_argument_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:400
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:401
      if (extra_return_value_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:401
        KaddXVKdMM3I(extra_return_values_, extra_return_value_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:401
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
      T30 = CALL2(T6, specs_, T9);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
      T9T = T30;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:374
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:403
  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_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:358
  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);
}

dylan_value Kparse_c_function_specVdfmc_c_ffiMM0I (dylan_value form_name_, dylan_value specs_, dylan_value Urest_, dylan_value name_symbol_) {
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11T, T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T15_2;
  dylan_value failureF16;
  dylan_value UfT_afterU_;
  dylan_value UfT_beforeU_;
  dylan_value T19_0;
  dylan_value T19_1;
  dylan_value T19_2;
  dylan_value T19_3;
  dylan_value T19_4;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T20_3;
  dylan_value failureF21;
  dylan_value modsF22;
  dylan_value nameF23;
  dylan_value designatorF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T25_3;
  dylan_value T25_4;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value T26_3;
  dylan_value T26_4;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T27_2;
  dylan_value T27_3;
  dylan_value T27_4;
  dylan_value failureF28;
  dylan_value modsF29;
  dylan_value nameF30;
  dylan_value designatorF31;
  dylan_value poptionsF32;
  dylan_value T33;
  dylan_value nameF34;
  dylan_value designatorF35;
  dylan_value poptionsF36;
  dylan_value keys_;
  dylan_value T38;
  dylan_value T39_0;
  dylan_value T39_1;
  dylan_value failureF40;
  dylan_value UfTUF41;
  dylan_value T42_0;
  dylan_value T42_1;
  dylan_value T42_2;
  dylan_value T43_0;
  dylan_value T43_1;
  dylan_value T43_2;
  dylan_value T43_3;
  dylan_value failureF44;
  dylan_value Uafter_fTUF45;
  dylan_value Uname_fTUF46;
  dylan_value Utype_fTUF47;
  dylan_value T48_0;
  dylan_value T48_1;
  dylan_value T48_2;
  dylan_value T49_0;
  dylan_value T49_1;
  dylan_value T49_2;
  dylan_value failureF50;
  dylan_value nameF51;
  dylan_value T52_0;
  dylan_value T52_1;
  dylan_value T52_2;
  dylan_value T53_0;
  dylan_value T53_1;
  dylan_value T53_2;
  dylan_value failureF54;
  dylan_value designatorF55;
  dylan_value T56_0;
  dylan_value T56_1;
  dylan_value T56_2;
  dylan_value T57_0;
  dylan_value T57_1;
  dylan_value T57_2;
  dylan_value T58_0;
  dylan_value T58_1;
  dylan_value T58_2;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value T59_2;
  dylan_value T60_0;
  dylan_value T60_1;
  dylan_value T60_2;
  dylan_value T61_0;
  dylan_value T61_1;
  dylan_value T61_2;
  dylan_value T62_0;
  dylan_value T62_1;
  dylan_value T62_2;
  dylan_value failureF63;
  dylan_value nameF64;
  dylan_value designatorF65;
  dylan_value nameF66;
  dylan_value designatorF67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70_0;
  dylan_value T70_1;
  dylan_value failureF71;
  dylan_value UfTUF72;
  dylan_value T73_0;
  dylan_value T73_1;
  dylan_value T73_2;
  dylan_value T74_0;
  dylan_value T74_1;
  dylan_value T74_2;
  dylan_value T74_3;
  dylan_value failureF75;
  dylan_value Uafter_fTUF76;
  dylan_value Uname_fTUF77;
  dylan_value Utype_fTUF78;
  dylan_value T79_0;
  dylan_value T79_1;
  dylan_value T79_2;
  dylan_value T80_0;
  dylan_value T80_1;
  dylan_value T80_2;
  dylan_value failureF81;
  dylan_value nameF82;
  dylan_value T83_0;
  dylan_value T83_1;
  dylan_value T83_2;
  dylan_value T84_0;
  dylan_value T84_1;
  dylan_value T84_2;
  dylan_value failureF85;
  dylan_value designatorF86;
  dylan_value T87_0;
  dylan_value T87_1;
  dylan_value T87_2;
  dylan_value T88_0;
  dylan_value T88_1;
  dylan_value T88_2;
  dylan_value T89_0;
  dylan_value T89_1;
  dylan_value T89_2;
  dylan_value T90_0;
  dylan_value T90_1;
  dylan_value T90_2;
  dylan_value T91_0;
  dylan_value T91_1;
  dylan_value T91_2;
  dylan_value T92_0;
  dylan_value T92_1;
  dylan_value T92_2;
  dylan_value T93_0;
  dylan_value T93_1;
  dylan_value T93_2;
  dylan_value failureF94;
  dylan_value nameF95;
  dylan_value designatorF96;
  dylan_value nameF97;
  dylan_value designatorF98;
  dylan_value T99;
  dylan_value T100;
  dylan_value function_options_;
  dylan_value T102;
  dylan_value T103;
  dylan_value T104;
  dylan_value T105_0;
  dylan_value T105_1;
  dylan_value T105_2;
  dylan_value T105_3;
  dylan_value result_spec_;
  dylan_value T107;
  dylan_value T108;
  dylan_value T109;
  dylan_value T110;
  dylan_value T111_0;
  dylan_value arg_specs_;
  dylan_value T113_0;
  dylan_value options_;
  dylan_value T115_0;
  dylan_value T115_1;
  dylan_value T115_2;
  dylan_value T115_3;
  dylan_value T115_4;
  dylan_value T116;
  dylan_value T117;
  dylan_value adjectives_;
  _KLsimple_object_vectorGVKd_1 T119 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value modsF120;
  _KLsimple_object_vectorGVKd_8 T121 = {&KLsimple_object_vectorGVKdW, (dylan_value) 33};
  dylan_value T122;
  dylan_value T123_0;
  dylan_value T123_1;
  dylan_value T123_2;
  _KLsimple_object_vectorGVKd_4 T124 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T125 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T126;
  dylan_value T127_0;
  dylan_value T127_1;
  dylan_value T127_2;
  _KLsimple_object_vectorGVKd_4 T128 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_6 T129 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  _KLsimple_object_vectorGVKd_4 T130 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T131;
  dylan_value T132_0;
  dylan_value T132_1;
  dylan_value T132_2;
  dylan_value T132_3;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:717
  T111_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:717
  arg_specs_ = T111_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:718
  result_spec_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:719
  T113_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:719
  options_ = T113_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T5 = CONGRUENT_CALL1(specs_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  T6 = T5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  T7 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  T8 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  T9 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  T10 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  T11T = T6;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
    T11 = T11T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
    T12 = CALL3(T9, specs_, T11, T7);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
    if (T12 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
      T13 = CALL2(T10, specs_, T11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(T13);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T15_0 = Kmatch_list_partVdfmc_macro_expanderI(T14);
      T15_1 = MV_GET_ELT(1);
      T15_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      failureF16 = T15_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      UfT_afterU_ = T15_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      UfT_beforeU_ = T15_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      if (failureF16 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T19_0 = failureF16;
        T19_1 = &KPfalseVKi;
        T19_2 = &KPfalseVKi;
        T19_3 = &KPfalseVKi;
        T19_4 = &KPfalseVKi;
        T27_0 = T19_0;
        T27_1 = T19_1;
        T27_2 = T19_2;
        T27_3 = T19_3;
        T27_4 = T19_4;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T20_0 = KUwildcard_loopUF135I(&KPempty_listVKi, UfT_beforeU_);
        T20_1 = MV_GET_ELT(1);
        T20_2 = MV_GET_ELT(2);
        T20_3 = MV_GET_ELT(3);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        failureF21 = T20_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        modsF22 = T20_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        nameF23 = T20_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        designatorF24 = T20_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        if (failureF21 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T25_0 = failureF21;
          T25_1 = &KPfalseVKi;
          T25_2 = &KPfalseVKi;
          T25_3 = &KPfalseVKi;
          T25_4 = &KPfalseVKi;
          T26_0 = T25_0;
          T26_1 = T25_1;
          T26_2 = T25_2;
          T26_3 = T25_3;
          T26_4 = T25_4;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T115_0 = &KPfalseVKi;
          T115_1 = modsF22;
          T115_2 = nameF23;
          T115_3 = designatorF24;
          T115_4 = UfT_afterU_;
          T26_0 = T115_0;
          T26_1 = T115_1;
          T26_2 = T115_2;
          T26_3 = T115_3;
          T26_4 = T115_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T27_0 = T26_0;
        T27_1 = T26_1;
        T27_2 = T26_2;
        T27_3 = T26_3;
        T27_4 = T26_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      failureF28 = T27_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      modsF29 = T27_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      nameF30 = T27_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      designatorF31 = T27_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      poptionsF32 = T27_4;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      if (failureF28 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T39_0 = Kmatch_nameVdfmc_macro_expanderI(T14, IKJresult_);
        T39_1 = MV_GET_ELT(1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        failureF40 = T39_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        UfTUF41 = T39_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        if (failureF40 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T42_0 = failureF40;
          T42_1 = &KPfalseVKi;
          T42_2 = &KPfalseVKi;
          T62_0 = T42_0;
          T62_1 = T42_1;
          T62_2 = T42_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T43_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF41);
          T43_1 = MV_GET_ELT(1);
          T43_2 = MV_GET_ELT(2);
          T43_3 = MV_GET_ELT(3);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          failureF44 = T43_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          Uafter_fTUF45 = T43_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          Uname_fTUF46 = T43_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          Utype_fTUF47 = T43_3;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          if (failureF44 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T48_0 = failureF44;
            T48_1 = &KPfalseVKi;
            T48_2 = &KPfalseVKi;
            T61_0 = T48_0;
            T61_1 = T48_1;
            T61_2 = T48_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T49_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTUF46);
            T49_1 = MV_GET_ELT(1);
            T49_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            failureF50 = T49_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            nameF51 = T49_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            if (failureF50 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              T52_0 = failureF50;
              T52_1 = &KPfalseVKi;
              T52_2 = &KPfalseVKi;
              T60_0 = T52_0;
              T60_1 = T52_1;
              T60_2 = T52_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              T53_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTUF47);
              T53_1 = MV_GET_ELT(1);
              T53_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              failureF54 = T53_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              designatorF55 = T53_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              if (failureF54 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                T56_0 = failureF54;
                T56_1 = &KPfalseVKi;
                T56_2 = &KPfalseVKi;
                T59_0 = T56_0;
                T59_1 = T56_1;
                T59_2 = T56_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                T122 = primitive_idQ(Uafter_fTUF45,&KPempty_listVKi);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                if (T122 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                  T123_0 = &KPfalseVKi;
                  T123_1 = nameF51;
                  T123_2 = designatorF55;
                  T58_0 = T123_0;
                  T58_1 = T123_1;
                  T58_2 = T123_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                  T57_0 = &KPtrueVKi;
                  T57_1 = &KPfalseVKi;
                  T57_2 = &KPfalseVKi;
                  T58_0 = T57_0;
                  T58_1 = T57_1;
                  T58_2 = T57_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                T59_0 = T58_0;
                T59_1 = T58_1;
                T59_2 = T58_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              T60_0 = T59_0;
              T60_1 = T59_1;
              T60_2 = T59_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T61_0 = T60_0;
            T61_1 = T60_1;
            T61_2 = T60_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T62_0 = T61_0;
          T62_1 = T61_1;
          T62_2 = T61_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        failureF63 = T62_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        nameF64 = T62_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        designatorF65 = T62_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        if (failureF63 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T70_0 = Kmatch_nameVdfmc_macro_expanderI(T14, IKJerror_result_);
          T70_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          failureF71 = T70_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          UfTUF72 = T70_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          if (failureF71 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T73_0 = failureF71;
            T73_1 = &KPfalseVKi;
            T73_2 = &KPfalseVKi;
            T93_0 = T73_0;
            T93_1 = T73_1;
            T93_2 = T73_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T74_0 = Kmatch_variableVdfmc_macro_expanderI(UfTUF72);
            T74_1 = MV_GET_ELT(1);
            T74_2 = MV_GET_ELT(2);
            T74_3 = MV_GET_ELT(3);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            failureF75 = T74_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            Uafter_fTUF76 = T74_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            Uname_fTUF77 = T74_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            Utype_fTUF78 = T74_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            if (failureF75 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              T79_0 = failureF75;
              T79_1 = &KPfalseVKi;
              T79_2 = &KPfalseVKi;
              T92_0 = T79_0;
              T92_1 = T79_1;
              T92_2 = T79_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              T80_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTUF77);
              T80_1 = MV_GET_ELT(1);
              T80_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              failureF81 = T80_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              nameF82 = T80_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              if (failureF81 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                T83_0 = failureF81;
                T83_1 = &KPfalseVKi;
                T83_2 = &KPfalseVKi;
                T91_0 = T83_0;
                T91_1 = T83_1;
                T91_2 = T83_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                T84_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTUF78);
                T84_1 = MV_GET_ELT(1);
                T84_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                failureF85 = T84_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                designatorF86 = T84_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                if (failureF85 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                  T87_0 = failureF85;
                  T87_1 = &KPfalseVKi;
                  T87_2 = &KPfalseVKi;
                  T90_0 = T87_0;
                  T90_1 = T87_1;
                  T90_2 = T87_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                  T126 = primitive_idQ(Uafter_fTUF76,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                  if (T126 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                    T127_0 = &KPfalseVKi;
                    T127_1 = nameF82;
                    T127_2 = designatorF86;
                    T89_0 = T127_0;
                    T89_1 = T127_1;
                    T89_2 = T127_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                    T88_0 = &KPtrueVKi;
                    T88_1 = &KPfalseVKi;
                    T88_2 = &KPfalseVKi;
                    T89_0 = T88_0;
                    T89_1 = T88_1;
                    T89_2 = T88_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                  T90_0 = T89_0;
                  T90_1 = T89_1;
                  T90_2 = T89_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
                T91_0 = T90_0;
                T91_1 = T90_1;
                T91_2 = T90_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
              T92_0 = T91_0;
              T92_1 = T91_1;
              T92_2 = T91_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T93_0 = T92_0;
            T93_1 = T92_1;
            T93_2 = T92_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          failureF94 = T93_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          nameF95 = T93_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          designatorF96 = T93_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          if (failureF94 != &KPfalseVKi) {
            function_options_ = Kfunction_options_rewriterF133I(form_name_, T14);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:755
            CALL2(&Kparse_optionsXVdfmc_c_ffiMM0, options_, function_options_);
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
            nameF97 = CONGRUENT_CALL1(nameF95);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
            designatorF98 = CONGRUENT_CALL1(designatorF96);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:744
            T109 = result_spec_;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:744
            if (T109 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:746
              CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
              T99 = CONGRUENT_CALL1(T13);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:745
              T128.vector_element_[0] = IKJsource_location_;
              T128.vector_element_[1] = T99;
              T128.vector_element_[2] = IKJdefinition_name_;
              T128.vector_element_[3] = form_name_;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:745
              CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
              CONGRUENT_CALL2(&KLmultiple_return_clausesGVdfmc_c_ffi, &T128);
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:749
              T129.vector_element_[0] = IKJdesignator_name_;
              T129.vector_element_[1] = designatorF98;
              T129.vector_element_[2] = &KJname_;
              T129.vector_element_[3] = nameF97;
              T129.vector_element_[4] = IKJerror_resultQ_;
              T129.vector_element_[5] = &KPtrueVKi;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:749
              CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
              T100 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T129);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:749
              result_spec_ = T100;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:744
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          nameF66 = CONGRUENT_CALL1(nameF64);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
          designatorF67 = CONGRUENT_CALL1(designatorF65);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:735
          T110 = result_spec_;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:735
          if (T110 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:737
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T68 = CONGRUENT_CALL1(T13);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:736
            T124.vector_element_[0] = IKJsource_location_;
            T124.vector_element_[1] = T68;
            T124.vector_element_[2] = IKJdefinition_name_;
            T124.vector_element_[3] = form_name_;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:736
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLmultiple_return_clausesGVdfmc_c_ffi, &T124);
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:740
            T125.vector_element_[0] = IKJdesignator_name_;
            T125.vector_element_[1] = designatorF67;
            T125.vector_element_[2] = &KJname_;
            T125.vector_element_[3] = nameF66;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:740
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T69 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T125);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:740
            result_spec_ = T69;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:735
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T33 = CONGRUENT_CALL1(modsF29);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        adjectives_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T33);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:779
        T116 = CALL3(&Kparse_property_adjectivesVdfmc_definitionsMM0, Dc_parameter_propertiesVdfmc_c_ffi, adjectives_, form_name_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:778
        T119.vector_element_[0] = T116;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:778
        T117 = KapplyVKdI(&Kprocess_parameter_adjectivesF125, &T119);
        modsF120 = T117;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        nameF34 = CONGRUENT_CALL1(nameF30);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        designatorF35 = CONGRUENT_CALL1(designatorF31);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        poptionsF36 = CONGRUENT_CALL1(poptionsF32);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:725
        keys_ = Kparse_optionsVdfmc_definitionsMM0I(Dc_parameter_optionsVdfmc_c_ffi, poptionsF36, form_name_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:727
        T121.vector_element_[0] = &KLc_ffi_argument_descriptorGVdfmc_c_ffi;
        T121.vector_element_[1] = IKJdesignator_name_;
        T121.vector_element_[2] = designatorF35;
        T121.vector_element_[3] = IKJcall_discipline_;
        T121.vector_element_[4] = modsF120;
        T121.vector_element_[5] = &KJname_;
        T121.vector_element_[6] = nameF34;
        T121.vector_element_[7] = keys_;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:727
        T38 = KapplyVKdI(&KmakeVKd, &T121);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:726
        KaddXVKdMM3I(arg_specs_, T38);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
      T102 = CALL2(T8, specs_, T11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
      T11T = T102;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:721
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:796
  T108 = result_spec_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:796
  if (T108 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:799
    T103 = KgensymVdfmc_c_ffiMM0I(&KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:797
    T130.vector_element_[0] = IKJvoidQ_;
    T130.vector_element_[1] = &KPtrueVKi;
    T130.vector_element_[2] = &KJname_;
    T130.vector_element_[3] = T103;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:797
    CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
    T104 = CONGRUENT_CALL2(&KLc_ffi_result_descriptorGVdfmc_c_ffi, &T130);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:797
    result_spec_ = T104;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:796
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  T131 = Kget_propertyYplistsVcollectionsMM1I(options_, name_symbol_, &KPempty_vectorVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  T107 = result_spec_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:801
  T132_0 = arg_specs_;
  T132_1 = T107;
  T132_2 = T131;
  T132_3 = options_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  T105_0 = T132_0;
  T105_1 = T132_1;
  T105_2 = T132_2;
  T105_3 = T132_3;
  {
    MV_CHECK_TYPE_PROLOGUE(T132_0);
    primitive_type_check(T105_0, &KLobjectGVKd);
    primitive_type_check(T105_1, &KLc_ffi_result_descriptorGVdfmc_c_ffi);
    primitive_type_check(T105_2, &K122);
    primitive_type_check(T105_3, &KLsequenceGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:711
  MV_SET_ELT(1, T105_1);
  MV_SET_ELT(2, T105_2);
  MV_SET_ELT(3, T105_3);
  MV_SET_COUNT(4);
  return(T105_0);
}

dylan_value Kparse_early_optionsVdfmc_c_ffiMM0I (dylan_value arg_specs_, dylan_value result_spec_, dylan_value function_options_, dylan_value definition_name_) {
  dylan_value vname_;
  dylan_value typeF6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32;
  dylan_value indirect_expr_;
  dylan_value T34;
  dylan_value indirectQF35;
  dylan_value T36;
  dylan_value indirect_parameter_name_;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40;
  dylan_value T41;
  dylan_value T42;
  dylan_value T43;
  dylan_value T44;
  dylan_value T45;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48;
  dylan_value T49;
  dylan_value T50;
  dylan_value T51;
  dylan_value T52;
  dylan_value T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56T, T56;
  dylan_value T57;
  dylan_value T58;
  dylan_value nn_;
  dylan_value typeF60;
  dylan_value discipline_;
  dylan_value T62;
  dylan_value T63;
  dylan_value T64;
  dylan_value T65;
  dylan_value T66;
  dylan_value T67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70;
  dylan_value T71;
  dylan_value T72;
  dylan_value T73;
  dylan_value T74;
  dylan_value T75;
  dylan_value T76;
  dylan_value T77;
  dylan_value T78;
  dylan_value T79;
  dylan_value T80;
  dylan_value T81;
  dylan_value T82;
  dylan_value T83;
  dylan_value T84;
  dylan_value T85;
  dylan_value T86;
  dylan_value T87;
  dylan_value T88;
  dylan_value T89;
  dylan_value T90;
  dylan_value T91;
  dylan_value T92;
  dylan_value T93;
  dylan_value T94;
  dylan_value T95;
  dylan_value T96;
  dylan_value T97;
  dylan_value T98;
  dylan_value T99;
  dylan_value gf_method_expr_;
  dylan_value T101;
  dylan_value gf_methodQF102;
  dylan_value T103;
  dylan_value T104;
  dylan_value T105;
  dylan_value T106;
  dylan_value T107;
  dylan_value T108;
  dylan_value T109;
  dylan_value T110;
  dylan_value T111;
  dylan_value T112;
  dylan_value T113;
  dylan_value T114;
  dylan_value T115;
  dylan_value T116;
  dylan_value T117_0;
  dylan_value T117_1;
  dylan_value T117_2;
  dylan_value T117_3;
  dylan_value T117_4;
  dylan_value T117_5;
  dylan_value result_fragment_;
  dylan_value T119;
  dylan_value indirectQF120;
  dylan_value T121;
  dylan_value T122;
  dylan_value gf_methodQF123;
  dylan_value T124;
  dylan_value T125;
  dylan_value T126;
  dylan_value T127;
  dylan_value T128;
  dylan_value T129;
  dylan_value T130;
  dylan_value T131;
  dylan_value T132;
  _KLsimple_object_vectorGVKd_1 T133 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T134 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_4 T135 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T136 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T137 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T138 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_2 T139 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  _KLsimple_object_vectorGVKd_1 T140 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T141;
  _KLsimple_object_vectorGVKd_6 T142 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  _KLsimple_object_vectorGVKd_1 T143 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T144;
  dylan_value T145;
  dylan_value T146;
  dylan_value T147;
  _KLsimple_object_vectorGVKd_11 T148 = {&KLsimple_object_vectorGVKdW, (dylan_value) 45};
  _KLsimple_object_vectorGVKd_1 T149 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_3 T150 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  dylan_value T151;
  _KLsimple_object_vectorGVKd_7 T152 = {&KLsimple_object_vectorGVKdW, (dylan_value) 29};
  _KLsimple_object_vectorGVKd_1 T153 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T154;
  _KLsimple_object_vectorGVKd_1 T155 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T156 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T157 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T158 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T159 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  _KLsimple_object_vectorGVKd_1 T160 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T161 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_4 T162 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T163;
  _KLsimple_object_vectorGVKd_6 T164 = {&KLsimple_object_vectorGVKdW, (dylan_value) 25};
  dylan_value T165;
  dylan_value T166;
  dylan_value T167;
  dylan_value T168;
  _KLsimple_object_vectorGVKd_1 T169 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T170 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T171 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T172 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  _KLsimple_object_vectorGVKd_1 T173 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T174_0;
  dylan_value T174_1;
  dylan_value T174_2;
  dylan_value T174_3;
  dylan_value T174_4;
  dylan_value T174_5;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:147
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T126 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPfalseVKi, T126, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPempty_listVKi, T126, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(T126, T126, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T127 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPfalseVKi, T127, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPempty_listVKi, T127, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(T127, T127, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T128 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPfalseVKi, T128, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPempty_listVKi, T128, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(T128, T128, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T129 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPfalseVKi, T129, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(&KPempty_listVKi, T129, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  SLOT_VALUE_SETTER(T129, T129, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:160
  result_fragment_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:161
  CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
  vname_ = CONGRUENT_CALL1(result_spec_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:162
  T130 = SLOT_VALUE_INITD(result_spec_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:162
  if (T130 != &KPfalseVKi) {
    typeF6 = &KPfalseVKi;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:162
    T131 = SLOT_VALUE(result_spec_, 1);
    typeF6 = T131;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:162
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
  if (T130 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T28 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresult_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T29 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJvoid_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T139.vector_element_[0] = T28;
    T139.vector_element_[1] = T29;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T30 = KlistVKdI(&T139);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T31 = Kmake_parens_fragmentVdfmc_macro_expanderI(T30);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T140.vector_element_[0] = T31;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    T32 = Kmake_templateVdfmc_macro_expanderI(&T140);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:171
    result_fragment_ = T32;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    T132 = SLOT_VALUE_INITD(result_spec_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
    if (T132 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      T21 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJerror_result_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T22 = CONGRUENT_CALL1(vname_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      T23 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T24 = CONGRUENT_CALL1(typeF6);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      T137.vector_element_[0] = T21;
      T137.vector_element_[1] = T22;
      T137.vector_element_[2] = T23;
      T137.vector_element_[3] = T24;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      T25 = KlistVKdI(&T137);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      T26 = Kmake_parens_fragmentVdfmc_macro_expanderI(T25);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      T138.vector_element_[0] = T26;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      T27 = Kmake_templateVdfmc_macro_expanderI(&T138);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:168
      result_fragment_ = T27;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T7 = CONGRUENT_CALL1(vname_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      T8 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJimport_type_for_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T10 = CONGRUENT_CALL1(typeF6);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      T133.vector_element_[0] = T10;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      T11 = KlistVKdI(&T133);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      T134.vector_element_[0] = T7;
      T134.vector_element_[1] = T8;
      T134.vector_element_[2] = T9;
      T134.vector_element_[3] = T12;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      T13 = Kmake_templateVdfmc_macro_expanderI(&T134);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:165
      Kanonymous_of_parse_early_optionsF108I(T126, T13);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      T14 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJresult_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T15 = CONGRUENT_CALL1(vname_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      T16 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T17 = CONGRUENT_CALL1(typeF6);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      T135.vector_element_[0] = T14;
      T135.vector_element_[1] = T15;
      T135.vector_element_[2] = T16;
      T135.vector_element_[3] = T17;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      T18 = KlistVKdI(&T135);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      T19 = Kmake_parens_fragmentVdfmc_macro_expanderI(T18);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      T136.vector_element_[0] = T19;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      T20 = Kmake_templateVdfmc_macro_expanderI(&T136);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:166
      result_fragment_ = T20;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:164
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:163
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:174
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  indirect_expr_ = CONGRUENT_CALL3(function_options_, IKJindirect_, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:175
  if (indirect_expr_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:176
    T34 = Kparse_boolean_fragmentVdfmc_c_ffiI(indirect_expr_, &KPempty_vectorVKi, IKJerror_);
    indirectQF35 = T34;
  } else {
    indirectQF35 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:175
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:175
  indirectQF120 = indirectQF35;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:177
  T122 = indirectQF120;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:177
  T141 = primitive_instanceQ(T122,&KLbooleanGVKd);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:177
  if (T141 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:179
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T36 = CONGRUENT_CALL1(indirect_expr_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:178
    T142.vector_element_[0] = IKJsource_location_;
    T142.vector_element_[1] = T36;
    T142.vector_element_[2] = IKJdefinition_name_;
    T142.vector_element_[3] = definition_name_;
    T142.vector_element_[4] = IKJindirect_expression_;
    T142.vector_element_[5] = indirect_expr_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:178
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinvalid_c_function_indirect_valueGVdfmc_c_ffi, &T142);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:182
    indirectQF120 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:177
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:185
  T121 = indirectQF120;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:185
  if (T121 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:186
    T143.vector_element_[0] = &K74;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:186
    indirect_parameter_name_ = KgensymVdfmc_c_ffiMM0I(&T143);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T38 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJparameter_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T39 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T40 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_function_pointerG_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T41 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T144 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJcall_discipline_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T145 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJinput_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T42 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T146 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJindirect_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T43 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T147 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPtrueVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T148.vector_element_[0] = T38;
    T148.vector_element_[1] = indirect_parameter_name_;
    T148.vector_element_[2] = T39;
    T148.vector_element_[3] = T40;
    T148.vector_element_[4] = T41;
    T148.vector_element_[5] = T144;
    T148.vector_element_[6] = T145;
    T148.vector_element_[7] = T42;
    T148.vector_element_[8] = T146;
    T148.vector_element_[9] = T43;
    T148.vector_element_[10] = T147;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T44 = KlistVKdI(&T148);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T45 = Kmake_parens_fragmentVdfmc_macro_expanderI(T44);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T149.vector_element_[0] = T45;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:189
    T46 = Kmake_templateVdfmc_macro_expanderI(&T149);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:188
    Kanonymous_of_parse_early_optionsF100I(T127, T46);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:194
    T47 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:194
    T48 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_function_pointerG_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:194
    T150.vector_element_[0] = indirect_parameter_name_;
    T150.vector_element_[1] = T47;
    T150.vector_element_[2] = T48;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:194
    T49 = Kmake_templateVdfmc_macro_expanderI(&T150);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:193
    Kanonymous_of_parse_early_optionsF99I(T128, T49);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:185
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T50 = CONGRUENT_CALL1(arg_specs_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  T51 = T50;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  T52 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  T53 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  T54 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  T55 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  T56T = T51;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
    T56 = T56T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
    T57 = CALL3(T54, arg_specs_, T56, T52);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
    if (T57 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
      T58 = CALL2(T55, arg_specs_, T56);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:198
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nn_ = CONGRUENT_CALL1(T58);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:199
      CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
      typeF60 = CONGRUENT_CALL1(T58);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:200
      discipline_ = CALL1(&Kcall_disciplineVdfmc_c_ffi, T58);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T62 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJparameter_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T63 = CONGRUENT_CALL1(nn_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T64 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /home/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(typeF60);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T66 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T151 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJcall_discipline_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T67 = CONGRUENT_CALL1(discipline_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T152.vector_element_[0] = T62;
      T152.vector_element_[1] = T63;
      T152.vector_element_[2] = T64;
      T152.vector_element_[3] = T65;
      T152.vector_element_[4] = T66;
      T152.vector_element_[5] = T151;
      T152.vector_element_[6] = T67;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T68 = KlistVKdI(&T152);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T69 = Kmake_parens_fragmentVdfmc_macro_expanderI(T68);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T153.vector_element_[0] = T69;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      T70 = Kmake_templateVdfmc_macro_expanderI(&T153);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:203
      Kanonymous_of_parse_early_optionsF100I(T127, T70);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:205
      T71 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T58);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:205
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T154 = CONGRUENT_CALL2(T71, &KJinput_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:205
      if (T154 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:216
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T90 = CONGRUENT_CALL1(nn_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:216
        T160.vector_element_[0] = T90;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:216
        T91 = Kmake_templateVdfmc_macro_expanderI(&T160);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:216
        Kanonymous_of_parse_early_optionsF94I(T129, T91);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T92 = CONGRUENT_CALL1(nn_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        T93 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        T94 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T95 = CONGRUENT_CALL1(typeF60);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        T161.vector_element_[0] = T95;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        T96 = KlistVKdI(&T161);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        T97 = Kmake_parens_fragmentVdfmc_macro_expanderI(T96);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        T162.vector_element_[0] = T92;
        T162.vector_element_[1] = T93;
        T162.vector_element_[2] = T94;
        T162.vector_element_[3] = T97;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        T98 = Kmake_templateVdfmc_macro_expanderI(&T162);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:217
        Kanonymous_of_parse_early_optionsF99I(T128, T98);
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T72 = CONGRUENT_CALL1(nn_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        T73 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        T74 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJimport_type_for_reference_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T75 = CONGRUENT_CALL1(typeF60);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        T155.vector_element_[0] = T75;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        T76 = KlistVKdI(&T155);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        T77 = Kmake_parens_fragmentVdfmc_macro_expanderI(T76);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        T156.vector_element_[0] = T72;
        T156.vector_element_[1] = T73;
        T156.vector_element_[2] = T74;
        T156.vector_element_[3] = T77;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:208
        T78 = Kmake_templateVdfmc_macro_expanderI(&T156);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:207
        Kanonymous_of_parse_early_optionsF108I(T126, T78);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:209
        T79 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T58);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:209
        CONGRUENT_CALL_PROLOG(&KEVKd, 2);
        T80 = CONGRUENT_CALL2(T79, IKJin_out_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:209
        if (T80 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T81 = CONGRUENT_CALL1(nn_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
          T157.vector_element_[0] = T81;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
          T82 = Kmake_templateVdfmc_macro_expanderI(&T157);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:211
          Kanonymous_of_parse_early_optionsF94I(T129, T82);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T83 = CONGRUENT_CALL1(nn_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          T84 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          T85 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_reference_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
          T86 = CONGRUENT_CALL1(typeF60);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          T158.vector_element_[0] = T86;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          T87 = KlistVKdI(&T158);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          T88 = Kmake_parens_fragmentVdfmc_macro_expanderI(T87);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          T159.vector_element_[0] = T83;
          T159.vector_element_[1] = T84;
          T159.vector_element_[2] = T85;
          T159.vector_element_[3] = T88;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:213
          T89 = Kmake_templateVdfmc_macro_expanderI(&T159);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:212
          Kanonymous_of_parse_early_optionsF99I(T128, T89);
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:209
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:205
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
      T99 = CALL2(T53, arg_specs_, T56);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
      T56T = T99;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:197
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:223
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  gf_method_expr_ = CONGRUENT_CALL3(function_options_, IKJgeneric_function_method_, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:224
  if (gf_method_expr_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:225
    T101 = Kparse_boolean_fragmentVdfmc_c_ffiI(gf_method_expr_, &KPempty_vectorVKi, IKJerror_);
    gf_methodQF102 = T101;
  } else {
    gf_methodQF102 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:224
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:224
  gf_methodQF123 = gf_methodQF102;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:226
  T125 = gf_methodQF123;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:226
  T163 = primitive_instanceQ(T125,&KLbooleanGVKd);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:226
  if (T163 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:228
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T103 = CONGRUENT_CALL1(gf_method_expr_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:227
    T164.vector_element_[0] = IKJsource_location_;
    T164.vector_element_[1] = T103;
    T164.vector_element_[2] = IKJdefinition_name_;
    T164.vector_element_[3] = definition_name_;
    T164.vector_element_[4] = IKJgf_method_expression_;
    T164.vector_element_[5] = gf_method_expr_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:227
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinvalid_c_function_gf_method_valueGVdfmc_c_ffi, &T164);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:231
    gf_methodQF123 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:226
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T165 = SLOT_VALUE_INITD(T128, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T166 = SLOT_VALUE_INITD(T129, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T167 = SLOT_VALUE_INITD(T126, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:159
  T168 = SLOT_VALUE_INITD(T127, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:239
  T104 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:239
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T105 = CONGRUENT_CALL2(T165, T104);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:239
  T169.vector_element_[0] = T105;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:239
  T106 = KlistVKdI(&T169);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:239
  T107 = Kmake_parens_fragmentVdfmc_macro_expanderI(T106);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:239
  T170.vector_element_[0] = T107;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:239
  T108 = Kmake_templateVdfmc_macro_expanderI(&T170);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:240
  T109 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:240
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T110 = CONGRUENT_CALL2(T167, T109);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:240
  T171.vector_element_[0] = T110;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:240
  T111 = KlistVKdI(&T171);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:240
  T112 = Kmake_parens_fragmentVdfmc_macro_expanderI(T111);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:240
  T172.vector_element_[0] = T112;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:240
  T113 = Kmake_templateVdfmc_macro_expanderI(&T172);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:242
  T114 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:242
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T115 = CONGRUENT_CALL2(T166, T114);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:242
  T173.vector_element_[0] = T115;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:242
  T116 = Kmake_templateVdfmc_macro_expanderI(&T173);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:237
  T119 = result_fragment_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:237
  T124 = gf_methodQF123;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:237
  T174_0 = T168;
  T174_1 = T119;
  T174_2 = T108;
  T174_3 = T113;
  T174_4 = T124;
  T174_5 = T116;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:147
  T117_0 = T174_0;
  T117_1 = T174_1;
  T117_2 = T174_2;
  T117_3 = T174_3;
  T117_4 = T174_4;
  T117_5 = T174_5;
  {
    MV_CHECK_TYPE_PROLOGUE(T174_0);
    primitive_type_check(T117_0, &KLsequenceGVKd);
    primitive_type_check(T117_1, &KLtemplateGVdfmc_reader);
    primitive_type_check(T117_2, &KLtemplateGVdfmc_reader);
    primitive_type_check(T117_3, &KLtemplateGVdfmc_reader);
    primitive_type_check(T117_4, &KLbooleanGVKd);
    primitive_type_check(T117_5, &KLtemplateGVdfmc_reader);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:147
  MV_SET_ELT(1, T117_1);
  MV_SET_ELT(2, T117_2);
  MV_SET_ELT(3, T117_3);
  MV_SET_ELT(4, T117_4);
  MV_SET_ELT(5, T117_5);
  MV_SET_COUNT(6);
  return(T117_0);
}

static dylan_value Kanonymous_of_parse_early_optionsF108I (dylan_value collector_, dylan_value value_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value c_head_;
  dylan_value T5;

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:12
  // /home/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_);
  // /home/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);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  failureF6 = T5_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  UfTUF7 = T5_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  if (failureF6 != &KPfalseVKi) {
    failureF9 = failureF6;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    T20 = primitive_idQ(UfTUF7,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    if (T20 != &KPfalseVKi) {
      T8 = &KPfalseVKi;
    } else {
      T8 = &KPtrueVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    failureF9 = T8;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  if (failureF9 != &KPfalseVKi) {
    // /home/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);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    failureF12 = T11_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    UfTUF13 = T11_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    if (failureF12 != &KPfalseVKi) {
      failureF15 = failureF12;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      T21 = primitive_idQ(UfTUF13,&KPempty_listVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      if (T21 != &KPfalseVKi) {
        T14 = &KPfalseVKi;
      } else {
        T14 = &KPtrueVKi;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      failureF15 = T14;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    if (failureF15 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
      Kexport_fragment_tokensVdfmc_macro_expanderMM0I(T4);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:17
      T17_0 = default_;
      T18_0 = T17_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:16
      T16_0 = &KPtrueVKi;
      T18_0 = T16_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
    T19_0 = T18_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:15
    T10_0 = &KPfalseVKi;
    T19_0 = T10_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:14
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:12
  MV_SET_COUNT(1);
  return(T19_0);
}

static dylan_value Kanonymous_of_parse_early_optionsF100I (dylan_value collector_, dylan_value value_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value c_head_;
  dylan_value T5;

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

static dylan_value Kanonymous_of_parse_early_optionsF99I (dylan_value collector_, dylan_value value_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value c_head_;
  dylan_value T5;

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

static dylan_value Kanonymous_of_parse_early_optionsF94I (dylan_value collector_, dylan_value value_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value c_head_;
  dylan_value T5;

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  T2_0 = Kmatch_nameVdfmc_macro_expanderI(UfTU_, IKJparameter_);
  T2_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  failureF3 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  UfTUF4 = T2_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    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 {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    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);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    Uafter_fTU_ = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    Uname_fTU_ = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    Utype_fTU_ = T6_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T12_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
      T12_1 = MV_GET_ELT(1);
      T12_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      failureF13 = T12_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      nameF14 = T12_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      if (failureF13 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T16_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
        T16_1 = MV_GET_ELT(1);
        T16_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        failureF17 = T16_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        designatorF18 = T16_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        if (failureF17 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T36 = primitive_idQ(Uafter_fTU_,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          if (T36 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T22_0 = T21_0;
          T22_1 = T21_1;
          T22_2 = T21_2;
          T22_3 = T21_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T23_0 = T22_0;
        T23_1 = T22_1;
        T23_2 = T22_2;
        T23_3 = T22_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T24_0 = T23_0;
      T24_1 = T23_1;
      T24_2 = T23_2;
      T24_3 = T23_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    T25_0 = T24_0;
    T25_1 = T24_1;
    T25_2 = T24_2;
    T25_3 = T24_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  failureF26 = T25_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  mods_ = T25_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  nameF28 = T25_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  designatorF29 = T25_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  if (failureF26 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    T38 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    if (T38 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T30 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T34 = T30;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T39 = SLOT_VALUE_INITD(UfTU_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T40.vector_element_[0] = T39;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T31 = KlistVKdI(&T40);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T41.vector_element_[0] = T31;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T32 = CONGRUENT_CALL2(UcollectorU_, &T41);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T42 = SLOT_VALUE_INITD(UfTU_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T33 = CALL2(&KUwildcard_loopUF135, T32, T42);
      T34 = T33;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    T35 = T34;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    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;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  return(T35);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  T44 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  if (T44 != &KPfalseVKi) {
    failureF3 = &KPfalseVKi;
  } else {
    failureF3 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    T5_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T5_1 = MV_GET_ELT(1);
    T5_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    failureF6 = T5_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    UfT_afterU_ = T5_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    UfT_beforeU_ = T5_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    if (failureF6 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T10_0 = Kmatch_symbol_constraintVdfmc_macro_expanderI(UfT_beforeU_);
      T10_1 = MV_GET_ELT(1);
      T10_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      failureF11 = T10_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      UfTUF12 = T10_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      keyF13 = T10_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      if (failureF11 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T14_0 = failureF11;
        T14_1 = &KPfalseVKi;
        T14_2 = &KPfalseVKi;
        T24_0 = T14_0;
        T24_1 = T14_1;
        T24_2 = T14_2;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T15_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF12);
        T15_1 = MV_GET_ELT(1);
        T15_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        failureF16 = T15_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        UfTUF17 = T15_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        valueF18 = T15_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        if (failureF16 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T19_0 = failureF16;
          T19_1 = &KPfalseVKi;
          T19_2 = &KPfalseVKi;
          T23_0 = T19_0;
          T23_1 = T19_1;
          T23_2 = T19_2;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
          T20 = CONGRUENT_CALL1(UfTUF17);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          if (T20 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T45_0 = &KPfalseVKi;
            T45_1 = keyF13;
            T45_2 = valueF18;
            T22_0 = T45_0;
            T22_1 = T45_1;
            T22_2 = T45_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
            T21_0 = &KPtrueVKi;
            T21_1 = &KPfalseVKi;
            T21_2 = &KPfalseVKi;
            T22_0 = T21_0;
            T22_1 = T21_1;
            T22_2 = T21_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
          T23_0 = T22_0;
          T23_1 = T22_1;
          T23_2 = T22_2;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        T24_0 = T23_0;
        T24_1 = T23_1;
        T24_2 = T23_2;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      failureF25 = T24_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      keyF26 = T24_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      valueF27 = T24_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      if (failureF25 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
        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;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      T30_0 = T29_0;
      T30_1 = T29_1;
      T30_2 = T29_2;
      T30_3 = T29_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    failureF31 = T30_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    keyF32 = T30_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    valueF33 = T30_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    function_optionsF34 = T30_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    if (failureF31 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      other_ = Kexport_fragment_tokensVdfmc_macro_expanderMM0I(UfTU_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:790
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T40 = CONGRUENT_CALL1(other_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:789
      T51.vector_element_[0] = IKJsource_location_;
      T51.vector_element_[1] = T40;
      T51.vector_element_[2] = IKJdefinition_name_;
      T51.vector_element_[3] = form_name_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:789
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLunrecognized_clauseGVdfmc_c_ffi, &T51);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:792
      T41 = &KPempty_listVKi;
      MV_SET_ELT(0, &KPempty_listVKi);
      MV_SET_COUNT(1);
      T42 = T41;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      keyF35 = CONGRUENT_CALL1(keyF32);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      valueF36 = CONGRUENT_CALL1(valueF33);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T37 = CONGRUENT_CALL1(function_optionsF34);
      function_optionsF38 = Kfunction_options_rewriterF133I(form_name_, T37);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T39 = CONGRUENT_CALL2(&KLsymbolGVKd, keyF35);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      T47 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      SLOT_VALUE_SETTER(valueF36, T47, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      SLOT_VALUE_SETTER(function_optionsF38, T47, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      T48 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      SLOT_VALUE_SETTER(T39, T48, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      SLOT_VALUE_SETTER(T47, T48, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:786
      T49_0 = T48;
      T42 = T49_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
    T43 = T42;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:784
    T4 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T43 = T4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:722
  return(T43);
}

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

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

static dylan_value Kprocess_parameter_adjectivesF125I (dylan_value Urest_, dylan_value input_adjectiveQ_, dylan_value output_adjectiveQ_) {
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value T6_0;
  dylan_value T7_0;
  dylan_value T8_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:768
  if (output_adjectiveQ_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:769
    if (input_adjectiveQ_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:770
      T4_0 = IKJin_out_;
      T6_0 = T4_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:772
      T5_0 = &KJoutput_;
      T6_0 = T5_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:769
    T8_0 = T6_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:775
    T7_0 = &KJinput_;
    T8_0 = T7_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:768
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:765
  MV_SET_COUNT(1);
  return(T8_0);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:246
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:257
  export_type_ = KCmapped_export_typeVdfmc_c_ffiMM0I(model_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:258
  CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
  raw_export_type_ = CONGRUENT_CALL1(model_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:259
  CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
  nom_ = CONGRUENT_CALL1(spec_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:260
  unboxer_ = KCunboxer_function_nameVdfmc_c_ffiMM0I(model_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:261
  export_fn_ = KCexport_functionVdfmc_c_ffiMM0I(model_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  if (export_fn_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:264
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T9 = CONGRUENT_CALL1(export_fn_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:264
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T10 = CONGRUENT_CALL1(nom_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:264
    T28.vector_element_[0] = T10;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:264
    T11 = KlistVKdI(&T28);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:264
    T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:264
    T29.vector_element_[0] = T9;
    T29.vector_element_[1] = T12;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:264
    T13 = Kmake_templateVdfmc_macro_expanderI(&T29);
    export_form_ = T13;
  } else {
    export_form_ = nom_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:263
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T15 = CONGRUENT_CALL1(nom_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T16 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T17 = CONGRUENT_CALL1(export_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T30.vector_element_[0] = T15;
  T30.vector_element_[1] = T16;
  T30.vector_element_[2] = T17;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T18 = Kmake_templateVdfmc_macro_expanderI(&T30);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:272
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T19 = CONGRUENT_CALL1(nom_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:272
  T20 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:272
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T21 = CONGRUENT_CALL1(raw_export_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:272
  T31.vector_element_[0] = T19;
  T31.vector_element_[1] = T20;
  T31.vector_element_[2] = T21;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:272
  T22 = Kmake_templateVdfmc_macro_expanderI(&T31);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:273
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T23 = CONGRUENT_CALL1(unboxer_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:273
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T24 = CONGRUENT_CALL1(export_form_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:273
  T32.vector_element_[0] = T24;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:273
  T25 = KlistVKdI(&T32);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:273
  T26 = Kmake_parens_fragmentVdfmc_macro_expanderI(T25);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:273
  T33.vector_element_[0] = T23;
  T33.vector_element_[1] = T26;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:273
  T27 = Kmake_templateVdfmc_macro_expanderI(&T33);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:268
  T34_0 = T18;
  T34_1 = &KPfalseVKi;
  T34_2 = &KPfalseVKi;
  T34_3 = &KPfalseVKi;
  T34_4 = T22;
  T34_5 = T27;
  T34_6 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:246
  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);
}

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

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:312
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:323
  ref_type_modelF4 = KCreferenced_typeVdfmc_c_ffiMM0I(model_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:323
  ref_type_modelF55 = ref_type_modelF4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
  T59 = ref_type_modelF55;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
  T60 = primitive_instanceQ(T59,&KLBdesignator_classGVdfmc_c_ffi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
  if (T60 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:326
    T61 = SLOT_VALUE(spec_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:326
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T5 = CONGRUENT_CALL1(T61);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:327
    T62 = SLOT_VALUE(spec_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:328
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    T6 = CONGRUENT_CALL1(spec_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:325
    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;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:325
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLinput_output_parameter_not_a_pointerGVdfmc_c_ffi, &T63);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:329
    T7 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:329
    T64.vector_element_[0] = T7;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:329
    T8 = Kmake_templateVdfmc_macro_expanderI(&T64);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:329
    T65 = KCtop_level_eval_typeVdfmc_conversionMM0I(T8, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:329
    T66 = T65;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:329
    ref_type_modelF55 = T66;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:324
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:332
  T58 = ref_type_modelF55;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:332
  import_type_ = CALL1(&KCmapped_import_typeVdfmc_c_ffiMM0, T58);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:333
  T57 = ref_type_modelF55;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:333
  ref_export_type_ = CALL1(&KCmapped_export_typeVdfmc_c_ffiMM0, T57);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:334
  CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
  nom_ = CONGRUENT_CALL1(spec_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:335
  CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
  raw_export_type_ = CONGRUENT_CALL1(model_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:336
  unboxer_ = KCunboxer_function_nameVdfmc_c_ffiMM0I(model_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  T67.vector_element_[0] = &K159;
  T67.vector_element_[1] = nom_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:337
  temp_name_ = KgensymVdfmc_c_ffiMM0I(&T67);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:338
  T68 = SLOT_VALUE(spec_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJsize_of_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T56 = ref_type_modelF55;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T16 = CONGRUENT_CALL1(T56);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T69.vector_element_[0] = T16;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T17 = KlistVKdI(&T69);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T18 = Kmake_parens_fragmentVdfmc_macro_expanderI(T17);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  T70.vector_element_[0] = T15;
  T70.vector_element_[1] = T18;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:339
  stack_size_ = Kmake_templateVdfmc_macro_expanderI(&T70);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T20 = CONGRUENT_CALL1(nom_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  T21 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T22 = CONGRUENT_CALL1(ref_export_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  T71.vector_element_[0] = T20;
  T71.vector_element_[1] = T21;
  T71.vector_element_[2] = T22;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  T23 = Kmake_templateVdfmc_macro_expanderI(&T71);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T24 = CONGRUENT_CALL1(nom_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T25 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T26 = CONGRUENT_CALL1(import_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T72.vector_element_[0] = T24;
  T72.vector_element_[1] = T25;
  T72.vector_element_[2] = T26;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:341
  T27 = Kmake_templateVdfmc_macro_expanderI(&T72);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T28 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T29 = CONGRUENT_CALL1(T68);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T30 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T73 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(&KJsize_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T31 = CONGRUENT_CALL1(stack_size_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  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;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T32 = KlistVKdI(&T74);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T33 = Kmake_parens_fragmentVdfmc_macro_expanderI(T32);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T75.vector_element_[0] = T33;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:342
  T34 = Kmake_templateVdfmc_macro_expanderI(&T75);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T35 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T76.vector_element_[0] = temp_name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T36 = KlistVKdI(&T76);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T37 = Kmake_parens_fragmentVdfmc_macro_expanderI(T36);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T38 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ58ZE_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T39 = CONGRUENT_CALL1(nom_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
  T40 = CONGRUENT_CALL2(T38, T39);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T41 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T77.vector_element_[0] = T35;
  T77.vector_element_[1] = T37;
  T77.vector_element_[2] = T40;
  T77.vector_element_[3] = T41;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:344
  T42 = Kmake_templateVdfmc_macro_expanderI(&T77);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:345
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T43 = CONGRUENT_CALL1(nom_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:345
  T44 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:345
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T45 = CONGRUENT_CALL1(raw_export_type_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:345
  T78.vector_element_[0] = T43;
  T78.vector_element_[1] = T44;
  T78.vector_element_[2] = T45;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:345
  T46 = Kmake_templateVdfmc_macro_expanderI(&T78);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:346
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T47 = CONGRUENT_CALL1(unboxer_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:346
  T79.vector_element_[0] = temp_name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:346
  T48 = KlistVKdI(&T79);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:346
  T49 = Kmake_parens_fragmentVdfmc_macro_expanderI(T48);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:346
  T80.vector_element_[0] = T47;
  T80.vector_element_[1] = T49;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:346
  T50 = Kmake_templateVdfmc_macro_expanderI(&T80);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:347
  T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:347
  T81.vector_element_[0] = temp_name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:347
  T52 = KlistVKdI(&T81);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:347
  T53 = Kmake_parens_fragmentVdfmc_macro_expanderI(T52);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:347
  T82.vector_element_[0] = T51;
  T82.vector_element_[1] = T53;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:347
  T54 = Kmake_templateVdfmc_macro_expanderI(&T82);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:340
  T83_0 = T23;
  T83_1 = T27;
  T83_2 = T34;
  T83_3 = T42;
  T83_4 = T46;
  T83_5 = T50;
  T83_6 = T54;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:312
  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 dylan_value Kkey_options_rewriterF258I (dylan_value UfTU_) {
  dylan_value failureF2;
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value failureF5;
  dylan_value UfT_afterUF6;
  dylan_value UfT_beforeUF7;
  dylan_value T8_0;
  dylan_value T8_1;
  dylan_value T8_2;
  dylan_value T8_3;
  dylan_value T9_0;
  dylan_value T9_1;
  dylan_value T9_2;
  dylan_value failureF10;
  dylan_value UfTUF11;
  dylan_value keyF12;
  dylan_value T13_0;
  dylan_value T13_1;
  dylan_value T14;
  dylan_value T15_0;
  dylan_value T15_1;
  dylan_value T16_0;
  dylan_value T16_1;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value failureF18;
  dylan_value keyF19;
  dylan_value T20_0;
  dylan_value T20_1;
  dylan_value T20_2;
  dylan_value T20_3;
  dylan_value T21_0;
  dylan_value T21_1;
  dylan_value T21_2;
  dylan_value failureF22;
  dylan_value UfT_afterUF23;
  dylan_value UfT_beforeUF24;
  dylan_value T25_0;
  dylan_value T25_1;
  dylan_value T25_2;
  dylan_value T25_3;
  dylan_value T26_0;
  dylan_value T26_1;
  dylan_value T26_2;
  dylan_value failureF27;
  dylan_value UfTUF28;
  dylan_value valueF29;
  dylan_value T30_0;
  dylan_value T30_1;
  dylan_value T31;
  dylan_value T32_0;
  dylan_value T32_1;
  dylan_value T33_0;
  dylan_value T33_1;
  dylan_value T34_0;
  dylan_value T34_1;
  dylan_value failureF35;
  dylan_value valueF36;
  dylan_value T37_0;
  dylan_value T37_1;
  dylan_value T37_2;
  dylan_value T37_3;
  dylan_value T38_0;
  dylan_value T38_1;
  dylan_value T38_2;
  dylan_value T38_3;
  dylan_value T39_0;
  dylan_value T39_1;
  dylan_value T39_2;
  dylan_value T39_3;
  dylan_value T40_0;
  dylan_value T40_1;
  dylan_value T40_2;
  dylan_value T40_3;
  dylan_value T41_0;
  dylan_value T41_1;
  dylan_value T41_2;
  dylan_value T41_3;
  dylan_value failureF42;
  dylan_value keyF43;
  dylan_value valueF44;
  dylan_value key_optionsF45;
  dylan_value keyF46;
  dylan_value valueF47;
  dylan_value T48;
  dylan_value key_optionsF49;
  dylan_value T50;
  dylan_value T51;
  dylan_value T52;
  dylan_value T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  dylan_value T57_0;
  dylan_value T57_1;
  dylan_value T58_0;
  dylan_value T58_1;
  dylan_value T59_0;
  dylan_value T59_1;
  dylan_value T59_2;
  dylan_value T59_3;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  T56 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  if (T56 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    UfT_afterUF6 = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    UfT_beforeUF7 = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
      T9_1 = MV_GET_ELT(1);
      T9_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF10 = T9_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      UfTUF11 = T9_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      keyF12 = T9_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF10 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T13_0 = failureF10;
        T13_1 = &KPfalseVKi;
        T17_0 = T13_0;
        T17_1 = T13_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T14 = CONGRUENT_CALL1(UfTUF11);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (T14 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T57_0 = &KPfalseVKi;
          T57_1 = keyF12;
          T16_0 = T57_0;
          T16_1 = T57_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T15_0 = &KPtrueVKi;
          T15_1 = &KPfalseVKi;
          T16_0 = T15_0;
          T16_1 = T15_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T17_0 = T16_0;
        T17_1 = T16_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF18 = T17_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      keyF19 = T17_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF18 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
        T21_1 = MV_GET_ELT(1);
        T21_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF22 = T21_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfT_afterUF23 = T21_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfT_beforeUF24 = T21_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF22 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T26_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF24);
          T26_1 = MV_GET_ELT(1);
          T26_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF27 = T26_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfTUF28 = T26_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          valueF29 = T26_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF27 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T30_0 = failureF27;
            T30_1 = &KPfalseVKi;
            T34_0 = T30_0;
            T34_1 = T30_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T31 = CONGRUENT_CALL1(UfTUF28);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (T31 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T58_0 = &KPfalseVKi;
              T58_1 = valueF29;
              T33_0 = T58_0;
              T33_1 = T58_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T32_0 = &KPtrueVKi;
              T32_1 = &KPfalseVKi;
              T33_0 = T32_0;
              T33_1 = T32_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T34_0 = T33_0;
            T34_1 = T33_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF35 = T34_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          valueF36 = T34_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF35 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T39_0 = T38_0;
          T39_1 = T38_1;
          T39_2 = T38_2;
          T39_3 = T38_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T40_0 = T39_0;
        T40_1 = T39_1;
        T40_2 = T39_2;
        T40_3 = T39_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T41_0 = T40_0;
      T41_1 = T40_1;
      T41_2 = T40_2;
      T41_3 = T40_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    failureF42 = T41_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    keyF43 = T41_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    valueF44 = T41_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    key_optionsF45 = T41_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF42 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T52 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T53 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T52, IKJkey_options_);
      T54 = T53;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      keyF46 = CONGRUENT_CALL1(keyF43);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      valueF47 = CONGRUENT_CALL1(valueF44);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T48 = CONGRUENT_CALL1(key_optionsF45);
      key_optionsF49 = Kkey_options_rewriterF258I(T48);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      T50 = CALL1(&Kfragment_valueVdfmc_reader, keyF46);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T51 = CONGRUENT_CALL2(&KLsymbolGVKd, T50);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      T60 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      SLOT_VALUE_SETTER(valueF47, T60, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      SLOT_VALUE_SETTER(key_optionsF49, T60, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      T61 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      SLOT_VALUE_SETTER(T51, T61, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      SLOT_VALUE_SETTER(T60, T61, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1127
      T62_0 = T61;
      T54 = T62_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T55 = T54;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1123
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T55 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  return(T55);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T4_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    UfT_afterUF6 = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    UfT_beforeUF7 = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeUF7;
      T21_2 = UfT_afterUF6;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    arg_ = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    argsF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJargs_);
      T18 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T13 = CONGRUENT_CALL1(arg_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      T22_0 = Kmatch_parensVdfmc_macro_expanderI(T13);
      T22_1 = MV_GET_ELT(1);
      T22_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF23 = T22_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      Uafter_fTUF24 = T22_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      Unested_fTU_ = T22_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF23 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T27_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(Unested_fTU_);
        T27_1 = MV_GET_ELT(1);
        T27_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF28 = T27_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfT_afterUF29 = T27_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        UfT_beforeUF30 = T27_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF28 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T32_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF30, IKJparameter_);
          T32_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF33 = T32_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          UfTUF34 = T32_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF33 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T35_0 = failureF33;
            T35_1 = &KPfalseVKi;
            T35_2 = &KPfalseVKi;
            T55_0 = T35_0;
            T55_1 = T35_1;
            T55_2 = T35_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            failureF37 = T36_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Uafter_fTUF38 = T36_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Uname_fTU_ = T36_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            Utype_fTU_ = T36_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (failureF37 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T41_0 = failureF37;
              T41_1 = &KPfalseVKi;
              T41_2 = &KPfalseVKi;
              T54_0 = T41_0;
              T54_1 = T41_1;
              T54_2 = T41_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T42_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T42_1 = MV_GET_ELT(1);
              T42_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              failureF43 = T42_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              arg_nameF44 = T42_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              if (failureF43 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T45_0 = failureF43;
                T45_1 = &KPfalseVKi;
                T45_2 = &KPfalseVKi;
                T53_0 = T45_0;
                T53_1 = T45_1;
                T53_2 = T45_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T46_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T46_1 = MV_GET_ELT(1);
                T46_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                failureF47 = T46_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                typeF48 = T46_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                if (failureF47 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T49_0 = failureF47;
                  T49_1 = &KPfalseVKi;
                  T49_2 = &KPfalseVKi;
                  T52_0 = T49_0;
                  T52_1 = T49_1;
                  T52_2 = T49_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T111 = primitive_idQ(Uafter_fTUF38,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  if (T111 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T112_0 = &KPfalseVKi;
                    T112_1 = arg_nameF44;
                    T112_2 = typeF48;
                    T51_0 = T112_0;
                    T51_1 = T112_1;
                    T51_2 = T112_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T50_0 = &KPtrueVKi;
                    T50_1 = &KPfalseVKi;
                    T50_2 = &KPfalseVKi;
                    T51_0 = T50_0;
                    T51_1 = T50_1;
                    T51_2 = T50_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T52_0 = T51_0;
                  T52_1 = T51_1;
                  T52_2 = T51_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T53_0 = T52_0;
                T53_1 = T52_1;
                T53_2 = T52_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T54_0 = T53_0;
              T54_1 = T53_1;
              T54_2 = T53_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T55_0 = T54_0;
            T55_1 = T54_1;
            T55_2 = T54_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          failureF56 = T55_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          arg_nameF57 = T55_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          typeF58 = T55_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (failureF56 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T60_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF29);
            T60_1 = MV_GET_ELT(1);
            T60_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            failureF61 = T60_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            UfT_afterUF62 = T60_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            UfT_beforeUF63 = T60_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            if (failureF61 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              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 {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T65_0 = Kmatch_literalVdfmc_macro_expanderI(UfT_beforeUF63, IKJcall_discipline_);
              T65_1 = MV_GET_ELT(1);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              failureF66 = T65_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              UfTUF67 = T65_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              if (failureF66 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T68_0 = failureF66;
                T68_1 = &KPfalseVKi;
                T78_0 = T68_0;
                T78_1 = T68_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T69_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF67);
                T69_1 = MV_GET_ELT(1);
                T69_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                failureF70 = T69_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                UfTUF71 = T69_1;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                disciplineF72 = T69_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                if (failureF70 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T73_0 = failureF70;
                  T73_1 = &KPfalseVKi;
                  T77_0 = T73_0;
                  T77_1 = T73_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T74 = CONGRUENT_CALL1(UfTUF71);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  if (T74 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T113_0 = &KPfalseVKi;
                    T113_1 = disciplineF72;
                    T76_0 = T113_0;
                    T76_1 = T113_1;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                    T75_0 = &KPtrueVKi;
                    T75_1 = &KPfalseVKi;
                    T76_0 = T75_0;
                    T76_1 = T75_1;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                  T77_0 = T76_0;
                  T77_1 = T76_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                T78_0 = T77_0;
                T78_1 = T77_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              failureF79 = T78_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              disciplineF80 = T78_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              if (failureF79 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                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 {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
                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;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
              T83_0 = T82_0;
              T83_1 = T82_1;
              T83_2 = T82_2;
              T83_3 = T82_3;
              T83_4 = T82_4;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            T84_0 = T83_0;
            T84_1 = T83_1;
            T84_2 = T83_2;
            T84_3 = T83_3;
            T84_4 = T83_4;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T85_0 = T84_0;
          T85_1 = T84_1;
          T85_2 = T84_2;
          T85_3 = T84_3;
          T85_4 = T84_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        failureF86 = T85_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        arg_nameF87 = T85_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        typeF88 = T85_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        disciplineF89 = T85_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        key_optionsF90 = T85_4;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        if (failureF86 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T115 = primitive_idQ(Uafter_fTUF24,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          if (T115 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
          T94_0 = T93_0;
          T94_1 = T93_1;
          T94_2 = T93_2;
          T94_3 = T93_3;
          T94_4 = T93_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T95_0 = T94_0;
        T95_1 = T94_1;
        T95_2 = T94_2;
        T95_3 = T94_3;
        T95_4 = T94_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      failureF96 = T95_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      arg_nameF97 = T95_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      typeF98 = T95_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      disciplineF99 = T95_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      key_optionsF100 = T95_4;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      if (failureF96 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T109 = Kdylan_variable_nameVdfmc_readerI(IKJc_function_body_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        T110 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T13, T109, IKJarg_);
        T118 = T110;
        T120 = T118;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        arg_nameF101 = CONGRUENT_CALL1(arg_nameF97);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF102 = CONGRUENT_CALL1(typeF98);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        disciplineF103 = CONGRUENT_CALL1(disciplineF99);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T104 = CONGRUENT_CALL1(key_optionsF100);
        key_optionsF105 = Kkey_options_rewriterF258I(T104);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1104
        T106 = CALL1(&Kfragment_valueVdfmc_reader, disciplineF103);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1104
        CONGRUENT_CALL_PROLOG(&KasVKd, 2);
        T107 = CONGRUENT_CALL2(&KLsymbolGVKd, T106);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1098
        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;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1098
        T108 = KapplyVKdI(&KmakeVKd, &T117);
        T119 = T108;
        T120 = T119;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(argsF12);
      argsF15 = Kargs_rewriterF252I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1094
      T121 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1094
      SLOT_VALUE_SETTER(T120, T121, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1094
      SLOT_VALUE_SETTER(argsF15, T121, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1094
      T122_0 = T121;
      T18 = T122_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
    T19 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1093
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1083
  return(T19);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1130
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1139
  T152 = SLOT_VALUE_INITD(result_desc_, 3);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1139
  if (T152 != &KPfalseVKi) {
    result_designatorF6 = &KPfalseVKi;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1139
    T153 = SLOT_VALUE(result_desc_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1139
    T154 = KCtop_level_eval_typeVdfmc_conversionMM0I(T153, &KPempty_vectorVKi, &KPfalseVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1139
    T155 = T154;
    result_designatorF6 = T155;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1139
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1139
  result_designatorF127 = result_designatorF6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  if (T152 != &KPfalseVKi) {
    T7 = T152;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1141
    T141 = result_designatorF127;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1141
    T156 = primitive_instanceQ(T141,&KLBdesignator_classGVdfmc_c_ffi);
    T7 = T156;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  if (T7 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1142
    T157 = SLOT_VALUE(result_desc_, 1);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1143
    T8 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_result_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1143
    T158.vector_element_[0] = T8;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1143
    T9 = Kmake_templateVdfmc_macro_expanderI(&T158);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1142
    CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T157, dylan_name_, T9, &KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1144
    result_designatorF127 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T159 = CONGRUENT_CALL1(arg_specs_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  T160 = T159;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  T161 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  T162 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  T163 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  T164 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  T165T = T160;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
    T165 = T165T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
    T166 = CALL3(T163, arg_specs_, T165, T161);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
    if (T166 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
      T167 = CALL2(T164, arg_specs_, T165);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1148
      CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
      T169 = CONGRUENT_CALL1(T167);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1148
      T176 = KCtop_level_eval_typeVdfmc_conversionMM0I(T169, &KPempty_vectorVKi, &KPfalseVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1148
      T177 = T176;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1148
      CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
      CONGRUENT_CALL2(T177, T167);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1149
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      T170 = CONGRUENT_CALL1(T167);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1149
      T178 = primitive_instanceQ(T170,&KLBdesignator_classGVdfmc_c_ffi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1149
      if (T178 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1150
        CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
        T171 = CONGRUENT_CALL1(T167);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1151
        T172 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_function_parameter_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1151
        T179.vector_element_[0] = T172;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1151
        T173 = Kmake_templateVdfmc_macro_expanderI(&T179);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1150
        CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T171, dylan_name_, T173, &KPempty_listVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1152
        T174 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1152
        T180.vector_element_[0] = T174;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1152
        T175 = Kmake_templateVdfmc_macro_expanderI(&T180);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1152
        T181 = KCtop_level_eval_typeVdfmc_conversionMM0I(T175, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1152
        T182 = T181;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1152
        CONGRUENT_CALL_PROLOG(&Kmodel_type_setterVdfmc_c_ffi, 2);
        CONGRUENT_CALL2(T182, T167);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1149
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
      T168 = CALL2(T162, arg_specs_, T165);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
      T165T = T168;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1147
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1164
  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);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  stack_allocation_heads_ = T10_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  in_out_arg_set_forms_ = T10_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  c_function_parameter_list_ = T10_4;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  c_function_arguments_ = T10_5;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1140
  extra_return_values_ = T10_6;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1166
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  c_name_expr_ = CONGRUENT_CALL3(options_, IKJc_name_, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1167
  c_name_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1168
  if (c_name_expr_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1169
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T184 = CONGRUENT_CALL2(c_name_expr_, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1169
    T183 = T184;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1169
    c_name_ = T183;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1170
    T146 = c_name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1170
    T185 = primitive_instanceQ(T146,&KLstringGVKd);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1170
    if (T185 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1172
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T17 = CONGRUENT_CALL1(c_name_expr_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
      T186.vector_element_[0] = IKJsource_location_;
      T186.vector_element_[1] = T17;
      T186.vector_element_[2] = IKJdefinition_name_;
      T186.vector_element_[3] = dylan_name_;
      T186.vector_element_[4] = IKJc_name_expression_;
      T186.vector_element_[5] = c_name_expr_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1171
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLinvalid_c_name_valueGVdfmc_c_ffi, &T186);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1175
      c_name_ = &KPfalseVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1170
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1168
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1179
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  indirect_expr_ = CONGRUENT_CALL3(options_, IKJindirect_, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1180
  indirect_ = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1181
  if (indirect_expr_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1182
    T19 = Kparse_boolean_fragmentVdfmc_c_ffiI(indirect_expr_, &KPempty_vectorVKi, IKJerror_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1182
    indirect_ = T19;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1183
    T151 = indirect_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1183
    T187 = primitive_instanceQ(T151,&KLbooleanGVKd);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1183
    if (T187 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1186
      indirect_ = &KPfalseVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1183
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1181
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
  T145 = c_name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
  if (T145 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
    T150 = indirect_;
    T20 = T150;
  } else {
    T20 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
  if (T20 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1192
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T21 = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1191
    T188.vector_element_[0] = IKJsource_location_;
    T188.vector_element_[1] = T21;
    T188.vector_element_[2] = IKJdefinition_name_;
    T188.vector_element_[3] = dylan_name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1191
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLconflicting_c_name_and_indirect_optionsGVdfmc_c_ffi, &T188);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1194
    c_name_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1190
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1197
  T144 = c_name_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1197
  if (T144 != &KPfalseVKi) {
    T22 = T144;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1197
    T149 = indirect_;
    T22 = T149;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1197
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1197
  if (T22 == &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1199
    CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
    T23 = CONGRUENT_CALL1(form_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1198
    T189.vector_element_[0] = IKJsource_location_;
    T189.vector_element_[1] = T23;
    T189.vector_element_[2] = IKJdefinition_name_;
    T189.vector_element_[3] = dylan_name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1198
    CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
    CONGRUENT_CALL2(&KLno_c_name_or_indirect_optionGVdfmc_c_ffi, &T189);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1201
    c_name_ = &K231;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1197
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1205
  T139 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1205
  if (T139 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1205
    T140 = result_designatorF127;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1205
    T24 = CALL1(&KCboxer_function_nameVdfmc_c_ffiMM0, T140);
    result_boxer_ = T24;
  } else {
    result_boxer_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1205
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1206
  T138 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1206
  if (T138 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1207
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    T26 = CONGRUENT_CALL1(result_desc_);
    result_name_ = T26;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1209
    T27 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJtmp_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1209
    T190.vector_element_[0] = T27;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1209
    T28 = Kmake_templateVdfmc_macro_expanderI(&T190);
    result_name_ = T28;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1206
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1212
  T136 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1212
  if (T136 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1212
    T137 = result_designatorF127;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1212
    T30 = CALL1(&KCmapped_import_typeVdfmc_c_ffiMM0, T137);
    result_dylan_type_ = T30;
  } else {
    result_dylan_type_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1212
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1213
  T134 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1213
  if (T134 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1214
    T135 = result_designatorF127;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1214
    CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
    T32 = CONGRUENT_CALL1(T135);
    result_raw_type_ = T32;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1216
    T33 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLraw_c_voidG_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1216
    T191.vector_element_[0] = T33;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1216
    T34 = Kmake_templateVdfmc_macro_expanderI(&T191);
    result_raw_type_ = T34;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1213
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1218
  T132 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1218
  if (T132 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1219
    T133 = result_designatorF127;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1219
    T36 = CALL1(&KClow_level_typeVdfmc_c_ffiMM0, T133);
    result_low_type_ = T36;
  } else {
    result_low_type_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1218
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1224
  T130 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1224
  if (T130 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1225
    T131 = result_designatorF127;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1225
    Utmp_ = CALL1(&KCimport_functionVdfmc_c_ffiMM0, T131);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1225
    if (Utmp_ != &KPfalseVKi) {
      T41 = Utmp_;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1226
      T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJidentity_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1226
      T192.vector_element_[0] = T39;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1226
      T40 = Kmake_templateVdfmc_macro_expanderI(&T192);
      T41 = T40;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1225
    import_function_ = T41;
  } else {
    import_function_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1224
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
  T129 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
  if (T129 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T193 = SLOT_VALUE_INITD(result_desc_, 4);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
    T194 = primitive_not(T193);
    T43 = T194;
  } else {
    T43 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
  if (T43 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1229
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T44 = CONGRUENT_CALL1(result_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1229
    T195.vector_element_[0] = T44;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1229
    T45 = Kmake_templateVdfmc_macro_expanderI(&T195);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1229
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T46 = CONGRUENT_CALL2(&KLlistGVKd, extra_return_values_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1229
    T196 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1229
    SLOT_VALUE_SETTER(T45, T196, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1229
    SLOT_VALUE_SETTER(T46, T196, 1);
    return_values_ = T196;
  } else {
    return_values_ = extra_return_values_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1228
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
  T197.vector_element_[0] = &KJdefault_;
  T197.vector_element_[1] = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1234
  CONGRUENT_CALL_PROLOG(&Kget_propertyYplistsVcollections, 3);
  modifiers_expr_ = CONGRUENT_CALL3(options_, IKJc_modifiers_, &T197);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1237
  if (modifiers_expr_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1238
    CONGRUENT_CALL_PROLOG(&KBtop_level_evalVdfmc_conversion, 2);
    T199 = CONGRUENT_CALL2(modifiers_expr_, &KPempty_vectorVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1238
    val_ = T199;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1239
    T200 = primitive_instanceQ(val_,&KLstringGVKd);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1239
    if (T200 != &KPfalseVKi) {
      T50 = val_;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1241
      CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
      T49 = CONGRUENT_CALL1(modifiers_expr_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1240
      T201.vector_element_[0] = IKJsource_location_;
      T201.vector_element_[1] = T49;
      T201.vector_element_[2] = IKJdefinition_name_;
      T201.vector_element_[3] = dylan_name_;
      T201.vector_element_[4] = IKJmodifiers_expression_;
      T201.vector_element_[5] = modifiers_expr_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1240
      CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
      CONGRUENT_CALL2(&KLinvalid_c_modifiers_valueGVdfmc_c_ffi, &T201);
      T50 = &KPempty_stringVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1239
    modifiers_ = T50;
  } else {
    modifiers_ = &KPempty_stringVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1237
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1253
  T148 = indirect_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1253
  if (T148 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T52 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPcall_c_function_indirect_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T202 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJc_modifiers_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T53 = CONGRUENT_CALL1(modifiers_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T203.vector_element_[0] = T202;
    T203.vector_element_[1] = T53;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T54 = KlistVKdI(&T203);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T55 = Kmake_parens_fragmentVdfmc_macro_expanderI(T54);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T56 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T57 = CONGRUENT_CALL2(c_function_parameter_list_, T56);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T204.vector_element_[0] = T57;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T58 = KlistVKdI(&T204);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T59 = Kmake_parens_fragmentVdfmc_macro_expanderI(T58);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T60 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T61 = CONGRUENT_CALL1(result_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T62 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T63 = CONGRUENT_CALL1(result_raw_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T205.vector_element_[0] = T61;
    T205.vector_element_[1] = T62;
    T205.vector_element_[2] = T63;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T64 = KlistVKdI(&T205);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T65 = Kmake_parens_fragmentVdfmc_macro_expanderI(T64);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T66 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T67 = CONGRUENT_CALL2(c_function_arguments_, T66);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T206.vector_element_[0] = T67;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T68 = KlistVKdI(&T206);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T69 = Kmake_parens_fragmentVdfmc_macro_expanderI(T68);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T70 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T207.vector_element_[0] = T52;
    T207.vector_element_[1] = T55;
    T207.vector_element_[2] = T59;
    T207.vector_element_[3] = T60;
    T207.vector_element_[4] = T65;
    T207.vector_element_[5] = T69;
    T207.vector_element_[6] = T70;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1254
    T71 = Kmake_templateVdfmc_macro_expanderI(&T207);
    foreign_call_ = T71;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T72 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJPcall_c_function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T143 = c_name_;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T73 = CONGRUENT_CALL1(T143);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T74 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T208 = Kmake_literal_fragmentVdfmc_macro_expanderMM3I(IKJc_modifiers_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T75 = CONGRUENT_CALL1(modifiers_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T209.vector_element_[0] = T73;
    T209.vector_element_[1] = T74;
    T209.vector_element_[2] = T208;
    T209.vector_element_[3] = T75;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T76 = KlistVKdI(&T209);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T77 = Kmake_parens_fragmentVdfmc_macro_expanderI(T76);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T78 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T79 = CONGRUENT_CALL2(c_function_parameter_list_, T78);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T210.vector_element_[0] = T79;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T80 = KlistVKdI(&T210);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T81 = Kmake_parens_fragmentVdfmc_macro_expanderI(T80);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T82 = Kmake_equal_greater_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T83 = CONGRUENT_CALL1(result_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T84 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T85 = CONGRUENT_CALL1(result_raw_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T211.vector_element_[0] = T83;
    T211.vector_element_[1] = T84;
    T211.vector_element_[2] = T85;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T86 = KlistVKdI(&T211);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T87 = Kmake_parens_fragmentVdfmc_macro_expanderI(T86);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T88 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T89 = CONGRUENT_CALL2(c_function_arguments_, T88);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T212.vector_element_[0] = T89;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T90 = KlistVKdI(&T212);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T91 = Kmake_parens_fragmentVdfmc_macro_expanderI(T90);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T92 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T213.vector_element_[0] = T72;
    T213.vector_element_[1] = T77;
    T213.vector_element_[2] = T81;
    T213.vector_element_[3] = T82;
    T213.vector_element_[4] = T87;
    T213.vector_element_[5] = T91;
    T213.vector_element_[6] = T92;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1260
    T93 = Kmake_templateVdfmc_macro_expanderI(&T213);
    foreign_call_ = T93;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1253
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1267
  T128 = result_designatorF127;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1267
  if (T128 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T95 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T96 = CONGRUENT_CALL1(result_name_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T97 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T98 = CONGRUENT_CALL1(result_dylan_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T99 = Kmake_equal_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T100 = CONGRUENT_CALL1(import_function_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T101 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T102 = CONGRUENT_CALL1(result_low_type_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T103 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T104 = CONGRUENT_CALL1(foreign_call_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T105 = CONGRUENT_CALL2(T103, T104);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T106 = Kmake_comma_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T107 = CONGRUENT_CALL1(result_boxer_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
    T108 = CONGRUENT_CALL2(T106, T107);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T214.vector_element_[0] = T102;
    T214.vector_element_[1] = T105;
    T214.vector_element_[2] = T108;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T109 = KlistVKdI(&T214);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T110 = Kmake_parens_fragmentVdfmc_macro_expanderI(T109);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T215.vector_element_[0] = T101;
    T215.vector_element_[1] = T110;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T111 = KlistVKdI(&T215);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T112 = Kmake_parens_fragmentVdfmc_macro_expanderI(T111);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T216.vector_element_[0] = T95;
    T216.vector_element_[1] = T96;
    T216.vector_element_[2] = T97;
    T216.vector_element_[3] = T98;
    T216.vector_element_[4] = T99;
    T216.vector_element_[5] = T100;
    T216.vector_element_[6] = T112;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1268
    T113 = Kmake_templateVdfmc_macro_expanderI(&T216);
    result_binding_ = T113;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1274
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T114 = CONGRUENT_CALL1(foreign_call_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1274
    T217.vector_element_[0] = T114;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1274
    T115 = Kmake_templateVdfmc_macro_expanderI(&T217);
    result_binding_ = T115;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1267
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1276
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  stack_allocation_size_ = CONGRUENT_CALL1(stack_allocation_heads_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T218 = Ksubstitute_sequenceVdfmc_macro_expanderMM0I(in_out_arg_set_forms_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
  T118 = CONGRUENT_CALL1(result_binding_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T119 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T120 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJvalues_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T121 = Kmake_comma_fragmentVdfmc_macro_expanderI();
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
  T122 = CONGRUENT_CALL2(return_values_, T121);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T219.vector_element_[0] = T122;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T123 = KlistVKdI(&T219);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T124 = Kmake_parens_fragmentVdfmc_macro_expanderI(T123);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T220.vector_element_[0] = T218;
  T220.vector_element_[1] = T118;
  T220.vector_element_[2] = T119;
  T220.vector_element_[3] = T120;
  T220.vector_element_[4] = T124;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1291
  T125 = Kmake_templateVdfmc_macro_expanderI(&T220);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1282
  iF231T = 1;
  bodyF232T = T125;
L1: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1282
    iF231 = iF231T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
    T235 = primitive_cast_raw_as_integer(iF231);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1282
    bodyF232 = bodyF232T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1278
    CONGRUENT_CALL_PROLOG(&KLVKd, 2);
    T227 = CONGRUENT_CALL2(T235, stack_allocation_size_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1278
    if (T227 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1281
      CONGRUENT_CALL_PROLOG(&KelementVKd, 3);
      stack_head_ = CONGRUENT_CALL3(stack_allocation_heads_, T235, &KPempty_vectorVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1283
      T228 = primitive_machine_word_add_signal_overflow(iF231,4);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1284
      T222 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJwith_stack_block_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1284
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T223 = CONGRUENT_CALL1(stack_head_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1284
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T224 = CONGRUENT_CALL1(bodyF232);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1284
      T225 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1284
      T229.vector_element_[0] = T222;
      T229.vector_element_[1] = T223;
      T229.vector_element_[2] = T224;
      T229.vector_element_[3] = T225;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1284
      T226 = Kmake_templateVdfmc_macro_expanderI(&T229);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1282
      iF231T = T228;
      bodyF232T = T226;
      goto L1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1290
      T233 = T230;
      T234 = T233;
    } else {
      T234 = bodyF232;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1278
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1282
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1294
  T126_0 = T234;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1130
  MV_SET_COUNT(1);
  return(T126_0);
}

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

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

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

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

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

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  T56 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  if (T56 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T4_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    UfT_afterUF6 = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    UfT_beforeUF7 = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T9_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF7);
      T9_1 = MV_GET_ELT(1);
      T9_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF10 = T9_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      UfTUF11 = T9_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      keyF12 = T9_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF10 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T13_0 = failureF10;
        T13_1 = &KPfalseVKi;
        T17_0 = T13_0;
        T17_1 = T13_1;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
        T14 = CONGRUENT_CALL1(UfTUF11);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (T14 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T57_0 = &KPfalseVKi;
          T57_1 = keyF12;
          T16_0 = T57_0;
          T16_1 = T57_1;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T15_0 = &KPtrueVKi;
          T15_1 = &KPfalseVKi;
          T16_0 = T15_0;
          T16_1 = T15_1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T17_0 = T16_0;
        T17_1 = T16_1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF18 = T17_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      keyF19 = T17_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF18 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T21_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF6);
        T21_1 = MV_GET_ELT(1);
        T21_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF22 = T21_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        UfT_afterUF23 = T21_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        UfT_beforeUF24 = T21_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF22 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T26_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfT_beforeUF24);
          T26_1 = MV_GET_ELT(1);
          T26_2 = MV_GET_ELT(2);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF27 = T26_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          UfTUF28 = T26_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          valueF29 = T26_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF27 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T30_0 = failureF27;
            T30_1 = &KPfalseVKi;
            T34_0 = T30_0;
            T34_1 = T30_1;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
            T31 = CONGRUENT_CALL1(UfTUF28);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (T31 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T58_0 = &KPfalseVKi;
              T58_1 = valueF29;
              T33_0 = T58_0;
              T33_1 = T58_1;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T32_0 = &KPtrueVKi;
              T32_1 = &KPfalseVKi;
              T33_0 = T32_0;
              T33_1 = T32_1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T34_0 = T33_0;
            T34_1 = T33_1;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF35 = T34_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          valueF36 = T34_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF35 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T39_0 = T38_0;
          T39_1 = T38_1;
          T39_2 = T38_2;
          T39_3 = T38_3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T40_0 = T39_0;
        T40_1 = T39_1;
        T40_2 = T39_2;
        T40_3 = T39_3;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T41_0 = T40_0;
      T41_1 = T40_1;
      T41_2 = T40_2;
      T41_3 = T40_3;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    failureF42 = T41_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    keyF43 = T41_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    valueF44 = T41_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    key_optionsF45 = T41_3;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF42 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T52 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T53 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T52, IKJkey_options_);
      T54 = T53;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      keyF46 = CONGRUENT_CALL1(keyF43);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
      valueF47 = CONGRUENT_CALL1(valueF44);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T48 = CONGRUENT_CALL1(key_optionsF45);
      key_optionsF49 = Kkey_options_rewriterF354I(T48);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      T50 = CALL1(&Kfragment_valueVdfmc_reader, keyF46);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      CONGRUENT_CALL_PROLOG(&KasVKd, 2);
      T51 = CONGRUENT_CALL2(&KLsymbolGVKd, T50);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      T60 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      SLOT_VALUE_SETTER(valueF47, T60, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      SLOT_VALUE_SETTER(key_optionsF49, T60, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      T61 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      SLOT_VALUE_SETTER(T51, T61, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      SLOT_VALUE_SETTER(T60, T61, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:610
      T62_0 = T61;
      T54 = T62_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T55 = T54;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:606
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T55 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  return(T55);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  T20 = primitive_idQ(UfTU_,&KPempty_listVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  if (T20 != &KPfalseVKi) {
    failureF2 = &KPfalseVKi;
  } else {
    failureF2 = &KPtrueVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  if (failureF2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T4_0 = Kmatch_list_partVdfmc_macro_expanderI(UfTU_);
    T4_1 = MV_GET_ELT(1);
    T4_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    failureF5 = T4_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    UfT_afterUF6 = T4_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    UfT_beforeUF7 = T4_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF5 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T8_0 = failureF5;
      T8_1 = &KPfalseVKi;
      T8_2 = &KPfalseVKi;
      T9_0 = T8_0;
      T9_1 = T8_1;
      T9_2 = T8_2;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T21_0 = &KPfalseVKi;
      T21_1 = UfT_beforeUF7;
      T21_2 = UfT_afterUF6;
      T9_0 = T21_0;
      T9_1 = T21_1;
      T9_2 = T21_2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    failureF10 = T9_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    arg_ = T9_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    argsF12 = T9_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    if (failureF10 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T16 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T17 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(UfTU_, T16, IKJargs_);
      T18 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T13 = CONGRUENT_CALL1(arg_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      T22_0 = Kmatch_parensVdfmc_macro_expanderI(T13);
      T22_1 = MV_GET_ELT(1);
      T22_2 = MV_GET_ELT(2);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF23 = T22_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      Uafter_fTUF24 = T22_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      Unested_fTU_ = T22_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF23 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        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 {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T27_0 = Kmatch_list_part_strictVdfmc_macro_expanderI(Unested_fTU_);
        T27_1 = MV_GET_ELT(1);
        T27_2 = MV_GET_ELT(2);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF28 = T27_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        UfT_afterUF29 = T27_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        UfT_beforeUF30 = T27_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF28 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T32_0 = Kmatch_nameVdfmc_macro_expanderI(UfT_beforeUF30, IKJparameter_);
          T32_1 = MV_GET_ELT(1);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF33 = T32_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          UfTUF34 = T32_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF33 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T35_0 = failureF33;
            T35_1 = &KPfalseVKi;
            T35_2 = &KPfalseVKi;
            T55_0 = T35_0;
            T55_1 = T35_1;
            T55_2 = T35_2;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            failureF37 = T36_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Uafter_fTUF38 = T36_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Uname_fTU_ = T36_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            Utype_fTU_ = T36_3;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (failureF37 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T41_0 = failureF37;
              T41_1 = &KPfalseVKi;
              T41_2 = &KPfalseVKi;
              T54_0 = T41_0;
              T54_1 = T41_1;
              T54_2 = T41_2;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T42_0 = Kmatch_name_constraintVdfmc_macro_expanderI(Uname_fTU_);
              T42_1 = MV_GET_ELT(1);
              T42_2 = MV_GET_ELT(2);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF43 = T42_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              arg_nameF44 = T42_2;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF43 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T45_0 = failureF43;
                T45_1 = &KPfalseVKi;
                T45_2 = &KPfalseVKi;
                T53_0 = T45_0;
                T53_1 = T45_1;
                T53_2 = T45_2;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T46_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(Utype_fTU_);
                T46_1 = MV_GET_ELT(1);
                T46_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                failureF47 = T46_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                typeF48 = T46_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                if (failureF47 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T49_0 = failureF47;
                  T49_1 = &KPfalseVKi;
                  T49_2 = &KPfalseVKi;
                  T52_0 = T49_0;
                  T52_1 = T49_1;
                  T52_2 = T49_2;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T111 = primitive_idQ(Uafter_fTUF38,&KPempty_listVKi);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  if (T111 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T112_0 = &KPfalseVKi;
                    T112_1 = arg_nameF44;
                    T112_2 = typeF48;
                    T51_0 = T112_0;
                    T51_1 = T112_1;
                    T51_2 = T112_2;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T50_0 = &KPtrueVKi;
                    T50_1 = &KPfalseVKi;
                    T50_2 = &KPfalseVKi;
                    T51_0 = T50_0;
                    T51_1 = T50_1;
                    T51_2 = T50_2;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T52_0 = T51_0;
                  T52_1 = T51_1;
                  T52_2 = T51_2;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T53_0 = T52_0;
                T53_1 = T52_1;
                T53_2 = T52_2;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T54_0 = T53_0;
              T54_1 = T53_1;
              T54_2 = T53_2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T55_0 = T54_0;
            T55_1 = T54_1;
            T55_2 = T54_2;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          failureF56 = T55_0;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          arg_nameF57 = T55_1;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          typeF58 = T55_2;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (failureF56 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T60_0 = Kmatch_list_partVdfmc_macro_expanderI(UfT_afterUF29);
            T60_1 = MV_GET_ELT(1);
            T60_2 = MV_GET_ELT(2);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            failureF61 = T60_0;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            UfT_afterUF62 = T60_1;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            UfT_beforeUF63 = T60_2;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            if (failureF61 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              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 {
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T65_0 = Kmatch_literalVdfmc_macro_expanderI(UfT_beforeUF63, IKJcall_discipline_);
              T65_1 = MV_GET_ELT(1);
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF66 = T65_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              UfTUF67 = T65_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF66 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T68_0 = failureF66;
                T68_1 = &KPfalseVKi;
                T78_0 = T68_0;
                T78_1 = T68_1;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T69_0 = Kmatch_expression_constraintVdfmc_macro_expanderI(UfTUF67);
                T69_1 = MV_GET_ELT(1);
                T69_2 = MV_GET_ELT(2);
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                failureF70 = T69_0;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                UfTUF71 = T69_1;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                disciplineF72 = T69_2;
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                if (failureF70 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T73_0 = failureF70;
                  T73_1 = &KPfalseVKi;
                  T77_0 = T73_0;
                  T77_1 = T73_1;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
                  T74 = CONGRUENT_CALL1(UfTUF71);
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  if (T74 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T113_0 = &KPfalseVKi;
                    T113_1 = disciplineF72;
                    T76_0 = T113_0;
                    T76_1 = T113_1;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                    T75_0 = &KPtrueVKi;
                    T75_1 = &KPfalseVKi;
                    T76_0 = T75_0;
                    T76_1 = T75_1;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                  T77_0 = T76_0;
                  T77_1 = T76_1;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                T78_0 = T77_0;
                T78_1 = T77_1;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              failureF79 = T78_0;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              disciplineF80 = T78_1;
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              if (failureF79 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                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 {
                // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
                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;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
              T83_0 = T82_0;
              T83_1 = T82_1;
              T83_2 = T82_2;
              T83_3 = T82_3;
              T83_4 = T82_4;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            T84_0 = T83_0;
            T84_1 = T83_1;
            T84_2 = T83_2;
            T84_3 = T83_3;
            T84_4 = T83_4;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T85_0 = T84_0;
          T85_1 = T84_1;
          T85_2 = T84_2;
          T85_3 = T84_3;
          T85_4 = T84_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        failureF86 = T85_0;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        arg_nameF87 = T85_1;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        typeF88 = T85_2;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        disciplineF89 = T85_3;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        key_optionsF90 = T85_4;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        if (failureF86 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          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 {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T115 = primitive_idQ(Uafter_fTUF24,&KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          if (T115 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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 {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
            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;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
          T94_0 = T93_0;
          T94_1 = T93_1;
          T94_2 = T93_2;
          T94_3 = T93_3;
          T94_4 = T93_4;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T95_0 = T94_0;
        T95_1 = T94_1;
        T95_2 = T94_2;
        T95_3 = T94_3;
        T95_4 = T94_4;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      failureF96 = T95_0;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      arg_nameF97 = T95_1;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      typeF98 = T95_2;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      disciplineF99 = T95_3;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      key_optionsF100 = T95_4;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      if (failureF96 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T109 = Kdylan_variable_nameVdfmc_readerI(IKJmake_c_callable_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        T110 = Kmacro_aux_rule_match_errorVdfmc_macro_expanderI(T13, T109, IKJarg_);
        T118 = T110;
        T120 = T118;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        arg_nameF101 = CONGRUENT_CALL1(arg_nameF97);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        typeF102 = CONGRUENT_CALL1(typeF98);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kexport_fragment_tokensVdfmc_macro_expander, 1);
        disciplineF103 = CONGRUENT_CALL1(disciplineF99);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
        CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
        T104 = CONGRUENT_CALL1(key_optionsF100);
        key_optionsF105 = Kkey_options_rewriterF354I(T104);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:587
        T106 = CALL1(&Kfragment_valueVdfmc_reader, disciplineF103);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:587
        CONGRUENT_CALL_PROLOG(&KasVKd, 2);
        T107 = CONGRUENT_CALL2(&KLsymbolGVKd, T106);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:581
        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;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:581
        T108 = KapplyVKdI(&KmakeVKd, &T117);
        T119 = T108;
        T120 = T119;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
      CONGRUENT_CALL_PROLOG(&Kas_fragment_tokensVdfmc_macro_expander, 1);
      T14 = CONGRUENT_CALL1(argsF12);
      argsF15 = Kargs_rewriterF353I(T14);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:577
      T121 = primitive_object_allocate_filled(3,&KLpairGVKdW,2,&KPunboundVKi,0,0,&KPunboundVKi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:577
      SLOT_VALUE_SETTER(T120, T121, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:577
      SLOT_VALUE_SETTER(argsF15, T121, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:577
      T122_0 = T121;
      T18 = T122_0;
      MV_SET_COUNT(1);
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
    T19 = T18;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:575
    T3 = &KPempty_listVKi;
    MV_SET_ELT(0, &KPempty_listVKi);
    MV_SET_COUNT(1);
    T19 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:564
  return(T19);
}

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

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

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

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1039
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1042
  T43_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1042
  passed_on_ = T43_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1043
  T45_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1043
  output_ = T45_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1044
  T47_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1044
  all_ = T47_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T2 = CONGRUENT_CALL1(specs_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  T3 = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  T4 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  T5 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  T6 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  T7 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  T8T = T3;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
    T8 = T8T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
    T9 = CALL3(T6, specs_, T8, T4);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
    if (T9 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
      T10 = CALL2(T7, specs_, T8);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1046
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nom_ = CONGRUENT_CALL1(T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1047
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      designatorF12 = CONGRUENT_CALL1(T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1047
      designatorF38 = designatorF12;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1048
      T42 = designatorF38;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1048
      T49 = primitive_instanceQ(T42,&KLBdesignator_classGVdfmc_c_ffi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1048
      if (T49 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1049
        CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
        T13 = CONGRUENT_CALL1(T10);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1049
        T50 = KCtop_level_eval_typeVdfmc_conversionMM0I(T13, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1049
        T51 = T50;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1049
        designatorF38 = T51;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1050
        T41 = designatorF38;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1050
        T52 = primitive_instanceQ(T41,&KLBdesignator_classGVdfmc_c_ffi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1050
        if (T52 == &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1051
          CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
          T14 = CONGRUENT_CALL1(T10);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1052
          T15 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJc_callable_parameter_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1052
          T53.vector_element_[0] = T15;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1052
          T16 = Kmake_templateVdfmc_macro_expanderI(&T53);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1051
          CALL4(&Kgenerate_unresolved_designator_errorVdfmc_c_ffiMM0, T14, &K279, T16, &KPempty_listVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1053
          T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_voidTG_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1053
          T54.vector_element_[0] = T17;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1053
          T18 = Kmake_templateVdfmc_macro_expanderI(&T54);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1053
          T55 = KCtop_level_eval_typeVdfmc_conversionMM0I(T18, &KPempty_vectorVKi, &KPfalseVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1053
          T56 = T55;
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1053
          designatorF38 = T56;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1050
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1048
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1056
      T40 = designatorF38;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1056
      CONGRUENT_CALL_PROLOG(&KCraw_type_nameVdfmc_c_ffi, 1);
      raw_type_ = CONGRUENT_CALL1(T40);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1057
      T20 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1057
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T57 = CONGRUENT_CALL2(T20, &KJinput_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1057
      if (T57 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1058
        T39 = designatorF38;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1058
        T21 = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, T39);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1058
        if (T21 == &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1059
          T22 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1059
          CONGRUENT_CALL_PROLOG(&KEVKd, 2);
          T23 = CONGRUENT_CALL2(T22, &KJoutput_);
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1059
          if (T23 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1061
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T24 = CONGRUENT_CALL1(T10);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1061
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T25 = CONGRUENT_CALL1(T24);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1062
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T26 = CONGRUENT_CALL1(T10);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1063
            CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
            T27 = CONGRUENT_CALL1(T10);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1060
            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;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1060
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLoutput_parameter_not_a_pointerGVdfmc_c_ffi, &T58);
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1066
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T28 = CONGRUENT_CALL1(T10);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1066
            CONGRUENT_CALL_PROLOG(&Kfragment_source_locationVdfmc_reader, 1);
            T29 = CONGRUENT_CALL1(T28);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1067
            CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
            T30 = CONGRUENT_CALL1(T10);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1068
            CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
            T31 = CONGRUENT_CALL1(T10);
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1065
            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;
            // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1065
            CONGRUENT_CALL_PROLOG(&KnoteVdfmc_conditions, 2);
            CONGRUENT_CALL2(&KLinput_output_parameter_not_a_pointerGVdfmc_c_ffi, &T59);
          }
          // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1059
        }
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1058
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1071
        KaddXVKdMM3I(output_, T10);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1057
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      T32 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T60 = CONGRUENT_CALL2(T32, &KJoutput_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      if (T60 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1074
        KaddXVKdMM3I(passed_on_, T10);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1073
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1076
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T33 = CONGRUENT_CALL1(nom_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1076
      T34 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1076
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T35 = CONGRUENT_CALL1(raw_type_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1076
      T61.vector_element_[0] = T33;
      T61.vector_element_[1] = T34;
      T61.vector_element_[2] = T35;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1076
      T36 = Kmake_templateVdfmc_macro_expanderI(&T61);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1076
      KaddXVKdMM3I(all_, T36);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
      T37 = CALL2(T5, specs_, T8);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
      T8T = T37;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1045
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1078
  T62_0 = all_;
  T62_1 = passed_on_;
  T62_2 = output_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1039
  MV_SET_ELT(1, T62_1);
  MV_SET_ELT(2, T62_2);
  MV_SET_COUNT(3);
  return(T62_0);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:976
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:982
  T96_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:982
  binding_forms_ = T96_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:983
  T98_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:983
  pointer_setting_forms_ = T98_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
  T100_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:984
  return_value_binds_ = T100_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
  if (result_desc_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
    T3 = CALL1(&KvoidQVdfmc_c_ffi, result_desc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
    T102 = primitive_not(T3);
    T4 = T102;
  } else {
    T4 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:987
    CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
    nomF5 = CONGRUENT_CALL1(result_desc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:988
    CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
    typeF6 = CONGRUENT_CALL1(result_desc_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T7 = CONGRUENT_CALL1(nomF5);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    T8 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    T9 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
    T10 = CONGRUENT_CALL1(typeF6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    T103.vector_element_[0] = T10;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    T11 = KlistVKdI(&T103);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    T12 = Kmake_parens_fragmentVdfmc_macro_expanderI(T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    T104.vector_element_[0] = T7;
    T104.vector_element_[1] = T8;
    T104.vector_element_[2] = T9;
    T104.vector_element_[3] = T12;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:989
    form_ = Kmake_templateVdfmc_macro_expanderI(&T104);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:990
    KaddXVKdMM3I(return_value_binds_, form_);
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:986
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  T14 = CALL1(&Kforward_iteration_protocolVKd, output_parameters_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  T15 = T14;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  T16 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  T17 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  T18 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  T19 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  T20T = T15;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
    T20 = T20T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
    T21 = CALL3(T18, output_parameters_, T20, T16);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
    if (T21 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
      T22 = CALL2(T19, output_parameters_, T20);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:993
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      designatorF23 = CONGRUENT_CALL1(T22);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:993
      designatorF87 = designatorF23;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:994
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nomF24 = CONGRUENT_CALL1(T22);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:995
      CONGRUENT_CALL_PROLOG(&Kdesignator_nameVdfmc_c_ffi, 1);
      designator_nameF25 = CONGRUENT_CALL1(T22);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:995
      designator_nameF89 = designator_nameF25;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:996
      T93 = designator_nameF89;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:996
      typeF94 = T93;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:997
      T88 = designatorF87;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:997
      T26 = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, T88);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:997
      T105 = primitive_instanceQ(T26,&KLBdesignator_classGVdfmc_c_ffi);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:997
      if (T105 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:998
        T27 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_raw_intTG_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:998
        T106.vector_element_[0] = T27;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:998
        T28 = Kmake_templateVdfmc_macro_expanderI(&T106);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:998
        designator_nameF89 = T28;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:999
        T92 = designator_nameF89;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:999
        T107 = KCtop_level_eval_typeVdfmc_conversionMM0I(T92, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:999
        T108 = T107;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:999
        designatorF87 = T108;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1000
        T91 = designator_nameF89;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1000
        typeF94 = T91;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:997
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1002
      T109.vector_element_[0] = nomF24;
      T109.vector_element_[1] = &K337;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1002
      pointer_local_name_ = KgensymVdfmc_c_ffiMM0I(&T109);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1003
      T110.vector_element_[0] = nomF24;
      T110.vector_element_[1] = &K338;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1003
      return_value_local_name_ = KgensymVdfmc_c_ffiMM0I(&T110);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      T31 = Kmake_colon_colon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      T32 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJexport_type_for_reference_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      T95 = typeF94;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T33 = CONGRUENT_CALL1(T95);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      T111.vector_element_[0] = T33;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      T34 = KlistVKdI(&T111);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      T35 = Kmake_parens_fragmentVdfmc_macro_expanderI(T34);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      T112.vector_element_[0] = return_value_local_name_;
      T112.vector_element_[1] = T31;
      T112.vector_element_[2] = T32;
      T112.vector_element_[3] = T35;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1005
      return_value_local_bind_ = Kmake_templateVdfmc_macro_expanderI(&T112);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T37 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T38 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T39 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJmake_c_pointer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T90 = designator_nameF89;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T40 = CONGRUENT_CALL1(T90);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T41 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
      T42 = CONGRUENT_CALL1(nomF24);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T43 = CONGRUENT_CALL2(T41, T42);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T44 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T45 = Kmake_hash_lbracket_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T46 = Kmake_rbracket_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      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;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T47 = KlistVKdI(&T113);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T48 = Kmake_parens_fragmentVdfmc_macro_expanderI(T47);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      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;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1007
      T49 = Kmake_templateVdfmc_macro_expanderI(&T114);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1006
      KaddXVKdMM3I(binding_forms_, T49);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T50 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T52 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T53 = Kmake_equal_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T54 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_machine_word_equalQ_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T55 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_cast_pointer_as_raw_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T56 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_unwrap_c_pointer_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T115.vector_element_[0] = pointer_local_name_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T57 = KlistVKdI(&T115);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T58 = Kmake_parens_fragmentVdfmc_macro_expanderI(T57);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T116.vector_element_[0] = T56;
      T116.vector_element_[1] = T58;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T59 = KlistVKdI(&T116);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T60 = Kmake_parens_fragmentVdfmc_macro_expanderI(T59);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T61 = Kmake_comma_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T62 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T117 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((dylan_value) 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T118.vector_element_[0] = T117;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T63 = KlistVKdI(&T118);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T64 = Kmake_parens_fragmentVdfmc_macro_expanderI(T63);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      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;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T65 = KlistVKdI(&T119);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T66 = Kmake_parens_fragmentVdfmc_macro_expanderI(T65);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T67 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T68 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T69 = Kmake_unary_operator_fragmentVdfmc_macro_expanderI(IKJN_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T70 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T120.vector_element_[0] = T69;
      T120.vector_element_[1] = T70;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T71 = KlistVKdI(&T120);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T72 = Kmake_parens_fragmentVdfmc_macro_expanderI(T71);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T73 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T121.vector_element_[0] = pointer_local_name_;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T74 = KlistVKdI(&T121);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T75 = Kmake_parens_fragmentVdfmc_macro_expanderI(T74);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T76 = Kmake_binary_operator_fragmentVdfmc_macro_expanderI(IKJZ58ZE_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
      T77 = CONGRUENT_CALL2(T76, return_value_local_name_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T78 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T79 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T80 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T81 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T82 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      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;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1012
      T83 = Kmake_templateVdfmc_macro_expanderI(&T122);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1011
      KaddXVKdMM3I(pointer_setting_forms_, T83);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1021
      KaddXVKdMM3I(return_value_binds_, return_value_local_bind_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
      T84 = CALL2(T17, output_parameters_, T20);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
      T20T = T84;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:992
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1023
  T85 = Ktemplate_sequence_to_templateVdfmc_c_ffiMM0I(binding_forms_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1025
  T86 = Ktemplate_sequence_to_templateVdfmc_c_ffiMM0I(pointer_setting_forms_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1023
  T123_0 = T85;
  T123_1 = return_value_binds_;
  T123_2 = T86;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:976
  MV_SET_ELT(1, T123_1);
  MV_SET_ELT(2, T123_2);
  MV_SET_COUNT(3);
  return(T123_0);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:935
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
  T93_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:938
  box_forms_ = T93_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T2 = CONGRUENT_CALL1(parameters_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  T3 = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  T4 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  T5 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  T6 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  T7 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  T8T = T3;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
    T8 = T8T;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
    T9 = CALL3(T6, parameters_, T8, T4);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
    if (T9 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
      T10 = CALL2(T7, parameters_, T8);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:940
      CONGRUENT_CALL_PROLOG(&KnameVdfmc_common, 1);
      nom_ = CONGRUENT_CALL1(T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:941
      CONGRUENT_CALL_PROLOG(&Kmodel_typeVdfmc_c_ffi, 1);
      designatorF12 = CONGRUENT_CALL1(T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:941
      designatorF88 = designatorF12;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:942
      T13 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:942
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T14 = CONGRUENT_CALL2(T13, IKJin_out_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:942
      if (T14 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:943
        T92 = designatorF88;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:943
        T15 = CALL1(&KCreferenced_typeVdfmc_c_ffiMM0, T92);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:943
        T95 = primitive_instanceQ(T15,&KLBdesignator_classGVdfmc_c_ffi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:943
        T96 = primitive_not(T95);
        T16 = T96;
      } else {
        T16 = &KPfalseVKi;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:942
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:942
      if (T16 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:944
        T17 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJLc_raw_intTG_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:944
        T97.vector_element_[0] = T17;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:944
        T18 = Kmake_templateVdfmc_macro_expanderI(&T97);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:944
        T98 = KCtop_level_eval_typeVdfmc_conversionMM0I(T18, &KPempty_vectorVKi, &KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:944
        T99 = T98;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:944
        designatorF88 = T99;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:942
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:946
      T91 = designatorF88;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:946
      low_type_ = CALL1(&KClow_level_typeVdfmc_c_ffiMM0, T91);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:947
      T90 = designatorF88;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:947
      boxer_ = CALL1(&KCboxer_function_nameVdfmc_c_ffiMM0, T90);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:948
      T89 = designatorF88;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:948
      import_ = CALL1(&KCimport_functionVdfmc_c_ffiMM0, T89);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:949
      if (import_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T22 = CONGRUENT_CALL1(import_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T23 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T24 = CONGRUENT_CALL1(low_type_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T25 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T26 = CONGRUENT_CALL1(nom_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T27 = CONGRUENT_CALL2(T25, T26);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T28 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T29 = CONGRUENT_CALL1(boxer_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T30 = CONGRUENT_CALL2(T28, T29);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T100.vector_element_[0] = T24;
        T100.vector_element_[1] = T27;
        T100.vector_element_[2] = T30;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T31 = KlistVKdI(&T100);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T32 = Kmake_parens_fragmentVdfmc_macro_expanderI(T31);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T101.vector_element_[0] = T23;
        T101.vector_element_[1] = T32;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T33 = KlistVKdI(&T101);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T34 = Kmake_parens_fragmentVdfmc_macro_expanderI(T33);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T102.vector_element_[0] = T22;
        T102.vector_element_[1] = T34;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:950
        T35 = Kmake_templateVdfmc_macro_expanderI(&T102);
        form_ = T35;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T36 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJboxer_for_designator_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T37 = CONGRUENT_CALL1(low_type_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T38 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T39 = CONGRUENT_CALL1(nom_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T40 = CONGRUENT_CALL2(T38, T39);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T41 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T42 = CONGRUENT_CALL1(boxer_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        CONGRUENT_CALL_PROLOG(&Kmaybe_substitute_separatorVdfmc_macro_expander, 2);
        T43 = CONGRUENT_CALL2(T41, T42);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T103.vector_element_[0] = T37;
        T103.vector_element_[1] = T40;
        T103.vector_element_[2] = T43;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T44 = KlistVKdI(&T103);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T45 = Kmake_parens_fragmentVdfmc_macro_expanderI(T44);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T104.vector_element_[0] = T36;
        T104.vector_element_[1] = T45;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:955
        T46 = Kmake_templateVdfmc_macro_expanderI(&T104);
        form_ = T46;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:949
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:957
      T48 = CALL1(&Kcall_disciplineVdfmc_c_ffi, T10);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:957
      CONGRUENT_CALL_PROLOG(&KEVKd, 2);
      T49 = CONGRUENT_CALL2(T48, IKJin_out_);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:957
      if (T49 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T50 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T51 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T52 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJptr_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T53 = Kmake_equal_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        CONGRUENT_CALL_PROLOG(&Kimport_to_templateVdfmc_macro_expander, 1);
        T54 = CONGRUENT_CALL1(form_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T55 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T56 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJlet_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T57 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T58 = Kmake_equal_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T59 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_machine_word_equalQ_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T60 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_cast_pointer_as_raw_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T61 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJprimitive_unwrap_c_pointer_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T62 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJptr_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T105.vector_element_[0] = T62;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T63 = KlistVKdI(&T105);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T64 = Kmake_parens_fragmentVdfmc_macro_expanderI(T63);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T106.vector_element_[0] = T61;
        T106.vector_element_[1] = T64;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T65 = KlistVKdI(&T106);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T66 = Kmake_parens_fragmentVdfmc_macro_expanderI(T65);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T67 = Kmake_comma_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T68 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJinteger_as_raw_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T107 = Kmake_literal_fragmentVdfmc_macro_expanderMM1I((dylan_value) 1);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T108.vector_element_[0] = T107;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T69 = KlistVKdI(&T108);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T70 = Kmake_parens_fragmentVdfmc_macro_expanderI(T69);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        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;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T71 = KlistVKdI(&T109);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T72 = Kmake_parens_fragmentVdfmc_macro_expanderI(T71);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T73 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T74 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJif_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T75 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJnullQ_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T110.vector_element_[0] = T75;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T76 = KlistVKdI(&T110);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T77 = Kmake_parens_fragmentVdfmc_macro_expanderI(T76);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T111 = Kmake_literal_fragmentVdfmc_macro_expanderMM4I(&KPfalseVKi);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T78 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJelse_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T79 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJpointer_value_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T80 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJptr_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T112.vector_element_[0] = T80;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T81 = KlistVKdI(&T112);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T82 = Kmake_parens_fragmentVdfmc_macro_expanderI(T81);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T83 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T84 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        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;
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:959
        T85 = Kmake_templateVdfmc_macro_expanderI(&T113);
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:958
        KaddXVKdMM3I(box_forms_, T85);
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:969
        KaddXVKdMM3I(box_forms_, form_);
      }
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:957
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
      T86 = CALL2(T5, parameters_, T8);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
      T8T = T86;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:939
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:972
  T87_0 = box_forms_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:935
  MV_SET_COUNT(1);
  return(T87_0);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1028
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1030
  CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
  T2 = CONGRUENT_CALL1(seq_);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1030
  if (T2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
    T3 = Kmake_name_fragmentVdfmc_macro_expanderI(IKJbegin_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
    T4 = Kmake_name_fragmentVdfmc_macro_expanderI(&KJend_);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
    T10.vector_element_[0] = T3;
    T10.vector_element_[1] = T4;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
    T5_0 = Kmake_templateVdfmc_macro_expanderI(&T10);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1031
    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 {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1033
    T6 = Kmake_semicolon_fragmentVdfmc_macro_expanderI();
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1033
    CONGRUENT_CALL_PROLOG(&Ksubstitute_sequence_separatedVdfmc_macro_expander, 2);
    T7 = CONGRUENT_CALL2(seq_, T6);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1033
    T11.vector_element_[0] = T7;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1033
    T8_0 = Kmake_templateVdfmc_macro_expanderI(&T11);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1033
    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;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1030
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:1028
  MV_SET_COUNT(1);
  return(T9_0);
}

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  T2_0 = Kmatch_end_of_modifiersVdfmc_macro_expanderI(UfTU_);
  T2_1 = MV_GET_ELT(1);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  failureF3 = T2_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  UfTUF4 = T2_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  if (failureF3 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    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 {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    T6_0 = Kmatch_name_constraintVdfmc_macro_expanderI(UfTUF4);
    T6_1 = MV_GET_ELT(1);
    T6_2 = MV_GET_ELT(2);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    failureF7 = T6_0;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    UfTUF8 = T6_1;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    dylan_nameF9 = T6_2;
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    if (failureF7 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      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 {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      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;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    T12_0 = T11_0;
    T12_1 = T11_1;
    T12_2 = T11_2;
    T12_3 = T11_3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  failureF13 = T12_0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  mods_ = T12_1;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  dylan_nameF15 = T12_2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  spec_ = T12_3;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  if (failureF13 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    T24 = primitive_idQ(UfTU_,&KPempty_listVKi);
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    if (T24 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      T17 = &KPtrueVKi;
      MV_SET_ELT(0, &KPtrueVKi);
      MV_SET_COUNT(1);
      T21 = T17;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      T25 = SLOT_VALUE_INITD(UfTU_, 0);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      T26.vector_element_[0] = T25;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      T18 = KlistVKdI(&T26);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      T27.vector_element_[0] = T18;
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      CONGRUENT_CALL_PROLOG(&KconcatenateXYcommon_extensionsVcommon_dylan, 2);
      T19 = CONGRUENT_CALL2(UcollectorU_, &T27);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      T28 = SLOT_VALUE_INITD(UfTU_, 1);
      // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
      T20 = CALL2(&KUwildcard_loopUF376, T19, T28);
      T21 = T20;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    T22 = T21;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
    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;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  return(T22);
}

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

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:30
  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;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:30
  MV_SET_COUNT(1);
  return(T9_0);
}

dylan_value KLc_ffi_result_descriptorGZ32ZconstructorVdfmc_c_ffiMM0I (dylan_value class_, dylan_value init_args_, dylan_value Uunique_name_, dylan_value Uunique_designator_name_, dylan_value Uunique_voidQ_, dylan_value Uunique_error_resultQ_) {
  dylan_value T7;
  dylan_value Uunique_voidQF8;
  dylan_value Uunique_error_resultQF9;
  dylan_value T10_0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:21
  T7 = primitive_object_allocate_filled(6,&KLc_ffi_result_descriptorGVdfmc_c_ffiW,5,&KPunboundVKi,0,0,&KPunboundVKi);
  SLOT_VALUE_SETTER(Uunique_name_, T7, 0);
  SLOT_VALUE_SETTER(Uunique_designator_name_, T7, 1);
  SLOT_VALUE_SETTER(&KPunboundVKi, T7, 2);
  primitive_type_check(Uunique_voidQ_, &KLbooleanGVKd);
  Uunique_voidQF8 = Uunique_voidQ_;
  SLOT_VALUE_SETTER(Uunique_voidQF8, T7, 3);
  primitive_type_check(Uunique_error_resultQ_, &KLbooleanGVKd);
  Uunique_error_resultQF9 = Uunique_error_resultQ_;
  SLOT_VALUE_SETTER(Uunique_error_resultQF9, T7, 4);
  APPLY2(&KinitializeVKd, T7, init_args_);
  T10_0 = T7;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:21
  MV_SET_COUNT(1);
  return(T10_0);
}


/* SYSTEM INIT CODE */

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

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

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

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

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

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

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

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

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

    T0 = KPresolve_symbolVKiI(&KJc_name_);
    if (T0 != &KJc_name_) {
      IKJc_name_ = T0;
      primitive_repeated_slot_value_setter(T0, &K138, 1, 1);
    }
  }
  {
    dylan_value T0;

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

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

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

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

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

    T0 = KPresolve_symbolVKiI(&KJinput_adjectiveQ_);
    if (T0 != &KJinput_adjectiveQ_) {
      primitive_repeated_slot_value_setter(T0, &K128, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K127, 1, 0);
      IKJinput_adjectiveQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJoutput_adjectiveQ_);
    if (T0 != &KJoutput_adjectiveQ_) {
      primitive_repeated_slot_value_setter(T0, &K128, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K127, 1, 2);
      IKJoutput_adjectiveQ_ = T0;
    }
  }
  {
    dylan_value T0;

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

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

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

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

    T0 = KPresolve_symbolVKiI(&KJerror_result_);
    if (T0 != &KJerror_result_) {
      IKJerror_result_ = T0;
    }
  }
  {
    dylan_value T0;

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

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

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

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

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

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

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

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

    T0 = KPresolve_symbolVKiI(&KJcall_discipline_);
    if (T0 != &KJcall_discipline_) {
      primitive_repeated_slot_value_setter(T0, &K389, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K388, 1, 4);
      IKJcall_discipline_ = T0;
      primitive_slot_value_setter(T0, &Kcall_disciplineVdfmc_c_ffiHLc_ffi_argument_descriptorG, 3);
    }
  }
  {
    dylan_value T0;

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

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

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

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

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

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

    T0 = KPresolve_symbolVKiI(&KJdesignator_name_);
    if (T0 != &KJdesignator_name_) {
      primitive_repeated_slot_value_setter(T0, &K400, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K399, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K389, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K388, 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);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJerror_resultQ_);
    if (T0 != &KJerror_resultQ_) {
      primitive_slot_value_setter(T0, &Kerror_resultQVdfmc_c_ffiHLc_ffi_result_descriptorG, 3);
      primitive_repeated_slot_value_setter(T0, &K400, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K399, 1, 6);
      IKJerror_resultQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJvoidQ_);
    if (T0 != &KJvoidQ_) {
      primitive_repeated_slot_value_setter(T0, &K400, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K399, 1, 4);
      primitive_slot_value_setter(T0, &KvoidQVdfmc_c_ffiHLc_ffi_result_descriptorG, 3);
      IKJvoidQ_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJname_symbol_);
    if (T0 != &KJname_symbol_) {
      primitive_repeated_slot_value_setter(T0, &K142, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K138, 1, 0);
    }
  }
  {
    dylan_value T0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  // /home/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:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:30
  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 () {
{
  dylan_value T0;

  // /home/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:

{
  dylan_value T0;

  // /home/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:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:31
  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:

{
  dylan_value T0;

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 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;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:87
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJc_function_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Kc_function_definer_expanderVdfmc_c_ffiMM0);
  goto I14;
}
I14:

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

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  T2.vector_element_[0] = IKJword_class_;
  T2.vector_element_[1] = (dylan_value) 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;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLsuffixed_macro_descriptorGVdfmc_macro_expander, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:648
  T1 = Kdo_define_core_macroVdfmc_definitionsMM0I(IKJc_callable_wrapper_definer_, &KPfalseVKi, &KPfalseVKi, T0, &Kc_callable_wrapper_definer_expanderVdfmc_c_ffiMM0);
  goto I26;
}
I26:

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:693
  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] = &K266;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:693
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLoptionGVdfmc_definitions, &T2);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:693
  Lc_parameter_c_name_optionGVdfmc_c_ffi = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:693
  T1 = &KPfalseVKi;
  goto I30;
}
I30:

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

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

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  T4.vector_element_[0] = IKJsyntax_;
  T4.vector_element_[1] = &KJinput_;
  T4.vector_element_[2] = &KJvalue_;
  T4.vector_element_[3] = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLproperty_valueGVdfmc_definitions, &T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  T5.vector_element_[0] = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  T1 = KlistVKdI(&T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  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_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T2 = CONGRUENT_CALL2(&KLpropertyGVdfmc_definitions, &T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  Linput_adjective_propertyGVdfmc_c_ffi = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:700
  T3 = &KPfalseVKi;
  goto I40;
}
I40:

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

  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  T4.vector_element_[0] = IKJsyntax_;
  T4.vector_element_[1] = &KJoutput_;
  T4.vector_element_[2] = &KJvalue_;
  T4.vector_element_[3] = &KPtrueVKi;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLproperty_valueGVdfmc_definitions, &T4);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  T5.vector_element_[0] = T0;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  T1 = KlistVKdI(&T5);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  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_;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T2 = CONGRUENT_CALL2(&KLpropertyGVdfmc_definitions, &T6);
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  Loutput_adjective_propertyGVdfmc_c_ffi = T2;
  // /home/bruce/Development/dylan/opendylan/sources/dfmc/c-ffi/c-function-macro.dylan:704
  T3 = &KPfalseVKi;
  goto I44;
}
I44:

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

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

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

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

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

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

  return;
}


/* eof */
