#include "run-time.h"

/* Typedefs for referenced classes */

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

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

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

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

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    D vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

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

typedef struct {
  D wrapper;
  D bb_start_;
  D bb_end_;
  D bb_taags_;
  D bb_fall_thru_;
  D bb_next_set_;
  D bb_prev_set_;
  D bb_other_set_;
  D bb_defs_;
  D bb_last_entry_;
  D bb_live_entry_;
  D bb_properties_;
  D bb_copy_of_;
} _KLbasic_blockGYharp_basic_blockVharp;

#define  define__KLsimple_element_type_vectorGVKe(nrepeated) \
  typedef struct { \
    D wrapper; \
    D element_type_; \
    D size_; \
    D element_type_vector_element_[nrepeated+1]; \
  } _KLsimple_element_type_vectorGVKe_##nrepeated;

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

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

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

typedef struct {
  D wrapper;
  D tag_no_;
  D tag_bb_;
  D tag_variables_;
} _KLtagGYbase_harpVharp;

typedef struct {
  D wrapper;
} _KLintegerGVKd;

typedef struct {
  D wrapper;
  D xep_;
} _KLfunctionGVKd;

typedef struct {
  D wrapper;
  D op_name_;
  D op_properties_;
  D op_disallow_fn_;
  D op_prefer_fn_;
  D op_clash_fn_;
  D op_destroys_fn_;
  D op_c_preserved_destroys_fn_;
  D op_implicit_uses_;
  D op_spread_;
  D op_code_gen_fn_;
  D op_reverse_op_;
  D op_constant_fold_op_;
  D op_info_;
} _KLopGYharp_opVharp;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D limited_collection_class_;
  D limited_collection_element_type_;
  D limited_collection_concrete_class_;
  D limited_collection_size_;
  D limited_collection_dimensions_;
} _KLlimited_vector_typeGVKe;

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

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(7);
define__KLbyte_stringGVKd(12);
define__KLbyte_stringGVKd(19);
define__KLbyte_stringGVKd(13);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(3);

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

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

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

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

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

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

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

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

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

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

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

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

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

typedef struct {
  D wrapper;
  D mangler_;
  D cg_variables_;
  D registers_;
  D variables_;
} _KLharp_back_endGYbase_harpVharp;


/* Typedefs for defined classes */

typedef struct {
  D wrapper;
} _KLabstract_queueGYmain_harpVharp;

typedef struct {
  D wrapper;
} _KLempty_queueGYmain_harpVharp;

typedef struct {
  D wrapper;
  D top_of_queue_;
  D rest_of_queue_;
} _KLqueueGYmain_harpVharp;


/* Referenced object declarations */

D KPadd_classVKeI (D);
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
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 _KLincremental_generic_functionGVKe KinstructionsYbase_harpVharp;
extern _KLsealed_generic_functionGVKe Kharp_braYharp_instructionsVharp;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLclassGVKd KLbasic_blockGYharp_basic_blockVharp;
extern _KLmm_wrapperGVKi_0 KLbasic_blockGYharp_basic_blockVharpW;
D KmakeVKdMM27I (D, D, D, D, D);
extern _KLclassGVKd KLsimple_element_type_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_element_type_vectorGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLclassGVKd KLlistGVKd;
extern _KLmm_wrapperGVKi_0 KLlistGVKdW;
extern _KLsimple_methodGVKe Kins_opYbase_harpVharp;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLsealed_generic_functionGVKe KcolourYbase_harpVharp;
D KEEVKdI (D, D);
extern _KLsealed_generic_functionGVKe Kbb_taagsYharp_basic_blockVharp;
extern _KLsealed_generic_functionGVKe Ktag_bbYbase_harpVharp;
extern _KLclassGVKd KLtagGYbase_harpVharp;
extern _KLmm_wrapperGVKi_0 KLtagGYbase_harpVharpW;
D Kadd_newXVKdMM3I (D, D, D, D);
extern _KLsimple_methodGVKe KEEVKd;
extern _KLsealed_generic_functionGVKe Kunsupplied_objectVKi;
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
D Kreplace_subsequenceXVKdMM2I (D, D, D, D, D);
D Kelement_range_errorVKeI (D, D);
extern _KLsimple_methodGVKe Kins_tagYbase_harpVharp;
extern _KLsealed_generic_functionGVKe Kbb_defsYharp_basic_blockVharp;
extern _KLsealed_generic_functionGVKe KheadVKd;
extern _KLsimple_methodGVKe Kins_tag_setterYbase_harpVharp;
extern _KLsimple_methodGVKe Kins_op_setterYbase_harpVharp;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLclassGVKd KLopGYharp_opVharp;
extern _KLmm_wrapperGVKi_0 KLopGYharp_opVharpW;
D Keliminate_instructionYmain_harpVharpMM0I (D, D);
extern _KLlimited_vector_typeGVKe KLsimple_basic_block_vectorGYharp_basic_blockVharp;
extern _KLclassGVKd KLlimited_vector_typeGVKe;
extern _KLmm_wrapperGVKi_0 KLlimited_vector_typeGVKeW;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
D Kmake_bbYbase_harpVharpMM0I (D);
D Kmake_current_this_bbYbase_harpVharpMM0I (D, D);
extern _KLsimple_methodGVKe Koutput_errorYharp_instructionsVharpMM0;
D Kensure_room_in_vectorYbase_harpVharpMM0I (D, D);
D Kfinish_bbYbase_harpVharpMM0I (D);
D Kconcatenate_asVKdMM4I (D, D, D);
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_2VKi;
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 KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLclassGVKd KLsetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsetter_methodGVKiW;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
D Kclass_instanceQ_initialVKiI (D, D);
extern _KLmoduleGVKe Kmain_harp_moduleYdylan_userVharp;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLkeyword_methodGVKe Kdefault_class_constructorVKi;
D Kclass_instanceQ_rcpl_single_smallVKiI (D, D);
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLharp_back_endGYbase_harpVharp;
extern _KLmm_wrapperGVKi_0 KLharp_back_endGYbase_harpVharpW;
extern D Dempty_basic_blockYharp_basic_blockVharp;

/* Defined object declarations */

extern _KLclassGVKd KLabstract_queueGYmain_harpVharp;
extern _KLmm_wrapperGVKi_0 KLabstract_queueGYmain_harpVharpW;
extern _KLclassGVKd KLempty_queueGYmain_harpVharp;
extern _KLmm_wrapperGVKi_0 KLempty_queueGYmain_harpVharpW;
D KlineariseYmain_harpVharpMM0I (D, D);
extern _KLclassGVKd KLqueueGYmain_harpVharp;
extern _KLmm_wrapperGVKi_0 KLqueueGYmain_harpVharpW;
extern _KLsimple_methodGVKe Keliminate_local_branchesYmain_harpVharpMM0;
D Keliminate_local_branchesYmain_harpVharpMM0I (D, D, D, D);
D Kmake_branch_blockYmain_harpVharpMM0I (D, D);
static _KLsymbolGVKd KJtop_;
static _KLbyte_stringGVKd_3 K13;
D Kuntagged_prevYmain_harpVharpMM0I (D);
static _KLsignatureGVKe K15;
static _KLsimple_object_vectorGVKd_4 K16;
static _KLimplementation_classGVKe K17;
static _KLsimple_object_vectorGVKd_2 K18;
extern _KLkeyword_methodGVKe KLqueueGZ32ZconstructorYmain_harpVharpMM0;
D KLqueueGZ32ZconstructorYmain_harpVharpMM0I (D, D, D);
static _KLsimple_object_vectorGVKd_1 K21;
static _KLsimple_object_vectorGVKd_6 K22;
static D K24I ();
static _KLkeyword_signatureAvaluesGVKi K25;
static _KLsimple_object_vectorGVKd_2 K26;
static _KLsimple_object_vectorGVKd_1 K27;
static _KLsimple_object_vectorGVKd_1 K28;
extern _KLinstance_slot_descriptorGVKe Ktop_of_queueYmain_harpVharpHLqueueG;
extern _KLinstance_slot_descriptorGVKe Krest_of_queueYmain_harpVharpHLqueueG;
static _KLsimple_closure_methodGVKi_0 K41;
static D K41I ();
extern _KLsealed_generic_functionGVKe Krest_of_queueYmain_harpVharp;
extern _KLsealed_generic_functionGVKe Krest_of_queue_setterYmain_harpVharp;
extern _KLsetter_methodGVKi Krest_of_queue_setterYmain_harpVharpMM0;
static _KLpairGVKd K36;
static _KLbyte_stringGVKd_20 K37;
extern _KLgetter_methodGVKi Krest_of_queueYmain_harpVharpMM0;
static _KLpairGVKd K39;
static _KLbyte_stringGVKd_13 K40;
static _KLsignatureGVKe K42;
extern _KLsealed_generic_functionGVKe Ktop_of_queueYmain_harpVharp;
extern _KLsealed_generic_functionGVKe Ktop_of_queue_setterYmain_harpVharp;
extern _KLsetter_methodGVKi Ktop_of_queue_setterYmain_harpVharpMM0;
static _KLpairGVKd K46;
static _KLbyte_stringGVKd_19 K47;
extern _KLgetter_methodGVKi Ktop_of_queueYmain_harpVharpMM0;
static _KLpairGVKd K49;
static _KLbyte_stringGVKd_12 K50;
static _KLbyte_stringGVKd_7 K51;
static _KLimplementation_classGVKe K52;
extern _KLkeyword_methodGVKe KLempty_queueGZ32ZconstructorYmain_harpVharpMM0;
D KLempty_queueGZ32ZconstructorYmain_harpVharpMM0I (D, D);
static _KLsimple_object_vectorGVKd_6 K55;
static _KLkeyword_signatureAvaluesGVKi K56;
static _KLsimple_object_vectorGVKd_1 K57;
static _KLbyte_stringGVKd_13 K58;
static _KLimplementation_classGVKe K59;
static _KLsimple_object_vectorGVKd_1 K60;
static _KLsimple_object_vectorGVKd_6 K61;
static _KLbyte_stringGVKd_16 K62;
extern _KLsimple_methodGVKe KlineariseYmain_harpVharpMM0;
static _KLsignatureAvaluesGVKi K64;
static _KLsimple_object_vectorGVKd_2 K65;
static _KLsimple_object_vectorGVKd_2 K66;
static _KLpairGVKd K67;
static _KLpairGVKd K68;

/* Indirection variables */

static D IKJtop_ = &KJtop_;

/* Variables */

D lineariseYmain_harpVharp = &KlineariseYmain_harpVharpMM0;
D Labstract_queueGYmain_harpVharp = &KLabstract_queueGYmain_harpVharp;
D Lempty_queueGYmain_harpVharp = &KLempty_queueGYmain_harpVharp;
D Dempty_queueYmain_harpVharp = &KPunboundVKi;
D LqueueGYmain_harpVharp = &KLqueueGYmain_harpVharp;

/* Objects */

_KLclassGVKd KLabstract_queueGYmain_harpVharp = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_smallVKiI,
  &K62,
  &K59,
  (D) 1,
  &Kmain_harp_moduleYdylan_userVharp
};

_KLmm_wrapperGVKi_0 KLabstract_queueGYmain_harpVharpW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K59,
  (D) 1,
  1,
  33554439,
  (D) 1
};

_KLclassGVKd KLempty_queueGYmain_harpVharp = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K58,
  &K52,
  (D) 1,
  &Kmain_harp_moduleYdylan_userVharp
};

_KLmm_wrapperGVKi_0 KLempty_queueGYmain_harpVharpW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K52,
  (D) 1,
  1,
  33554439,
  (D) 1
};

_KLclassGVKd KLqueueGYmain_harpVharp = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K51,
  &K17,
  (D) 1,
  &Kmain_harp_moduleYdylan_userVharp
};

_KLmm_wrapperGVKi_0 KLqueueGYmain_harpVharpW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K17,
  (D) 1,
  9,
  33554439,
  (D) 1
};

_KLsimple_methodGVKe Keliminate_local_branchesYmain_harpVharpMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_4,
  &K15,
  &Keliminate_local_branchesYmain_harpVharpMM0I
};

static _KLsymbolGVKd KJtop_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K13
};

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

static _KLsignatureGVKe K15 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040209,
  &K16
};

static _KLsimple_object_vectorGVKd_4 K16 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KLsimple_object_vectorGVKd,
  &KLsimple_basic_block_vectorGYharp_basic_blockVharp,
  &KLintegerGVKd,
  &KLbasic_blockGYharp_basic_blockVharp
};

static _KLimplementation_classGVKe K17 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433737,
  &KLqueueGYmain_harpVharp,
  &KLqueueGYmain_harpVharpW,
  &KPfalseVKi,
  &K18,
  (D) -3,
  &KLqueueGZ32ZconstructorYmain_harpVharpMM0,
  &K21,
  &K22,
  (D) 9,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K18,
  &K18,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_2 K18 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &Ktop_of_queueYmain_harpVharpHLqueueG,
  &Krest_of_queueYmain_harpVharpHLqueueG
};

_KLkeyword_methodGVKe KLqueueGZ32ZconstructorYmain_harpVharpMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K25,
  &key_mep_2,
  &KLqueueGZ32ZconstructorYmain_harpVharpMM0I,
  &K26
};

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

static _KLsimple_object_vectorGVKd_6 K22 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLabstract_queueGYmain_harpVharp,
  &KLqueueGYmain_harpVharp,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K25 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K27,
  &KDsignature_LobjectG_typesVKi,
  &K28
};

static _KLsimple_object_vectorGVKd_2 K26 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJtop_,
  &KPempty_listVKi
};

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

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

_KLinstance_slot_descriptorGVKe Ktop_of_queueYmain_harpVharpHLqueueG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPempty_listVKi,
  &KLqueueGYmain_harpVharp,
  &KJtop_,
  &Ktop_of_queueYmain_harpVharp,
  &Ktop_of_queue_setterYmain_harpVharp,
  &KLlistGVKd
};

_KLinstance_slot_descriptorGVKe Krest_of_queueYmain_harpVharpHLqueueG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 149,
  &K41,
  &KLqueueGYmain_harpVharp,
  &KPfalseVKi,
  &Krest_of_queueYmain_harpVharp,
  &Krest_of_queue_setterYmain_harpVharp,
  &KLabstract_queueGYmain_harpVharp
};

static _KLsimple_closure_methodGVKi_0 K41 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K42,
  &K41I,
  (D) 1
};

_KLsealed_generic_functionGVKe Krest_of_queueYmain_harpVharp = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K40,
  &K39,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Krest_of_queue_setterYmain_harpVharp = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K37,
  &K36,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Krest_of_queue_setterYmain_harpVharpMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Krest_of_queueYmain_harpVharpHLqueueG
};

static _KLpairGVKd K36 = {
  &KLpairGVKdW /* wrapper */,
  &Krest_of_queue_setterYmain_harpVharpMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_20 K37 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "rest-of-queue-setter"
};

_KLgetter_methodGVKi Krest_of_queueYmain_harpVharpMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Krest_of_queueYmain_harpVharpHLqueueG
};

static _KLpairGVKd K39 = {
  &KLpairGVKdW /* wrapper */,
  &Krest_of_queueYmain_harpVharpMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_13 K40 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "rest-of-queue"
};

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

_KLsealed_generic_functionGVKe Ktop_of_queueYmain_harpVharp = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &KPfalseVKi,
  &K50,
  &K49,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsealed_generic_functionGVKe Ktop_of_queue_setterYmain_harpVharp = {
  &KLsealed_generic_functionGVKeW /* wrapper */,
  &gf_xep_2,
  &KDsignature_LobjectG_object_rest_value_2VKi,
  &KPfalseVKi,
  &K47,
  &K46,
  &RSINGULAR_Labsent_engine_nodeG
};

_KLsetter_methodGVKi Ktop_of_queue_setterYmain_harpVharpMM0 = {
  &KLsetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_setter_xep,
  &Ktop_of_queueYmain_harpVharpHLqueueG
};

static _KLpairGVKd K46 = {
  &KLpairGVKdW /* wrapper */,
  &Ktop_of_queue_setterYmain_harpVharpMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_19 K47 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 77,
  "top-of-queue-setter"
};

_KLgetter_methodGVKi Ktop_of_queueYmain_harpVharpMM0 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Ktop_of_queueYmain_harpVharpHLqueueG
};

static _KLpairGVKd K49 = {
  &KLpairGVKdW /* wrapper */,
  &Ktop_of_queueYmain_harpVharpMM0,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_12 K50 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 49,
  "top-of-queue"
};

static _KLbyte_stringGVKd_7 K51 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 29,
  "<queue>"
};

static _KLimplementation_classGVKe K52 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 477102081,
  &KLempty_queueGYmain_harpVharp,
  &KLempty_queueGYmain_harpVharpW,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) -3,
  &KLempty_queueGZ32ZconstructorYmain_harpVharpMM0,
  &K21,
  &K55,
  (D) 9,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLempty_queueGZ32ZconstructorYmain_harpVharpMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_2,
  &K56,
  &key_mep_2,
  &KLempty_queueGZ32ZconstructorYmain_harpVharpMM0I,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_6 K55 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLabstract_queueGYmain_harpVharp,
  &KLempty_queueGYmain_harpVharp,
  &KPfalseVKi,
  &KPfalseVKi,
  &KPfalseVKi
};

static _KLkeyword_signatureAvaluesGVKi K56 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K57
};

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

static _KLbyte_stringGVKd_13 K58 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 53,
  "<empty-queue>"
};

static _KLimplementation_classGVKe K59 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 410255361,
  &KLabstract_queueGYmain_harpVharp,
  &KLabstract_queueGYmain_harpVharpW,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) -3,
  &Kdefault_class_constructorVKi,
  &K60,
  &K61,
  (D) 5,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K67,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

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

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

static _KLbyte_stringGVKd_16 K62 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "<abstract-queue>"
};

_KLsimple_methodGVKe KlineariseYmain_harpVharpMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K64,
  &KlineariseYmain_harpVharpMM0I
};

static _KLsignatureAvaluesGVKi K64 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33556489,
  &K65,
  &K66
};

static _KLsimple_object_vectorGVKd_2 K65 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLharp_back_endGYbase_harpVharp,
  &KLbasic_blockGYharp_basic_blockVharp
};

static _KLsimple_object_vectorGVKd_2 K66 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLsimple_basic_block_vectorGYharp_basic_blockVharp,
  &KLintegerGVKd
};

static _KLpairGVKd K67 = {
  &KLpairGVKdW /* wrapper */,
  &KLqueueGYmain_harpVharp,
  &K68
};

static _KLpairGVKd K68 = {
  &KLpairGVKdW /* wrapper */,
  &KLempty_queueGYmain_harpVharp,
  &KPempty_listVKi
};

/* Code */

D KlineariseYmain_harpVharpMM0I (D backend_, D starting_blk_) {
  D instructions_;
  D ins_bra_;
  DWORD T5T, T5;
  D bb_;
  D nblk_T, nblk_;
  D blk_;
  D non_emptyPexit_2_;
  DWORD ins_T, ins_;
  D T11;
  D Dsv_instructionsD_;
  D T13;
  D T14;
  D T15;
  D T16;
  D T17;
  D T18;
  D alias_tags_;
  D T20;
  D T21;
  D T22T, T22;
  D tag_;
  D T24T, T24;
  D prev_;
  D T26;
  D T27;
  D last_tag_;
  D T29;
  D T30;
  D T31;
  D thru_tag_;
  D T33;
  D T34;
  D last_bb_;
  D body_resultF36;
  D T37;
  D T38;
  D reverse_op_;
  D body_resultF40;
  D T41;
  D T42;
  D T43_0;
  D T43_1;
  D sv_ins_;
  D T45;
  D T46;
  D T47;
  D T48;
  D T49;
  D T50;
  D T51;
  D T52;
  D T53;
  D length_;
  D T55;
  D T56;
  D T57;
  D T58;
  D blk_vectorF59;
  D T60;
  D T61;
  D T62;
  D T63;
  D T64;
  D T65;
  D T66;
  D indexF67;
  D T68;
  D T69;
  D T70;
  D T71;
  D T72;
  D T73;
  D T74;
  D T75;
  D T76;
  D next_cand_;
  D T78;
  D T79;
  D queueF80;
  D T81;
  D T82;
  D T83;
  D queue_tailF84;
  D T85;
  D empty_block_;
  D T87;
  D T88;
  D T89;
  D T90;
  D T91;
  D T92;
  D T93;
  DWORD T94;
  D T95;
  D T96;
  D T97;
  DWORD T98;
  D blk_vectorF99;
  D T100_0;
  D T101_0;
  D T102;
  D T103;
  D first_tail_;
  D T105_0;
  D T106;
  D T107;
  D T108;
  D T109;
  D T110;
  D T111_0;
  D T112;
  D T113;
  D T114;
  D T115;
  D T116;
  D T117;
  DWORD T118;
  D T119;
  DWORD T120;
  D T121;
  D T122;
  DWORD T123;
  D T124;
  D T125;
  DWORD T126;
  D T127;
  DWORD T128;
  DWORD T129;
  D T130;
  DWORD T131;
  DWORD T132;
  D T133;
  _KLsimple_object_vectorGVKd_1 T134 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T135;
  DWORD T136;
  D T137;
  D T138;
  D T139;
  D T140;
  D T141;
  D T142;
  D T143;
  D T144;
  D T145;
  D T146;
  D T147;
  D T148;
  D T149_0;
  D T150_0;
  D T151;
  D T152;
  D T153;
  D T154;
  D T155;
  D T156;
  D T157;
  _KLsimple_object_vectorGVKd_1 T158 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T159;
  D T160;
  D T161_0;
  D T162_0;
  D T163;
  DWORD T164;
  DWORD T165;
  D T166;
  DWORD T167;
  DWORD T168;
  DWORD T169;
  DWORD T170;
  D T171;
  D T172;
  D T173;
  D T174;
  D T175;
  D new_;
  D T177_0;
  D T178;
  DWORD T179;
  DWORD T180;
  D T181;
  D T182;
  DWORD T183;
  DWORD T184;
  D T185;
  DWORD T186;
  DWORD T187;
  D T188;
  D T189;
  D T190;
  D T191;
  DWORD T192;
  DWORD T193;
  D T194;
  D T195;
  D T196;
  D T197;
  D T198;
  D T199;
  DWORD T200;
  DWORD T201;
  D T202;
  DWORD T203;
  DWORD T204;
  D T205;
  D T206;
  D T207;
  DWORD T208;
  DWORD T209;
  D T210;
  DWORD T211;
  DWORD T212;
  D T213;
  D T214;
  D T215;
  D T216;
  D T217;
  D T218;
  D T219;
  _KLsimple_object_vectorGVKd_2 T220 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T221;
  D T222;
  D T223;
  D T224;
  D T225;
  D T226;
  _KLsimple_object_vectorGVKd_2 T227 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T228;
  D T229;
  D T230;
  D T231;
  D T232_0;
  D T232_1;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:109
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:112
  T88 = SLOT_VALUE(backend_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:113
  T89 = SLOT_VALUE_INITD(T88, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:113
  sv_ins_ = T89;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:114
  CONGRUENT_CALL_PROLOG(&KinstructionsYbase_harpVharp, 1);
  instructions_ = CONGRUENT_CALL1(backend_);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:115
  ins_bra_ = CALL1(&Kharp_braYharp_instructionsVharp, instructions_);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  T90 = SLOT_VALUE(backend_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  T91 = SLOT_VALUE(T90, 19);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  T92 = SLOT_VALUE_INITD(T91, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  T93 = SLOT_VALUE_INITD(T92, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  T94 = primitive_cast_integer_as_raw(T93);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  T5T = 1;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
    T5 = T5T;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
    T95 = primitive_machine_word_equalQ(T5,T94);
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
    if (T95 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
      T96 = SLOT_VALUE_INITD(T91, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
      T97 = REPEATED_D_SLOT_VALUE_TAGGED(T96, 2, T5);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
      primitive_type_check(T97, &KLbasic_blockGYharp_basic_blockVharp);
      bb_ = T97;
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:120
      SLOT_VALUE_SETTER(&KPfalseVKi, bb_, 7);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
      T98 = primitive_machine_word_add_signal_overflow(T5,4);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
      T5T = T98;
      goto L0;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:119
  length_ = (D) 153;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:125
  T100_0 = KmakeVKdMM27I(&KLsimple_element_type_vectorGVKe, &KPempty_vectorVKi, Dempty_basic_blockYharp_basic_blockVharp, &KLbasic_blockGYharp_basic_blockVharp, (D) 161);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:125
  blk_vectorF99 = T100_0;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:125
  blk_vectorF59 = blk_vectorF99;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:126
  indexF67 = (D) 1;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:127
  next_cand_ = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:128
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T101_0 = CONGRUENT_CALL2(&KLqueueGYmain_harpVharp, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:128
  T102 = T101_0;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:128
  queueF80 = T102;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:129
  T83 = queueF80;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:129
  queue_tailF84 = T83;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
  nblk_T = starting_blk_;
L1: ;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
    nblk_ = nblk_T;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
    T103 = primitive_idQ(nblk_,&KPempty_listVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
    if (T103 == &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:134
      primitive_type_check(nblk_, &KLbasic_blockGYharp_basic_blockVharp);
      blk_ = nblk_;
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:135
      T79 = next_cand_;
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:135
      if (T79 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        T82 = queueF80;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        T106 = SLOT_VALUE_INITD(T82, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        T107 = SLOT_VALUE_INITD(T106, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        primitive_type_check(T107, &KLlistGVKd);
        first_tail_ = T107;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        T108 = primitive_idQ(first_tail_,&KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        if (T108 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
          T109 = SLOT_VALUE_INITD(T82, 1);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
          T110 = primitive_idQ(T109,Dempty_queueYmain_harpVharp);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
          if (T110 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
            SLOT_VALUE_SETTER(first_tail_, T82, 0);
            T113 = T82;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
            T105_0 = T109;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
            T111_0 = T105_0;
            {
              MV_CHECK_TYPE_PROLOGUE(T105_0);
              primitive_type_check(T111_0, &KLqueueGYmain_harpVharp);
              MV_CHECK_TYPE_EPILOGUE();
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
            T112 = T111_0;
            T113 = T112;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
          T114 = T113;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
          SLOT_VALUE_SETTER(first_tail_, T82, 0);
          T114 = T82;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:136
        queueF80 = T114;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:135
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:138
      next_cand_ = &KPfalseVKi;
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:140
      T115 = SLOT_VALUE_INITD(blk_, 7);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:140
      if (T115 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:141
        T76 = indexF67;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:141
        SLOT_VALUE_SETTER(T76, blk_, 7);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:141
        empty_block_ = &KPfalseVKi;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:144
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
        T116 = SLOT_VALUE_INITD(blk_, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
        T117 = SLOT_VALUE_INITD(blk_, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
        T118 = primitive_cast_integer_as_raw(T117);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
        T120 = primitive_cast_integer_as_raw(T116);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
        ins_T = T120;
      L2: ;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
          ins_ = ins_T;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
          T121 = primitive_cast_raw_as_integer(ins_);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
          T119 = primitive_machine_word_less_thanQ(ins_,T118);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
          if (T119 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:147
            T53 = sv_ins_;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:147
            T11 = CALL2(&Kins_opYbase_harpVharp, T53, T121);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:148
            T122 = SLOT_VALUE_INITD(T11, 1);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:148
            T123 = primitive_cast_integer_as_raw(T122);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:148
            T124 = primitive_machine_word_logbitQ(10,T123);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:148
            if (T124 != &KPfalseVKi) {
              T17 = T124;
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:149
              T125 = SLOT_VALUE_INITD(T11, 1);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:149
              T126 = primitive_cast_integer_as_raw(T125);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:149
              T127 = primitive_machine_word_logbitQ(9,T126);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:149
              if (T127 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T52 = sv_ins_;
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                primitive_type_check(T52, &KLsimple_object_vectorGVKd);
                Dsv_instructionsD_ = T52;
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T128 = primitive_machine_word_add_signal_overflow(ins_,4);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T129 = primitive_machine_word_add_signal_overflow(T128,4);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T130 = REPEATED_D_SLOT_VALUE_TAGGED(Dsv_instructionsD_, 1, T129);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                CONGRUENT_CALL_PROLOG(&KcolourYbase_harpVharp, 1);
                T13 = CONGRUENT_CALL1(T130);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T131 = primitive_machine_word_add_signal_overflow(ins_,8);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T132 = primitive_machine_word_add_signal_overflow(T131,4);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T133 = REPEATED_D_SLOT_VALUE_TAGGED(Dsv_instructionsD_, 1, T132);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                CONGRUENT_CALL_PROLOG(&KcolourYbase_harpVharp, 1);
                T14 = CONGRUENT_CALL1(T133);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:150
                T15 = KEEVKdI(T13, T14);
                T16 = T15;
              } else {
                T16 = &KPfalseVKi;
              }
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:149
              T17 = T16;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:148
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:148
            if (T17 == &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:151
              T134.vector_element_[0] = &KPfalseVKi;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:151
              T135 = MV_SET_REST_AT(&T134, 0);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:151
              T135;
              goto L3;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:148
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
            T136 = primitive_machine_word_add_signal_overflow(ins_,20);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
            ins_T = T136;
            goto L2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:146
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:155
        T137 = SLOT_VALUE_INITD(blk_, 3);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:156
        if (T137 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:157
          T18 = CALL1(&Kbb_taagsYharp_basic_blockVharp, T137);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:157
          primitive_type_check(T18, &KLlistGVKd);
          alias_tags_ = T18;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:159
          T138 = primitive_idQ(alias_tags_,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:159
          if (T138 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:155
            primitive_type_check(T137, &KLbasic_blockGYharp_basic_blockVharp);
            T140 = T137;
            T21 = T140;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:159
            T139 = SLOT_VALUE_INITD(alias_tags_, 0);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:159
            T20 = CALL1(&Ktag_bbYbase_harpVharp, T139);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:159
            primitive_type_check(T20, &KLbasic_blockGYharp_basic_blockVharp);
            T141 = T20;
            T21 = T141;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:159
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:160
          T142 = SLOT_VALUE_INITD(T21, 7);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
          T143 = SLOT_VALUE_INITD(blk_, 2);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
          T22T = T143;
        L4: ;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
            T22 = T22T;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
            T144 = primitive_idQ(T22,&KPempty_listVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
            if (T144 == &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
              T145 = SLOT_VALUE_INITD(T22, 0);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
              primitive_type_check(T145, &KLtagGYbase_harpVharp);
              tag_ = T145;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:162
              SLOT_VALUE_SETTER(T21, tag_, 1);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:163
              T146 = SLOT_VALUE_INITD(T21, 2);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:163
              T147 = Kadd_newXVKdMM3I(T146, tag_, &KPempty_vectorVKi, &KEEVKd);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:163
              SLOT_VALUE_SETTER(T147, T21, 2);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
              T148 = SLOT_VALUE_INITD(T22, 1);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
              T149_0 = T148;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
              T150_0 = T149_0;
              {
                MV_CHECK_TYPE_PROLOGUE(T149_0);
                primitive_type_check(T150_0, &KLlistGVKd);
                MV_CHECK_TYPE_EPILOGUE();
              }
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
              T151 = T150_0;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
              T22T = T151;
              goto L4;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:161
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:165
          if (T142 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:166
            T51 = sv_ins_;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:166
            T66 = blk_vectorF59;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:166
            CALL4(&Keliminate_local_branchesYmain_harpVharpMM0, T51, T66, T142, T21);
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:165
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:156
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
        T152 = SLOT_VALUE_INITD(blk_, 5);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
        T24T = T152;
      L5: ;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
          T24 = T24T;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
          T153 = primitive_idQ(T24,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
          if (T153 == &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
            T154 = SLOT_VALUE_INITD(T24, 0);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
            primitive_type_check(T154, &KLbasic_blockGYharp_basic_blockVharp);
            prev_ = T154;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:171
            T155 = SLOT_VALUE_INITD(prev_, 7);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:171
            if (T155 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:171
              T156 = SLOT_VALUE_INITD(prev_, 3);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:171
              T157 = primitive_idQ(blk_,T156);
              T26 = T157;
            } else {
              T26 = &KPfalseVKi;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:171
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:171
            if (T26 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:172
              T158.vector_element_[0] = &KPfalseVKi;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:144
              T159 = MV_SET_REST_AT(&T158, 0);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:144
              T159;
              goto L3;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:171
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
            T160 = SLOT_VALUE_INITD(T24, 1);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
            T161_0 = T160;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
            T162_0 = T161_0;
            {
              MV_CHECK_TYPE_PROLOGUE(T161_0);
              primitive_type_check(T162_0, &KLlistGVKd);
              MV_CHECK_TYPE_EPILOGUE();
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
            T163 = T162_0;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
            T24T = T163;
            goto L5;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:170
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:176
        empty_block_ = &KPtrueVKi;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:144
        L3: ;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:179
        T58 = length_;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:179
        T75 = indexF67;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:179
        T164 = primitive_cast_integer_as_raw(T75);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:179
        T165 = primitive_cast_integer_as_raw(T58);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:179
        T166 = primitive_machine_word_less_thanQ(T164,T165);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:179
        if (T166 == &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          T57 = length_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          length_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          T167 = primitive_cast_integer_as_raw(T57);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          T168 = primitive_cast_integer_as_raw(T57);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          T169 = primitive_machine_word_logxor(T168,1);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          T170 = primitive_machine_word_add_signal_overflow(T167,T169);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          T171 = primitive_cast_raw_as_integer(T170);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:180
          length_ = T171;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          T56 = length_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          T172 = primitive_idQ(T56,&Kunsupplied_objectVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          if (T172 != &KPfalseVKi) {
            T173 = &KPfalseVKi;
          } else {
            T173 = T56;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          if (T173 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
            primitive_type_check(T173, &KLintegerGVKd);
            T174 = T173;
            T175 = T174;
          } else {
            T175 = (D) 1;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          T177_0 = KmakeVKdMM27I(&KLsimple_element_type_vectorGVKe, &KPempty_vectorVKi, Dempty_basic_blockYharp_basic_blockVharp, &KLbasic_blockGYharp_basic_blockVharp, T175);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:181
          new_ = T177_0;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:182
          T65 = blk_vectorF59;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:182
          T178 = SLOT_VALUE_INITD(T65, 1);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:182
          T64 = blk_vectorF59;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:182
          Kreplace_subsequenceXVKdMM2I(new_, T64, &KPempty_vectorVKi, (D) 1, T178);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:183
          blk_vectorF59 = new_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:184
          T55 = length_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:184
          T179 = primitive_cast_integer_as_raw(T55);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:184
          T180 = primitive_machine_word_subtract_signal_overflow(T179,8);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:184
          T181 = primitive_cast_raw_as_integer(T180);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:184
          length_ = T181;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:179
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        T63 = blk_vectorF59;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        T74 = indexF67;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        T182 = SLOT_VALUE_INITD(T63, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        T183 = primitive_cast_integer_as_raw(T74);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        T184 = primitive_cast_integer_as_raw(T182);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        T185 = primitive_machine_word_unsigned_less_thanQ(T183,T184);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        if (T185 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
          REPEATED_D_SLOT_VALUE_TAGGED_SETTER(blk_, T63, 2, T183);
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
          Kelement_range_errorVKeI(T63, T74);
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:186
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:187
        T73 = indexF67;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:187
        T186 = primitive_cast_integer_as_raw(T73);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:187
        T187 = primitive_machine_word_add_signal_overflow(T186,4);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:187
        T188 = primitive_cast_raw_as_integer(T187);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:187
        indexF67 = T188;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:191
        T189 = SLOT_VALUE_INITD(blk_, 3);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:193
        if (T189 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:193
          T87 = empty_block_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:193
          T190 = primitive_not(T87);
          T27 = T190;
        } else {
          T27 = &KPfalseVKi;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:193
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:193
        if (T27 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:194
          T191 = SLOT_VALUE_INITD(blk_, 1);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:194
          T192 = primitive_cast_integer_as_raw(T191);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:194
          T193 = primitive_machine_word_subtract_signal_overflow(T192,20);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:194
          T194 = primitive_cast_raw_as_integer(T193);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:195
          T50 = sv_ins_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:195
          last_tag_ = CALL2(&Kins_tagYbase_harpVharp, T50, T194);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:196
          T29 = CALL1(&Kbb_defsYharp_basic_blockVharp, T189);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:196
          if (T29 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:197
            T30 = CALL1(&Kbb_taagsYharp_basic_blockVharp, T189);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:197
            T31 = CALL1(&KheadVKd, T30);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:197
            primitive_type_check(T31, &KLtagGYbase_harpVharp);
            thru_tag_ = T31;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:198
            T49 = sv_ins_;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:198
            T33 = CALL2(&Kins_opYbase_harpVharp, T49, T194);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:199
            T195 = SLOT_VALUE_INITD(T33, 10);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:200
            if (T195 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:202
              T196 = primitive_idQ(last_tag_,thru_tag_);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:202
              if (T196 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:203
                T48 = sv_ins_;
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:203
                CALL3(&Kins_tag_setterYbase_harpVharp, thru_tag_, T48, T194);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:204
                T47 = sv_ins_;
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:204
                CALL3(&Kins_op_setterYbase_harpVharp, ins_bra_, T47, T194);
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:206
                T34 = CALL1(&Ktag_bbYbase_harpVharp, last_tag_);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:206
                primitive_type_check(T34, &KLbasic_blockGYharp_basic_blockVharp);
                last_bb_ = T34;
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:207
                T197 = SLOT_VALUE_INITD(last_bb_, 7);
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:207
                if (T197 != &KPfalseVKi) {
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:212
                  body_resultF36 = Kmake_branch_blockYmain_harpVharpMM0I(backend_, thru_tag_);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:211
                  T198 = SLOT_VALUE_INITD(T88, 0);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:211
                  sv_ins_ = T198;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  T62 = blk_vectorF59;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  T72 = indexF67;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  T199 = SLOT_VALUE_INITD(T62, 1);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  T200 = primitive_cast_integer_as_raw(T72);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  T201 = primitive_cast_integer_as_raw(T199);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  T202 = primitive_machine_word_unsigned_less_thanQ(T200,T201);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  if (T202 != &KPfalseVKi) {
                    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                    REPEATED_D_SLOT_VALUE_TAGGED_SETTER(body_resultF36, T62, 2, T200);
                  } else {
                    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                    Kelement_range_errorVKeI(T62, T72);
                  }
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:214
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:215
                  T71 = indexF67;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:215
                  T203 = primitive_cast_integer_as_raw(T71);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:215
                  T204 = primitive_machine_word_add_signal_overflow(T203,4);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:215
                  T205 = primitive_cast_raw_as_integer(T204);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:215
                  indexF67 = T205;
                } else {
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:217
                  primitive_type_check(T195, &KLfunctionGVKd);
                  T37 = T195;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:217
                  T38 = CALL1(T37, instructions_);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:217
                  primitive_type_check(T38, &KLopGYharp_opVharp);
                  reverse_op_ = T38;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:218
                  next_cand_ = last_bb_;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:219
                  SLOT_VALUE_SETTER(last_bb_, blk_, 3);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:220
                  T46 = sv_ins_;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:220
                  CALL3(&Kins_tag_setterYbase_harpVharp, thru_tag_, T46, T194);
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:221
                  T45 = sv_ins_;
                  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:221
                  CALL3(&Kins_op_setterYbase_harpVharp, reverse_op_, T45, T194);
                }
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:207
              }
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:202
            } else {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:228
              body_resultF40 = Kmake_branch_blockYmain_harpVharpMM0I(backend_, thru_tag_);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:227
              T206 = SLOT_VALUE_INITD(T88, 0);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:227
              sv_ins_ = T206;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              T61 = blk_vectorF59;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              T70 = indexF67;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              T207 = SLOT_VALUE_INITD(T61, 1);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              T208 = primitive_cast_integer_as_raw(T70);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              T209 = primitive_cast_integer_as_raw(T207);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              T210 = primitive_machine_word_unsigned_less_thanQ(T208,T209);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              if (T210 != &KPfalseVKi) {
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
                REPEATED_D_SLOT_VALUE_TAGGED_SETTER(body_resultF40, T61, 2, T208);
              } else {
                // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
                Kelement_range_errorVKeI(T61, T70);
              }
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:230
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:231
              T69 = indexF67;
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:231
              T211 = primitive_cast_integer_as_raw(T69);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:231
              T212 = primitive_machine_word_add_signal_overflow(T211,4);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:231
              T213 = primitive_cast_raw_as_integer(T212);
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:231
              indexF67 = T213;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:200
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:234
            T41 = KEEVKdI(last_tag_, T189);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:234
            if (T41 != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:235
              Keliminate_instructionYmain_harpVharpMM0I(backend_, T194);
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:234
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:238
            next_cand_ = T189;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:196
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:193
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
        T214 = SLOT_VALUE_INITD(blk_, 4);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
        T215 = SLOT_VALUE_INITD(blk_, 6);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
        T85 = queue_tailF84;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
        T217 = primitive_idQ(T215,&KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
        if (T217 != &KPfalseVKi) {
          T222 = T85;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
          T218 = SLOT_VALUE_INITD(T85, 0);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
          T219 = primitive_idQ(T218,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
          if (T219 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
            SLOT_VALUE_SETTER(T215, T85, 0);
            T221 = T85;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
            T220.vector_element_[0] = IKJtop_;
            T220.vector_element_[1] = T215;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T216 = CONGRUENT_CALL2(&KLqueueGYmain_harpVharp, &T220);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
            SLOT_VALUE_SETTER(T216, T85, 1);
            T221 = T216;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
          T222 = T221;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:243
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
        T224 = primitive_idQ(T214,&KPempty_listVKi);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
        if (T224 != &KPfalseVKi) {
          T229 = T222;
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
          T225 = SLOT_VALUE_INITD(T222, 0);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
          T226 = primitive_idQ(T225,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
          if (T226 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
            SLOT_VALUE_SETTER(T214, T222, 0);
            T228 = T222;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
            T227.vector_element_[0] = IKJtop_;
            T227.vector_element_[1] = T214;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T223 = CONGRUENT_CALL2(&KLqueueGYmain_harpVharp, &T227);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
            SLOT_VALUE_SETTER(T223, T222, 1);
            T228 = T223;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
          T229 = T228;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:242
        queue_tailF84 = T229;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:140
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
      T78 = next_cand_;
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
      if (T78 != &KPfalseVKi) {
        T42 = T78;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
        T81 = queueF80;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
        T230 = SLOT_VALUE_INITD(T81, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
        T231 = SLOT_VALUE_INITD(T230, 0);
        T42 = T231;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
      nblk_T = T42;
      goto L1;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:131
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:247
  T60 = blk_vectorF59;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:247
  T68 = indexF67;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:247
  T232_0 = T60;
  T232_1 = T68;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:109
  T43_0 = T232_0;
  T43_1 = T232_1;
  {
    MV_CHECK_TYPE_PROLOGUE(T232_0);
    primitive_type_check(T43_0, &KLsimple_basic_block_vectorGYharp_basic_blockVharp);
    primitive_type_check(T43_1, &KLintegerGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:109
  MV_SET_ELT(1, T43_1);
  MV_SET_COUNT(2);
  return(T43_0);
}

D Keliminate_local_branchesYmain_harpVharpMM0I (D sv_ins_, D block_vector_, D inx_, D the_next_block_) {
  D T5;
  D Utmp_;
  D T7;
  D T8;
  D T9;
  D T10T, T10;
  D tag_;
  D T12;
  D T13;
  D T14;
  D T15;
  D start_;
  D T17;
  D T18;
  D T19;
  D T20;
  D T21;
  DWORD T22;
  D T23;
  DWORD T24;
  DWORD T25;
  D T26;
  D T27;
  DWORD T28;
  D T29;
  D T30;
  D T31_0;
  D T32;
  D T33;
  D T34;
  D T35;
  D T36_0;
  DWORD T37;
  D T38;
  D T39_0;
  D T40;
  D T41;
  DWORD T42;
  D T43;
  DWORD T44;
  DWORD T45;
  D T46;
  DWORD T47;
  DWORD T48;
  D T49;
  DWORD T50;
  DWORD T51;
  D T52;
  DWORD T53;
  D T54;
  D T55;
  D T56;
  D T57;
  D T58;
  D T59;
  D T60;
  D T61;
  D T62;
  D T63_0;
  D T64_0;
  D T65;
  D T66;
  D T67;
  _KLsimple_object_vectorGVKd_1 T68 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T69_0;
  D T70;
  D sv_insF71T, sv_insF71;
  D T72;
  D block_vectorF73T, block_vectorF73;
  D T74;
  D inxF75T, inxF75;
  D T76;
  D the_next_blockF77T, the_next_blockF77;
  D T78;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:257
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
  sv_insF71T = sv_ins_;
  block_vectorF73T = block_vector_;
  inxF75T = inx_;
  the_next_blockF77T = the_next_block_;
L0: ;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    sv_insF71 = sv_insF71T;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    primitive_type_check(sv_insF71, &KLsimple_object_vectorGVKd);
    T72 = sv_insF71;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    block_vectorF73 = block_vectorF73T;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    primitive_type_check(block_vectorF73, &KLsimple_basic_block_vectorGYharp_basic_blockVharp);
    T74 = block_vectorF73;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    inxF75 = inxF75T;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    primitive_type_check(inxF75, &KLintegerGVKd);
    T76 = inxF75;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    the_next_blockF77 = the_next_blockF77T;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
    primitive_type_check(the_next_blockF77, &KLbasic_blockGYharp_basic_blockVharp);
    T78 = the_next_blockF77;
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:261
    T22 = primitive_cast_integer_as_raw(T76);
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:261
    T23 = primitive_machine_word_less_thanQ(1,T22);
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:261
    if (T23 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:262
      T24 = primitive_cast_integer_as_raw(T76);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:262
      T25 = primitive_machine_word_subtract_signal_overflow(T24,4);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:262
      T26 = primitive_cast_raw_as_integer(T25);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
      T27 = SLOT_VALUE_INITD(T74, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
      T28 = primitive_cast_integer_as_raw(T27);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
      T29 = primitive_machine_word_unsigned_less_thanQ(T25,T28);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
      if (T29 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
        T30 = REPEATED_D_SLOT_VALUE_TAGGED(T74, 2, T25);
        T33 = T30;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
        T31_0 = Kelement_range_errorVKeI(T74, T26);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
        T32 = T31_0;
        T33 = T32;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:263
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:264
      T34 = SLOT_VALUE_INITD(T33, 0);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:264
      start_ = T34;
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:265
      T35 = SLOT_VALUE_INITD(T33, 1);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
    L1: ;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T19 = start_;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T37 = primitive_cast_integer_as_raw(T19);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T38 = REPEATED_D_SLOT_VALUE_TAGGED(T72, 1, T37);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T39_0 = T38;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T36_0 = T39_0;
        {
          MV_CHECK_TYPE_PROLOGUE(T39_0);
          primitive_type_check(T36_0, &KLopGYharp_opVharp);
          MV_CHECK_TYPE_EPILOGUE();
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T40 = T36_0;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T41 = SLOT_VALUE_INITD(T40, 1);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T42 = primitive_cast_integer_as_raw(T41);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        T43 = primitive_machine_word_logbitQ(10,T42);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        if (T43 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:267
          T20 = start_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:267
          T44 = primitive_cast_integer_as_raw(T20);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:267
          T45 = primitive_machine_word_add_signal_overflow(T44,20);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:267
          T46 = primitive_cast_raw_as_integer(T45);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:267
          start_ = T46;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
          goto L1;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:266
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      T18 = start_;
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      T47 = primitive_cast_integer_as_raw(T18);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      T48 = primitive_cast_integer_as_raw(T35);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      T49 = primitive_machine_word_less_thanQ(T47,T48);
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      if (T49 != &KPfalseVKi) {
        Utmp_ = &KPfalseVKi;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
        T5 = Kuntagged_prevYmain_harpVharpMM0I(T33);
        Utmp_ = T5;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      if (Utmp_ != &KPfalseVKi) {
        T9 = Utmp_;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:271
        T50 = primitive_cast_integer_as_raw(T35);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:271
        T51 = primitive_machine_word_subtract_signal_overflow(T50,20);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:271
        T52 = primitive_cast_raw_as_integer(T51);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:272
        T53 = primitive_machine_word_add_signal_overflow(T51,4);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:272
        T54 = REPEATED_D_SLOT_VALUE_TAGGED(T72, 1, T53);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:273
        T55 = primitive_instanceQ(T54,&KLtagGYbase_harpVharp);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:273
        if (T55 != &KPfalseVKi) {
          T21 = T54;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:274
          T56 = SLOT_VALUE_INITD(T21, 1);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:274
          T57 = primitive_idQ(T56,T78);
          T7 = T57;
        } else {
          T7 = &KPfalseVKi;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:273
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:273
        if (T7 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:275
          SLOT_VALUE_SETTER(T52, T33, 1);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:275
          T17 = start_;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:275
          T58 = primitive_idQ(T17,T52);
          T8 = T58;
        } else {
          T8 = &KPfalseVKi;
        }
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:273
        T9 = T8;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      if (T9 != &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:278
        T59 = SLOT_VALUE_INITD(T33, 2);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
        T10T = T59;
      L2: ;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
          T10 = T10T;
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
          T60 = primitive_idQ(T10,&KPempty_listVKi);
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
          if (T60 == &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
            T61 = SLOT_VALUE_INITD(T10, 0);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
            primitive_type_check(T61, &KLtagGYbase_harpVharp);
            tag_ = T61;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:280
            SLOT_VALUE_SETTER(T78, tag_, 1);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
            T62 = SLOT_VALUE_INITD(T10, 1);
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
            T63_0 = T62;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
            T64_0 = T63_0;
            {
              MV_CHECK_TYPE_PROLOGUE(T63_0);
              primitive_type_check(T64_0, &KLlistGVKd);
              MV_CHECK_TYPE_EPILOGUE();
            }
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
            T65 = T64_0;
            // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
            T10T = T65;
            goto L2;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
          // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:279
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:282
        T66 = SLOT_VALUE_INITD(T78, 2);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:282
        T68.vector_element_[0] = T66;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:282
        T69_0 = Kconcatenate_asVKdMM4I(&KLlistGVKd, T59, &T68);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:282
        T67 = T69_0;
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:282
        SLOT_VALUE_SETTER(T67, T78, 2);
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
        sv_insF71T = sv_ins_;
        block_vectorF73T = block_vector_;
        inxF75T = T26;
        the_next_blockF77T = the_next_block_;
        goto L0;
        T13 = T70;
      } else {
        // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:285
        T12 = T26;
        MV_SET_ELT(0, T26);
        MV_SET_COUNT(1);
        T13 = T12;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:269
      T15 = T13;
    } else {
      // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:261
      T14 = &KPfalseVKi;
      MV_SET_ELT(0, &KPfalseVKi);
      MV_SET_COUNT(1);
      T15 = T14;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:261
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:283
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:257
  return(T15);
}

D Kmake_branch_blockYmain_harpVharpMM0I (D backend_, D dest_tag_) {
  D T3;
  D T4;
  D bra_;
  D T6_0;
  D T7;
  D T8;
  D T9;
  DWORD T10;
  DWORD T11;
  D T12;
  D T13;
  D T14;
  D T15;
  DWORD T16;
  DWORD T17;
  D T18;
  DWORD T19;
  DWORD T20;
  D T21;
  D T22;
  DWORD T23;
  DWORD T24;
  D T25;
  D T26;
  DWORD T27;
  DWORD T28;
  D T29;
  D T30;
  DWORD T31;
  DWORD T32;
  D T33;
  D T34;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:29
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:31
  T3 = Kmake_bbYbase_harpVharpMM0I(backend_);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:32
  Kmake_current_this_bbYbase_harpVharpMM0I(backend_, T3);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:36
  CONGRUENT_CALL_PROLOG(&KinstructionsYbase_harpVharp, 1);
  T4 = CONGRUENT_CALL1(backend_);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:36
  bra_ = CALL1(&Kharp_braYharp_instructionsVharp, T4);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T7 = SLOT_VALUE(backend_, 3);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T8 = SLOT_VALUE_INITD(T7, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T9 = SLOT_VALUE_INITD(T7, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T10 = primitive_cast_integer_as_raw(T9);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T11 = primitive_machine_word_add_signal_overflow(T10,20);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T12 = primitive_cast_raw_as_integer(T11);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T13 = SLOT_VALUE_INITD(T7, 20);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  if (T13 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    CALL3(&Koutput_errorYharp_instructionsVharpMM0, backend_, bra_, dest_tag_);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T14 = Kensure_room_in_vectorYbase_harpVharpMM0I(T8, T12);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  SLOT_VALUE_SETTER(T14, T7, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T15 = SLOT_VALUE_INITD(T14, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T16 = primitive_cast_integer_as_raw(T9);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T17 = primitive_cast_integer_as_raw(T15);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T18 = primitive_machine_word_unsigned_less_thanQ(T16,T17);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  if (T18 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    REPEATED_D_SLOT_VALUE_TAGGED_SETTER(bra_, T14, 1, T16);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    Kelement_range_errorVKeI(T14, T9);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T19 = primitive_cast_integer_as_raw(T9);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T20 = primitive_machine_word_add_signal_overflow(T19,4);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T21 = primitive_cast_raw_as_integer(T20);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T22 = primitive_machine_word_unsigned_less_thanQ(T20,T17);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  if (T22 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    REPEATED_D_SLOT_VALUE_TAGGED_SETTER(dest_tag_, T14, 1, T20);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    Kelement_range_errorVKeI(T14, T21);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T23 = primitive_cast_integer_as_raw(T9);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T24 = primitive_machine_word_add_signal_overflow(T23,8);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T25 = primitive_cast_raw_as_integer(T24);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T26 = primitive_machine_word_unsigned_less_thanQ(T24,T17);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  if (T26 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    REPEATED_D_SLOT_VALUE_TAGGED_SETTER(&KPfalseVKi, T14, 1, T24);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    Kelement_range_errorVKeI(T14, T25);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T27 = primitive_cast_integer_as_raw(T9);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T28 = primitive_machine_word_add_signal_overflow(T27,12);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T29 = primitive_cast_raw_as_integer(T28);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T30 = primitive_machine_word_unsigned_less_thanQ(T28,T17);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  if (T30 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    REPEATED_D_SLOT_VALUE_TAGGED_SETTER(&KPfalseVKi, T14, 1, T28);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    Kelement_range_errorVKeI(T14, T29);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T31 = primitive_cast_integer_as_raw(T9);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T32 = primitive_machine_word_add_signal_overflow(T31,16);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T33 = primitive_cast_raw_as_integer(T32);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  T34 = primitive_machine_word_unsigned_less_thanQ(T32,T17);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  if (T34 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    REPEATED_D_SLOT_VALUE_TAGGED_SETTER(&KPfalseVKi, T14, 1, T32);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
    Kelement_range_errorVKeI(T14, T33);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:37
  SLOT_VALUE_SETTER(T12, T7, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:39
  Kfinish_bbYbase_harpVharpMM0I(backend_);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:42
  T6_0 = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:29
  MV_SET_COUNT(1);
  return(T6_0);
}

D Kuntagged_prevYmain_harpVharpMM0I (D prev_block_) {
  D T2_0;
  D T3;
  D T4_0;
  D T5;
  D T6;
  D T7;
  D T8;
  D T9_0;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:291
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:292
  T5 = SLOT_VALUE_INITD(prev_block_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
  T6 = primitive_idQ(T5,&KPempty_listVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
  if (T6 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
    T2_0 = T6;
    T4_0 = T2_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
    T7 = SLOT_VALUE_INITD(T5, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
    T3 = CALL1(&Ktag_bbYbase_harpVharp, T7);
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
    T8 = primitive_idQ(T3,prev_block_);
    // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
    T9_0 = T8;
    T4_0 = T9_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:293
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:291
  MV_SET_COUNT(1);
  return(T4_0);
}

D KLqueueGZ32ZconstructorYmain_harpVharpMM0I (D class_, D init_args_, D Uunique_top_of_queue_) {
  D T4;
  D Uunique_top_of_queueF5;
  D T6;
  D T7_0;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:61
  T4 = primitive_object_allocate_filled(3,&KLqueueGYmain_harpVharpW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_top_of_queue_, &KLlistGVKd);
  Uunique_top_of_queueF5 = Uunique_top_of_queue_;
  SLOT_VALUE_SETTER(Uunique_top_of_queueF5, T4, 0);
  T6 = K24I();
  SLOT_VALUE_SETTER(T6, T4, 1);
  APPLY2(&KinitializeVKd, T4, init_args_);
  T7_0 = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:61
  MV_SET_COUNT(1);
  return(T7_0);
}

static D K24I () {
  D init_value_;
  D T1_0;

  primitive_type_check(Dempty_queueYmain_harpVharp, &KLabstract_queueGYmain_harpVharp);
  init_value_ = Dempty_queueYmain_harpVharp;
  T1_0 = init_value_;
  MV_SET_COUNT(1);
  return(T1_0);
}

static D K41I () {
  D init_value_;
  D T1_0;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:63
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:63
  primitive_type_check(Dempty_queueYmain_harpVharp, &KLabstract_queueGYmain_harpVharp);
  init_value_ = Dempty_queueYmain_harpVharp;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:63
  T1_0 = init_value_;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:63
  MV_SET_COUNT(1);
  return(T1_0);
}

D KLempty_queueGZ32ZconstructorYmain_harpVharpMM0I (D class_, D init_args_) {
  D T3;
  D T4_0;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:56
  T3 = primitive_object_allocate_filled(1,&KLempty_queueGYmain_harpVharpW,0,&KPunboundVKi,0,0,&KPunboundVKi);
  APPLY2(&KinitializeVKd, T3, init_args_);
  T4_0 = T3;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:56
  MV_SET_COUNT(1);
  return(T4_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJtop_);
    if (T0 != &KJtop_) {
      primitive_slot_value_setter(T0, &Ktop_of_queueYmain_harpVharpHLqueueG, 3);
      primitive_repeated_slot_value_setter(T0, &K27, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K26, 1, 0);
      IKJtop_ = T0;
    }
  }
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:53
  T0 = KPadd_classVKeI(&KLabstract_queueGYmain_harpVharp);
  goto I0;
}
I0:

  return;
}

/* USER INIT CODE */

void _Init_harp__X_asm_linearise_for_user () {
{
  D T0;
  D T1;

  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:59
  CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
  T0 = CONGRUENT_CALL2(&KLempty_queueGYmain_harpVharp, &KPempty_vectorVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:59
  Dempty_queueYmain_harpVharp = T0;
  // /Users/bruce/Development/dylan/opendylan/sources/harp/core-harp/asm-linearise.dylan:59
  T1 = &KPfalseVKi;
  goto I3;
}
I3:

  return;
}


/* eof */
