#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 instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

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

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value domain_library_;
  dylan_value domain_next_;
  dylan_value domain_method_;
} _KLmethod_domainGVKe;

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;
  dylan_value xep_;
} _KLfunctionGVKd;

typedef struct {
  dylan_value wrapper;
} _KLintegerGVKd;

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 xep_;
  dylan_value function_signature_;
  dylan_value mep_;
} _KLsimple_methodGVKe;

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

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

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 xep_;
  dylan_value function_signature_;
  dylan_value mep_;
  dylan_value iep_;
  dylan_value keyword_specifiers_;
} _KLkeyword_methodGVKe;

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

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 instanceQ_iep_;
  dylan_value union_type1_;
  dylan_value union_type2_;
} _KLunionGVKe;

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

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

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

typedef struct {
  dylan_value wrapper;
} _KLbyte_characterGVKe;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLmethod_domainGVKe;
extern _KLmm_wrapperGVKi_0 KLmethod_domainGVKeW;
extern _KLlibraryGVKe Kdylan_libraryYdylan_userVdylan;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
dylan_value Kelement_range_errorVKeI (dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLsimple_methodGVKe KEEVKd;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
dylan_value KmakeVKdMM13I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
dylan_value KelementVKdMM3I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kunsupplied_objectVKi;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLincremental_generic_functionGVKe KAVKd;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLsymbolGVKd KJtest_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLsymbolGVKd KJcount_;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_16 KDsignature_Lbyte_stringG_typesVKi;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value x_, dylan_value u_);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value x_, dylan_value s_);
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
dylan_value Kconcatenate_asVKdMM1I (dylan_value, dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe KsizeVKd;
dylan_value KmakeVKdMM33I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLsimple_methodGVKe Kconcatenate_asVKdMM0;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
dylan_value Kcheck_start_compute_endVKeMM0I (dylan_value, dylan_value, dylan_value);
extern _KLsymbolGVKd KJstart_;
extern _KLsymbolGVKd KJend_;
extern _KLmethod_domainGVKe Kcopy_sequenceVKdRD_dylanRD_2;
extern _KLmethod_domainGVKe KmemberQVKdRD_dylanRD_2;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LfunctionG_typesVKi;
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;
extern _KLclassGVKd KLbyte_characterGVKe;
extern _KLmm_wrapperGVKi_0 KLbyte_characterGVKeW;

/* Defined object declarations */

extern _KLkeyword_methodGVKe KmemberQVKdMM3;
dylan_value KmemberQVKdMM3I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLmethod_domainGVKe KmemberQVKdRD_dylanRD_3;
extern _KLmethod_domainGVKe Kcopy_sequenceVKdRD_dylanRD_3;
extern _KLkeyword_methodGVKe Kcopy_sequenceVKdMM3;
dylan_value Kcopy_sequenceVKdMM3I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kconcatenate_asVKdMM3;
dylan_value Kconcatenate_asVKdMM3I (dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Ksubsequence_positionVKdMM2;
dylan_value Ksubsequence_positionVKdMM2I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLmethod_domainGVKe Ksubsequence_positionVKdRD_dylanRD_0;
static _KLkeyword_signatureAvaluesGVKi K11;
static _KLsimple_object_vectorGVKd_4 K12;
static _KLsimple_object_vectorGVKd_2 K13;
static _KLsimple_object_vectorGVKd_2 K14;
static _KLsimple_object_vectorGVKd_1 K15;
static _KLunionGVKe K16;
static _KLsingletonGVKd K17;
static _KLpairGVKd K18;
static _KLsignatureAvaluesGVKi K19;
static _KLsimple_object_vectorGVKd_2 K20;
static _KLsingletonGVKd K21;
static _KLkeyword_signatureAvaluesGVKi K22;
static _KLsimple_object_vectorGVKd_4 K23;
static _KLsimple_object_vectorGVKd_2 K24;
static _KLsimple_object_vectorGVKd_2 K25;
static _KLkeyword_signatureAvaluesGVKi K26;
static _KLsimple_object_vectorGVKd_2 K27;
static _KLsimple_object_vectorGVKd_2 K28;
static _KLsimple_object_vectorGVKd_1 K29;

/* Indirection variables */


/* Variables */


/* Objects */

_KLkeyword_methodGVKe KmemberQVKdMM3 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K26,
  &key_mep_4,
  &KmemberQVKdMM3I,
  &K27
};

_KLmethod_domainGVKe KmemberQVKdRD_dylanRD_3 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Kdylan_libraryYdylan_userVdylan,
  &KmemberQVKdRD_dylanRD_2,
  &KmemberQVKdMM3
};

_KLmethod_domainGVKe Kcopy_sequenceVKdRD_dylanRD_3 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Kdylan_libraryYdylan_userVdylan,
  &Kcopy_sequenceVKdRD_dylanRD_2,
  &Kcopy_sequenceVKdMM3
};

_KLkeyword_methodGVKe Kcopy_sequenceVKdMM3 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K22,
  &key_mep_4,
  &Kcopy_sequenceVKdMM3I,
  &K23
};

_KLsimple_methodGVKe Kconcatenate_asVKdMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &rest_xep_2,
  &K19,
  &Kconcatenate_asVKdMM3I
};

_KLkeyword_methodGVKe Ksubsequence_positionVKdMM2 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K11,
  &key_mep_5,
  &Ksubsequence_positionVKdMM2I,
  &K12
};

_KLmethod_domainGVKe Ksubsequence_positionVKdRD_dylanRD_0 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Kdylan_libraryYdylan_userVdylan,
  &KPfalseVKi,
  &Ksubsequence_positionVKdMM2
};

static _KLkeyword_signatureAvaluesGVKi K11 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817609,
  &KDsignature_Lbyte_stringG_typesVKi,
  &K13,
  &K14,
  &K15
};

static _KLsimple_object_vectorGVKd_4 K12 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJtest_,
  &KEEVKd,
  &KJcount_,
  (dylan_value) 5
};

static _KLsimple_object_vectorGVKd_2 K13 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJtest_,
  &KJcount_
};

static _KLsimple_object_vectorGVKd_2 K14 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLfunctionGVKd,
  &KLintegerGVKd
};

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

static _KLunionGVKe K16 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K17,
  &KLintegerGVKd
};

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

static _KLpairGVKd K18 = {
  &KLpairGVKdW /* wrapper */,
  &Kconcatenate_asVKdMM0,
  &KPempty_listVKi
};

static _KLsignatureAvaluesGVKi K19 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 38798345,
  &K20,
  &KDsignature_Lbyte_stringG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K20 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &K21,
  &KLbyte_stringGVKd
};

static _KLsingletonGVKd K21 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KLbyte_stringGVKd
};

static _KLkeyword_signatureAvaluesGVKi K22 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817605,
  &KDsignature_Lbyte_stringG_typesVKi,
  &K24,
  &K25,
  &KDsignature_Lbyte_stringG_typesVKi
};

static _KLsimple_object_vectorGVKd_4 K23 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJstart_,
  (dylan_value) 1,
  &KJend_,
  &KPunboundVKi
};

static _KLsimple_object_vectorGVKd_2 K24 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJstart_,
  &KJend_
};

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

static _KLkeyword_signatureAvaluesGVKi K26 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33817609,
  &K28,
  &K29,
  &KDsignature_LfunctionG_typesVKi,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K27 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJtest_,
  &KEEVKd
};

static _KLsimple_object_vectorGVKd_2 K28 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLbyte_characterGVKe,
  &KLbyte_stringGVKd
};

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

/* Code */

dylan_value KmemberQVKdMM3I (dylan_value ch_, dylan_value big_, dylan_value Urest_, dylan_value test_) {
  dylan_value testF5;
  DWORD keyF6T, keyF6;
  dylan_value T7_0;
  dylan_value T8_0;
  dylan_value T9_0;
  DWORD keyF10T, keyF10;
  dylan_value T11;
  dylan_value T12_0;
  dylan_value T13_0;
  dylan_value T14_0;
  dylan_value T15_0;
  dylan_value T16;
  dylan_value T17;
  DWORD T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21_0;
  dylan_value T22;
  DBCHR T23;
  dylan_value T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27;
  DWORD T28;
  DWORD T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32_0;
  dylan_value T33;
  DBCHR T34;
  dylan_value T35;
  dylan_value T36;
  dylan_value T37;
  DWORD T38;

  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:12
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:12
  primitive_type_check(test_, &KLfunctionGVKd);
  testF5 = test_;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:16
  T16 = SLOT_VALUE_INITD(big_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:17
  T17 = primitive_idQ(testF5,&KEEVKd);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:17
  if (T17 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
    keyF6T = 1;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
      keyF6 = keyF6T;
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
      T20 = primitive_cast_raw_as_integer(keyF6);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
      T18 = primitive_cast_integer_as_raw(T16);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
      T19 = primitive_machine_word_less_thanQ(keyF6,T18);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
      if (T19 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
        T22 = primitive_machine_word_unsigned_less_thanQ(keyF6,T18);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
        if (T22 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
          T23 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, keyF6);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
          T24 = primitive_raw_as_byte_character(T23);
          T26 = T24;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
          T21_0 = Kelement_range_errorVKeI(big_, T20);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
          T25 = T21_0;
          T26 = T25;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:19
        T27 = primitive_idQ(T26,ch_);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
        if (T27 == &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
          T28 = primitive_machine_word_add_signal_overflow(keyF6,4);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
          keyF6T = T28;
          goto L0;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:21
      if (T19 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:21
        T7_0 = &KPtrueVKi;
        T9_0 = T7_0;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:21
        T8_0 = &KPfalseVKi;
        T9_0 = T8_0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:21
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:18
    T15_0 = T9_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
    keyF10T = 1;
  L1: ;
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
      keyF10 = keyF10T;
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
      T31 = primitive_cast_raw_as_integer(keyF10);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
      T29 = primitive_cast_integer_as_raw(T16);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
      T30 = primitive_machine_word_less_thanQ(keyF10,T29);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
      if (T30 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
        T33 = primitive_machine_word_unsigned_less_thanQ(keyF10,T29);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
        if (T33 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
          T34 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, keyF10);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
          T35 = primitive_raw_as_byte_character(T34);
          T37 = T35;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
          T32_0 = Kelement_range_errorVKeI(big_, T31);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
          T36 = T32_0;
          T37 = T36;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:25
        T11 = CALL2(testF5, T37, ch_);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
        if (T11 == &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
          T38 = primitive_machine_word_add_signal_overflow(keyF10,4);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
          keyF10T = T38;
          goto L1;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:27
      if (T30 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:27
        T12_0 = &KPtrueVKi;
        T14_0 = T12_0;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:27
        T13_0 = &KPfalseVKi;
        T14_0 = T13_0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:27
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:24
    T15_0 = T14_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:17
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:12
  MV_SET_COUNT(1);
  return(T15_0);
}

dylan_value Kcopy_sequenceVKdMM3I (dylan_value source_, dylan_value Urest_, dylan_value first_, dylan_value last_) {
  dylan_value firstF5;
  dylan_value T6;
  dylan_value lastF7;
  dylan_value T8;
  DSINT T9;
  dylan_value T10_0;
  dylan_value T11;
  dylan_value T12;
  DWORD T13;
  DWORD T14;
  DWORD T15;
  DWORD T16;
  dylan_value T17;
  dylan_value T18;
  DWORD T19;
  DWORD T20;
  DWORD T21;

  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:127
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:127
  primitive_type_check(first_, &KLintegerGVKd);
  firstF5 = first_;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:127
  T11 = primitive_idQ(last_,&KPunboundVKi);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:127
  if (T11 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:129
    T12 = SLOT_VALUE_INITD(source_, 0);
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:127
    T6 = T12;
    lastF7 = T6;
  } else {
    lastF7 = last_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:127
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:131
  T8 = Kcheck_start_compute_endVKeMM0I(source_, firstF5, lastF7);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:132
  T13 = primitive_cast_integer_as_raw(T8);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:132
  T14 = primitive_cast_integer_as_raw(firstF5);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:132
  T15 = primitive_machine_word_logxor(T14,1);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:132
  T16 = primitive_machine_word_subtract_signal_overflow(T13,T15);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:132
  T17 = primitive_cast_raw_as_integer(T16);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:133
  T18 = KmakeVKdMM33I(&KLbyte_stringGVKd, &KPempty_vectorVKi, C(' '), T17);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:135
  T9 = primitive_repeated_slot_offset(T18);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:136
  T20 = primitive_cast_integer_as_raw(firstF5);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:136
  T19 = primitive_machine_word_shift_right(T20,2);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:137
  T21 = primitive_machine_word_shift_right(T16,2);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:134
  primitive_replace_bytesX(T18,T9,0,source_,2,T19,T21);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:138
  T10_0 = T18;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:127
  MV_SET_COUNT(1);
  return(T10_0);
}

dylan_value Kconcatenate_asVKdMM3I (dylan_value class_, dylan_value vector_, dylan_value more_vectors_) {
  dylan_value returnPexit_17_;
  dylan_value T5;
  dylan_value T6;
  DWORD T7T, T7;
  dylan_value T8;
  dylan_value sz_;
  dylan_value T10;
  DWORD i_T, i_;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  DSINT T15;
  DWORD T16T, T16;
  dylan_value v_;
  DSINT T18;
  DWORD T19;
  DSINT T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24_0;
  dylan_value T25_0;
  dylan_value T26;
  dylan_value total_sz_;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30;
  dylan_value num_non_empty_;
  dylan_value T32;
  dylan_value T33;
  DSINT result_index_;
  DWORD T35;
  DWORD T36;
  dylan_value T37;
  DWORD T38;
  dylan_value T39;
  dylan_value T40;
  DWORD T41;
  dylan_value T42;
  dylan_value T43;
  dylan_value T44;
  dylan_value T45;
  dylan_value T46;
  _KLsimple_object_vectorGVKd_1 T47 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  dylan_value T48;
  DWORD T49;
  dylan_value T50;
  DWORD T51;
  DWORD T52;
  DWORD T53;
  DWORD T54;
  dylan_value T55;
  DWORD T56;
  DWORD T57;
  dylan_value T58;
  DWORD T59;
  dylan_value T60;
  dylan_value T61;
  dylan_value T62;
  DWORD T63;
  dylan_value T64;
  dylan_value T65;
  dylan_value T66;
  dylan_value T67;
  DWORD T68;
  dylan_value T69;
  dylan_value result_;
  DWORD T71;
  DWORD T72;
  dylan_value T73;
  dylan_value T74;
  dylan_value T75;
  DWORD T76;
  DWORD T77;
  DWORD T78;

  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:145
  T26 = primitive_copy_vector(more_vectors_);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:148
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:149
  T37 = SLOT_VALUE_INITD(vector_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:149
  total_sz_ = T37;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:150
  T30 = total_sz_;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:150
  T38 = primitive_cast_integer_as_raw(T30);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:150
  T39 = primitive_machine_word_equalQ(T38,1);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:150
  if (T39 != &KPfalseVKi) {
    T6 = (dylan_value) 1;
  } else {
    T6 = (dylan_value) 5;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:150
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:150
  num_non_empty_ = T6;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
  T40 = SLOT_VALUE_INITD(T26, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
  T41 = primitive_cast_integer_as_raw(T40);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
  T7T = 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
    T7 = T7T;
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
    T42 = primitive_machine_word_equalQ(T7,T41);
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
    if (T42 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
      T43 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(T26, 1, T7);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:153
      T44 = primitive_instanceQ(T43,&KLbyte_stringGVKd);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:153
      if (T44 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:153
        MIEP_CALL_PROLOG(&K18);
        T45 = Kconcatenate_asVKdMM1I(class_, vector_, T26);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:153
        T46 = T45;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:153
        T47.vector_element_[0] = T46;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:148
        T48 = MV_SET_REST_AT(&T47, 0);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:148
        T24_0 = T48;
        goto L1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:153
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:154
      CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
      T8 = CONGRUENT_CALL1(T43);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:153
      sz_ = T8;
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:155
      T49 = primitive_cast_integer_as_raw(sz_);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:155
      T50 = primitive_machine_word_equalQ(T49,1);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:155
      if (T50 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:156
        T29 = total_sz_;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:156
        T51 = primitive_cast_integer_as_raw(T29);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:156
        T52 = primitive_cast_integer_as_raw(sz_);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:156
        T53 = primitive_machine_word_logxor(T52,1);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:156
        T54 = primitive_machine_word_add_signal_overflow(T51,T53);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:156
        T55 = primitive_cast_raw_as_integer(T54);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:156
        total_sz_ = T55;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:157
        T33 = num_non_empty_;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:157
        T56 = primitive_cast_integer_as_raw(T33);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:157
        T57 = primitive_machine_word_add_signal_overflow(T56,4);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:157
        T58 = primitive_cast_raw_as_integer(T57);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:157
        num_non_empty_ = T58;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:155
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
      T59 = primitive_machine_word_add_signal_overflow(T7,4);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
      T7T = T59;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:152
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:161
  T32 = num_non_empty_;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:161
  T60 = primitive_idQ(T32,(dylan_value) 1);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:161
  if (T60 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:162
    T61 = KmakeVKdMM33I(&KLbyte_stringGVKd, &KPempty_vectorVKi, C(' '), (dylan_value) 1);
    T23 = T61;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:161
    T62 = primitive_idQ(T32,(dylan_value) 5);
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:161
    if (T62 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:163
      T63 = primitive_cast_integer_as_raw(T37);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:163
      T64 = primitive_machine_word_less_thanQ(1,T63);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:163
      if (T64 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:163
        T10 = vector_;
        MV_SET_ELT(0, vector_);
        MV_SET_COUNT(1);
        T14 = T10;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
        i_T = 1;
      L2: ;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
          i_ = i_T;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
          T66 = primitive_cast_raw_as_integer(i_);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
          T65 = primitive_machine_word_less_thanQ(i_,T41);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
          if (T65 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:166
            T67 = KelementVKdMM3I(T26, T66, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:166
            CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
            T12 = CONGRUENT_CALL1(T67);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:166
            CONGRUENT_CALL_PROLOG(&KEVKd, 2);
            T13 = CONGRUENT_CALL2(T12, (dylan_value) 1);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
            if (T13 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
              T68 = primitive_machine_word_add_signal_overflow(i_,4);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
              i_T = T68;
              goto L2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
          }
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:166
          T69 = KelementVKdMM3I(T26, T66, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:165
        T14 = T69;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:163
      T22 = T14;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:169
      T28 = total_sz_;
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:169
      result_ = KmakeVKdMM33I(&KLbyte_stringGVKd, &KPempty_vectorVKi, C(' '), T28);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:170
      T72 = primitive_cast_integer_as_raw(T37);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:170
      T71 = primitive_machine_word_shift_right(T72,2);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:172
      T15 = primitive_repeated_slot_offset(result_);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:171
      primitive_replace_bytesX(result_,T15,0,vector_,2,0,T71);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:171
      result_index_ = T71;
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
      T16T = 1;
    L3: ;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
        T16 = T16T;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
        T73 = primitive_machine_word_equalQ(T16,T41);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
        if (T73 == &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
          T74 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(T26, 1, T16);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
          v_ = T74;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:176
          T75 = SLOT_VALUE_INITD(v_, 0);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:176
          T77 = primitive_cast_integer_as_raw(T75);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:176
          T76 = primitive_machine_word_shift_right(T77,2);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:178
          T18 = primitive_repeated_slot_offset(result_);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:177
          T36 = result_index_;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:177
          primitive_replace_bytesX(result_,T18,T36,v_,2,0,T76);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:180
          T35 = result_index_;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:180
          T19 = primitive_machine_word_add(T35,T76);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:180
          T20 = T19;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:180
          result_index_ = T20;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
          T78 = primitive_machine_word_add_signal_overflow(T16,4);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
          T16T = T78;
          goto L3;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:175
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:182
      T21 = result_;
      MV_SET_ELT(0, result_);
      MV_SET_COUNT(1);
      T22 = T21;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:161
    T23 = T22;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:161
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:148
  T24_0 = T23;
  L1: ;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:148
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:145
  T25_0 = T24_0;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:145
  MV_SET_COUNT(1);
  return(T25_0);
}

dylan_value Ksubsequence_positionVKdMM2I (dylan_value big_, dylan_value pat_, dylan_value Urest_, dylan_value test_, dylan_value count_) {
  dylan_value testF6;
  dylan_value countF7;
  DWORD keyF8T, keyF8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11_0;
  dylan_value T12_0;
  dylan_value T13_0;
  DWORD keyF14T, keyF14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19_0;
  dylan_value T20_0;
  dylan_value T21_0;
  DWORD i_T, i_;
  dylan_value T23_0;
  dylan_value T24_0;
  dylan_value T25_0;
  dylan_value T26_0;
  dylan_value countF27;
  dylan_value T28;
  dylan_value T29;
  dylan_value T30;
  dylan_value T31;
  dylan_value T32;
  dylan_value T33;
  dylan_value T34;
  dylan_value T35;
  DWORD T36;
  DWORD T37;
  dylan_value T38;
  dylan_value T39_0;
  dylan_value T40;
  dylan_value T41_0;
  DWORD T42;
  dylan_value T43;
  DBCHR T44;
  dylan_value T45;
  dylan_value T46;
  dylan_value T47;
  DWORD T48;
  dylan_value T49;
  dylan_value T50;
  dylan_value T51_0;
  dylan_value T52;
  DBCHR T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  DWORD T57;
  DWORD T58;
  dylan_value T59;
  dylan_value T60;
  dylan_value T61;
  DWORD T62;
  dylan_value T63;
  dylan_value T64_0;
  DWORD T65;
  dylan_value T66;
  DBCHR T67;
  dylan_value T68;
  dylan_value T69;
  dylan_value T70;
  dylan_value T71_0;
  dylan_value T72;
  DBCHR T73;
  dylan_value T74;
  dylan_value T75;
  dylan_value T76;
  DWORD T77;
  DWORD T78;
  dylan_value T79;
  dylan_value T80;
  dylan_value T81_0;
  dylan_value T82;
  DBCHR T83;
  dylan_value T84;
  dylan_value T85;
  dylan_value T86;
  DWORD T87;
  dylan_value T88;
  dylan_value T89_0;
  dylan_value T90;
  DBCHR T91;
  dylan_value T92;
  dylan_value T93;
  dylan_value T94;
  DWORD T95;
  DWORD T96;
  dylan_value T97;
  dylan_value T98;
  dylan_value T99;
  DWORD 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;
  DWORD T109;
  dylan_value T110;
  dylan_value T111;
  DWORD T112;
  DWORD T113;
  dylan_value T114;
  DWORD indexF115;
  DWORD big_keyF116;
  DWORD pat_keyF117;
  DWORD countF118;
  DWORD T119;
  dylan_value T120;
  dylan_value T121_0;
  dylan_value T122;
  DBCHR T123;
  dylan_value T124;
  dylan_value T125;
  dylan_value T126;
  dylan_value T127_0;
  dylan_value T128;
  DBCHR T129;
  dylan_value T130;
  dylan_value T131;
  dylan_value T132;
  DWORD T133;
  DWORD T134;
  dylan_value T135;
  DWORD indexF136;
  DWORD big_keyF137;
  DWORD pat_keyF138;
  DWORD countF139;
  DWORD T140;
  dylan_value T141;
  DWORD indexF142T, indexF142;
  DWORD big_keyF143T, big_keyF143;
  DSINT pat_keyF144T, pat_keyF144;
  DWORD countF145T, countF145;
  dylan_value T146;
  dylan_value T147;
  dylan_value T148;
  DWORD T149;
  DWORD T150;
  DWORD T151;
  dylan_value T152;
  dylan_value T153_0;
  dylan_value T154;
  DBCHR T155;
  dylan_value T156;
  dylan_value T157;
  dylan_value T158;
  dylan_value T159_0;
  dylan_value T160;
  dylan_value T161;
  dylan_value T162;
  DWORD T163;
  DWORD T164;
  dylan_value T165;
  dylan_value T166_0;
  dylan_value T167;
  DBCHR T168;
  dylan_value T169;
  DBCHR T170;
  DWORD T171;
  DWORD T172;
  dylan_value T173;
  DSINT T174;
  dylan_value T175;
  DWORD T176;
  dylan_value T177;
  dylan_value T178;
  dylan_value T179;
  dylan_value T180;
  DWORD T181;
  DWORD T182;
  dylan_value T183;
  dylan_value T184_0;
  DWORD T185;
  dylan_value T186;
  DBCHR T187;
  dylan_value T188;
  DBCHR T189;
  dylan_value T190;
  DWORD T191;
  DWORD T192;
  DWORD T193;
  dylan_value T194;
  dylan_value T195;
  dylan_value T196;
  dylan_value T197;
  dylan_value T198;
  dylan_value T199;
  DWORD T200;
  DWORD T201;
  dylan_value T202;
  DWORD T203;
  dylan_value T204_0;
  dylan_value T205;
  DBCHR T206;
  dylan_value T207;
  dylan_value T208;
  dylan_value T209;
  dylan_value T210_0;
  dylan_value T211;
  DBCHR T212;
  dylan_value T213;
  dylan_value T214;
  dylan_value T215;
  dylan_value T216;
  DWORD T217;
  DWORD T218;
  dylan_value T219;
  DWORD indexF220T, indexF220;
  DWORD big_keyF221T, big_keyF221;
  DWORD pat_keyF222T, pat_keyF222;
  DWORD countF223T, countF223;
  DWORD T224;
  DWORD T225;
  dylan_value T226;
  dylan_value T227;
  dylan_value indexF228;
  dylan_value T229;
  DWORD countF230;
  dylan_value T231;
  dylan_value indexF232;
  DWORD countF233;
  DWORD T234;
  DWORD T235;
  dylan_value T236;
  DSINT T237;
  dylan_value T238;
  dylan_value T239;
  dylan_value T240;
  dylan_value indexF241T, indexF241;
  DWORD countF242T, countF242;
  dylan_value T243;
  DWORD T244;
  dylan_value T245;
  DWORD T246;
  dylan_value T247;

  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:36
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:36
  primitive_type_check(test_, &KLfunctionGVKd);
  testF6 = test_;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:36
  primitive_type_check(count_, &KLintegerGVKd);
  countF7 = count_;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:36
  countF27 = countF7;
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:40
  T33 = SLOT_VALUE_INITD(big_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:41
  T34 = SLOT_VALUE_INITD(pat_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
  T35 = primitive_idQ(T34,(dylan_value) 1);
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
  if (T35 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:45
    T32 = countF27;
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:45
    T36 = primitive_cast_integer_as_raw(T32);
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:45
    T37 = primitive_machine_word_subtract_signal_overflow(T36,4);
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:45
    T38 = primitive_cast_raw_as_integer(T37);
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:45
    T39_0 = T38;
    T26_0 = T39_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
    T40 = primitive_idQ(T34,(dylan_value) 5);
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
    if (T40 != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
      T42 = primitive_cast_integer_as_raw(T34);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
      T43 = primitive_machine_word_unsigned_less_thanQ(1,T42);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
      if (T43 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
        T44 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(pat_, 1, 1);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
        T45 = primitive_raw_as_byte_character(T44);
        T47 = T45;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
        T41_0 = Kelement_range_errorVKeI(pat_, (dylan_value) 1);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
        T46 = T41_0;
        T47 = T46;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:47
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
      keyF8T = 1;
    L0: ;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
        keyF8 = keyF8T;
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
        T50 = primitive_cast_raw_as_integer(keyF8);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
        T48 = primitive_cast_integer_as_raw(T33);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
        T49 = primitive_machine_word_less_thanQ(keyF8,T48);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
        if (T49 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
          T52 = primitive_machine_word_unsigned_less_thanQ(keyF8,T48);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
          if (T52 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T53 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, keyF8);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T54 = primitive_raw_as_byte_character(T53);
            T56 = T54;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T51_0 = Kelement_range_errorVKeI(big_, T50);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T55 = T51_0;
            T56 = T55;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
          T9 = CALL2(testF6, T56, T47);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
          if (T9 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T31 = countF27;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T57 = primitive_cast_integer_as_raw(T31);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T58 = primitive_machine_word_subtract_signal_overflow(T57,4);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T59 = primitive_cast_raw_as_integer(T58);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            countF27 = T59;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T61 = primitive_machine_word_less_thanQ(1,T58);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
            T60 = primitive_not(T61);
            T10 = T60;
          } else {
            T10 = &KPfalseVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:49
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
          if (T10 == &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
            T62 = primitive_machine_word_add_signal_overflow(keyF8,4);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
            keyF8T = T62;
            goto L0;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:51
        if (T49 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:51
          T11_0 = T50;
          T13_0 = T11_0;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:51
          T12_0 = &KPfalseVKi;
          T13_0 = T12_0;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:51
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:48
      T25_0 = T13_0;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
      T63 = primitive_idQ(T34,(dylan_value) 9);
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
      if (T63 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
        T65 = primitive_cast_integer_as_raw(T34);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
        T66 = primitive_machine_word_unsigned_less_thanQ(1,T65);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
        if (T66 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
          T67 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(pat_, 1, 1);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
          T68 = primitive_raw_as_byte_character(T67);
          T70 = T68;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
          T64_0 = Kelement_range_errorVKeI(pat_, (dylan_value) 1);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
          T69 = T64_0;
          T70 = T69;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:54
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:55
        T72 = primitive_machine_word_unsigned_less_thanQ(5,T65);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:55
        if (T72 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:55
          T73 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(pat_, 1, 5);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:55
          T74 = primitive_raw_as_byte_character(T73);
          T76 = T74;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:55
          T71_0 = Kelement_range_errorVKeI(pat_, (dylan_value) 5);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:55
          T75 = T71_0;
          T76 = T75;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:55
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
        T77 = primitive_cast_integer_as_raw(T33);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
        T78 = primitive_machine_word_subtract_signal_overflow(T77,4);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
        keyF14T = 1;
      L1: ;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
          keyF14 = keyF14T;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
          T80 = primitive_cast_raw_as_integer(keyF14);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
          T79 = primitive_machine_word_less_thanQ(keyF14,T78);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
          if (T79 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            T82 = primitive_machine_word_unsigned_less_thanQ(keyF14,T77);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            if (T82 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T83 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, keyF14);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T84 = primitive_raw_as_byte_character(T83);
              T86 = T84;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T81_0 = Kelement_range_errorVKeI(big_, T80);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T85 = T81_0;
              T86 = T85;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            T15 = CALL2(testF6, T86, T70);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            if (T15 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T87 = primitive_machine_word_add_signal_overflow(keyF14,4);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T88 = primitive_cast_raw_as_integer(T87);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T90 = primitive_machine_word_unsigned_less_thanQ(T87,T77);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              if (T90 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
                T91 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, T87);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
                T92 = primitive_raw_as_byte_character(T91);
                T94 = T92;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
                T89_0 = Kelement_range_errorVKeI(big_, T88);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
                T93 = T89_0;
                T94 = T93;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
              T16 = CALL2(testF6, T94, T76);
              T17 = T16;
            } else {
              T17 = &KPfalseVKi;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            if (T17 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:58
              T30 = countF27;
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:58
              T95 = primitive_cast_integer_as_raw(T30);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:58
              T96 = primitive_machine_word_subtract_signal_overflow(T95,4);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:58
              T97 = primitive_cast_raw_as_integer(T96);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:58
              countF27 = T97;
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:58
              T99 = primitive_machine_word_less_thanQ(1,T96);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:58
              T98 = primitive_not(T99);
              T18 = T98;
            } else {
              T18 = &KPfalseVKi;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:57
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
            if (T18 == &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
              T100 = primitive_machine_word_add_signal_overflow(keyF14,4);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
              keyF14T = T100;
              goto L1;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
          }
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:60
          if (T79 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:60
            T19_0 = T80;
            T21_0 = T19_0;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:60
            T20_0 = &KPfalseVKi;
            T21_0 = T20_0;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:60
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:56
        T24_0 = T21_0;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:63
        CONGRUENT_CALL_PROLOG(&KEVKd, 2);
        T101 = CONGRUENT_CALL2(testF6, &KEEVKd);
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:63
        if (T101 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:84
          T150 = primitive_cast_integer_as_raw(T34);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:84
          T151 = primitive_machine_word_subtract_signal_overflow(T150,4);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:84
          T152 = primitive_cast_raw_as_integer(T151);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:85
          T154 = primitive_machine_word_unsigned_less_thanQ(T151,T150);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:85
          if (T154 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:85
            T155 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(pat_, 1, T151);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:85
            T156 = primitive_raw_as_byte_character(T155);
            T158 = T156;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:85
            T153_0 = Kelement_range_errorVKeI(pat_, T152);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:85
            T157 = T153_0;
            T158 = T157;
          }
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:85
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:87
          T159_0 = KmakeVKdMM13I(&KLsimple_object_vectorGVKd, &KPempty_vectorVKi, T34, (dylan_value) 1025);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:87
          T160 = T159_0;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
          i_T = 1;
        L2: ;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
            i_ = i_T;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
            T162 = primitive_cast_raw_as_integer(i_);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
            T161 = primitive_machine_word_less_thanQ(i_,T151);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
            if (T161 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T163 = primitive_machine_word_logxor(i_,1);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T164 = primitive_machine_word_subtract_signal_overflow(T151,T163);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T165 = primitive_cast_raw_as_integer(T164);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T167 = primitive_machine_word_unsigned_less_thanQ(i_,T150);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              if (T167 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
                T168 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(pat_, 1, i_);
                T170 = T168;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
                T166_0 = Kelement_range_errorVKeI(pat_, T162);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
                T169 = T166_0;
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
                T174 = primitive_byte_character_as_raw(T169);
                T170 = T174;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T171 = primitive_machine_word_shift_left_signal_overflow(T170,2);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T172 = primitive_machine_word_logior(T171,1);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T173 = primitive_cast_raw_as_integer(T172);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              T175 = primitive_machine_word_unsigned_less_thanQ(T172,1025);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              if (T175 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
                REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED_SETTER(T165, T160, 1, T172);
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
                Kelement_range_errorVKeI(T160, T173);
              }
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:89
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
              T176 = primitive_machine_word_add_signal_overflow(i_,4);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
              i_T = T176;
              goto L2;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:88
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:118
          T28 = countF27;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:109
          T244 = primitive_cast_integer_as_raw(T28);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
          indexF241T = T152;
          countF242T = T244;
        L3: ;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
            indexF241 = indexF241T;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
            countF242 = countF242T;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:115
            indexF232 = indexF241;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:115
            countF233 = countF242;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
            indexF228 = indexF232;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
            T229 = indexF228;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
            countF230 = countF233;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:92
            T181 = primitive_cast_integer_as_raw(T229);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:92
            T182 = primitive_cast_integer_as_raw(T33);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:92
            T183 = primitive_machine_word_less_thanQ(T181,T182);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:92
            if (T183 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:95
              T185 = primitive_cast_integer_as_raw(T229);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:95
              T186 = primitive_machine_word_unsigned_less_thanQ(T185,T182);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:95
              if (T186 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:95
                T187 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, T185);
                T189 = T187;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:95
                T184_0 = Kelement_range_errorVKeI(big_, T229);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:95
                T188 = T184_0;
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
                T237 = primitive_byte_character_as_raw(T188);
                T189 = T237;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:95
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
              T238 = primitive_raw_as_byte_character(T189);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:96
              T190 = primitive_idQ(T238,T158);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:96
              if (T190 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:97
                T191 = primitive_cast_integer_as_raw(T229);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:97
                T192 = primitive_machine_word_logxor(T151,1);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:97
                T193 = primitive_machine_word_subtract_signal_overflow(T191,T192);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                T246 = primitive_cast_integer_as_raw(T229);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                indexF220T = T193;
                big_keyF221T = T246;
                pat_keyF222T = T151;
                countF223T = countF230;
              L4: ;
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                  indexF220 = indexF220T;
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
                  T245 = primitive_cast_raw_as_integer(indexF220);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                  big_keyF221 = big_keyF221T;
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                  T247 = primitive_cast_raw_as_integer(big_keyF221);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                  pat_keyF222 = pat_keyF222T;
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:108
                  T243 = primitive_cast_raw_as_integer(pat_keyF222);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                  countF223 = countF223T;
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:108
                  T198 = primitive_machine_word_less_thanQ(pat_keyF222,1);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:107
                  if (T198 != &KPfalseVKi) {
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:109
                    T199 = primitive_machine_word_equalQ(countF223,5);
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:109
                    if (T199 != &KPfalseVKi) {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:109
                      T194 = T245;
                      MV_SET_ELT(0, T245);
                      MV_SET_COUNT(1);
                      T195 = T194;
                    } else {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
                      T200 = primitive_machine_word_logxor(T150,1);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
                      T201 = primitive_machine_word_add_signal_overflow(indexF220,T200);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
                      T202 = primitive_cast_raw_as_integer(T201);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
                      T203 = primitive_machine_word_subtract_signal_overflow(countF223,4);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
                      indexF241T = T202;
                      countF242T = T203;
                      goto L3;
                      T195 = T227;
                    }
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:109
                    T197 = T195;
                  } else {
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                    T205 = primitive_machine_word_unsigned_less_thanQ(big_keyF221,T182);
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                    if (T205 != &KPfalseVKi) {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T206 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, big_keyF221);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T207 = primitive_raw_as_byte_character(T206);
                      T209 = T207;
                    } else {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T204_0 = Kelement_range_errorVKeI(big_, T247);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T208 = T204_0;
                      T209 = T208;
                    }
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                    T211 = primitive_machine_word_unsigned_less_thanQ(pat_keyF222,T150);
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                    if (T211 != &KPfalseVKi) {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T212 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(pat_, 1, pat_keyF222);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T213 = primitive_raw_as_byte_character(T212);
                      T215 = T213;
                    } else {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T210_0 = Kelement_range_errorVKeI(pat_, T243);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                      T214 = T210_0;
                      T215 = T214;
                    }
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:112
                    T216 = primitive_idQ(T209,T215);
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:107
                    if (T216 != &KPfalseVKi) {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                      T217 = primitive_machine_word_subtract_signal_overflow(big_keyF221,4);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                      T218 = primitive_machine_word_subtract_signal_overflow(pat_keyF222,4);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                      indexF220T = T193;
                      big_keyF221T = T217;
                      pat_keyF222T = T218;
                      countF223T = countF230;
                      goto L4;
                      T196 = T219;
                    } else {
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:115
                      T224 = primitive_machine_word_logxor(T150,1);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:115
                      T225 = primitive_machine_word_add_signal_overflow(indexF220,T224);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:115
                      T226 = primitive_cast_raw_as_integer(T225);
                      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:115
                      indexF241T = T226;
                      countF242T = countF223;
                      goto L3;
                      T196 = T231;
                    }
                    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:107
                    T197 = T196;
                  }
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:107
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:113
                T179 = T197;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
                T234 = primitive_machine_word_shift_left_signal_overflow(T189,2);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
                T235 = primitive_machine_word_logior(T234,1);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
                T236 = primitive_cast_raw_as_integer(T235);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
                T239 = KelementVKdMM3I(T160, T236, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
                CONGRUENT_CALL_PROLOG(&KAVKd, 2);
                T178 = CONGRUENT_CALL2(T229, T239);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:99
                indexF241T = T178;
                countF242T = countF230;
                goto L3;
                T179 = T240;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:96
              T180 = T179;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:93
              T177 = &KPfalseVKi;
              MV_SET_ELT(0, &KPfalseVKi);
              MV_SET_COUNT(1);
              T180 = T177;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:92
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:110
          T23_0 = T180;
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:81
          T29 = countF27;
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:70
          T149 = primitive_cast_integer_as_raw(T29);
          // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
          indexF142T = 1;
          big_keyF143T = 1;
          pat_keyF144T = 1;
          countF145T = T149;
        L5: ;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:78
            indexF142 = indexF142T;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:78
            big_keyF143 = big_keyF143T;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:78
            pat_keyF144 = pat_keyF144T;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:78
            countF145 = countF145T;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:76
            indexF136 = indexF142;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:76
            big_keyF137 = big_keyF143;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:76
            pat_keyF138 = pat_keyF144;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:76
            countF139 = countF145;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
            indexF115 = indexF136;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:78
            T148 = primitive_cast_raw_as_integer(indexF115);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
            big_keyF116 = big_keyF137;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:73
            T147 = primitive_cast_raw_as_integer(big_keyF116);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
            pat_keyF117 = pat_keyF138;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:69
            T146 = primitive_cast_raw_as_integer(pat_keyF117);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
            countF118 = countF139;
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:69
            T109 = primitive_cast_integer_as_raw(T34);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:69
            T110 = primitive_machine_word_less_thanQ(pat_keyF117,T109);
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:68
            if (T110 != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:73
              T119 = primitive_cast_integer_as_raw(T33);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:73
              T120 = primitive_machine_word_equalQ(big_keyF116,T119);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:68
              if (T120 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:74
                T104 = &KPfalseVKi;
                MV_SET_ELT(0, &KPfalseVKi);
                MV_SET_COUNT(1);
                T107 = T104;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                T122 = primitive_machine_word_unsigned_less_thanQ(big_keyF116,T119);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                if (T122 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T123 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(big_, 1, big_keyF116);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T124 = primitive_raw_as_byte_character(T123);
                  T126 = T124;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T121_0 = Kelement_range_errorVKeI(big_, T147);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T125 = T121_0;
                  T126 = T125;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                T128 = primitive_machine_word_unsigned_less_thanQ(pat_keyF117,T109);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                if (T128 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T129 = REPEATED_DBCHR_SLOT_VALUE_TAGGED(pat_, 1, pat_keyF117);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T130 = primitive_raw_as_byte_character(T129);
                  T132 = T130;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T127_0 = Kelement_range_errorVKeI(pat_, T146);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                  T131 = T127_0;
                  T132 = T131;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:75
                T105 = CALL2(testF6, T126, T132);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:68
                if (T105 != &KPfalseVKi) {
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:76
                  T133 = primitive_machine_word_add_signal_overflow(big_keyF116,4);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:76
                  T134 = primitive_machine_word_add_signal_overflow(pat_keyF117,4);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:76
                  indexF142T = indexF115;
                  big_keyF143T = T133;
                  pat_keyF144T = T134;
                  countF145T = countF118;
                  goto L5;
                  T106 = T135;
                } else {
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:78
                  T140 = primitive_machine_word_add_signal_overflow(indexF115,4);
                  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:78
                  indexF142T = T140;
                  big_keyF143T = T140;
                  pat_keyF144T = 1;
                  countF145T = countF118;
                  goto L5;
                  T106 = T141;
                }
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:68
                T107 = T106;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:68
              T108 = T107;
            } else {
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:70
              T111 = primitive_machine_word_equalQ(countF118,5);
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:70
              if (T111 != &KPfalseVKi) {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:70
                T102 = T148;
                MV_SET_ELT(0, T148);
                MV_SET_COUNT(1);
                T103 = T102;
              } else {
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
                T112 = primitive_machine_word_add_signal_overflow(indexF115,4);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
                T113 = primitive_machine_word_subtract_signal_overflow(countF118,4);
                // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
                indexF142T = T112;
                big_keyF143T = T112;
                pat_keyF144T = 1;
                countF145T = T113;
                goto L5;
                T103 = T114;
              }
              // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:70
              T108 = T103;
            }
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:68
            // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:71
          T23_0 = T108;
        }
        // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:63
        T24_0 = T23_0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
      T25_0 = T24_0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
    T26_0 = T25_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:43
  // /home/bruce/Development/dylan/opendylan/sources/dylan/string-speed.dylan:36
  MV_SET_COUNT(1);
  return(T26_0);
}


/* SYSTEM INIT CODE */

void _Init_dylan__X_string_speed_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  return;
}

/* USER INIT CODE */

void _Init_dylan__X_string_speed_for_user () {
  return;
}


/* eof */
