/*
** Automatically generated from `recompilation.used_file.m'
** by the Mercury compiler,
** version 22.01.9-beta-2026-08-29
** configured for x86_64-pc-linux-gnu.
** Do not edit.
**
** The autoconfigured grade settings governing
** the generation of this C file were
**
** TAG_BITS=2
** UNBOXED_FLOAT=no
** UNBOXED_INT64S=no
** PREGENERATED_DIST=yes
** HIGHLEVEL_CODE=yes
**
** END_OF_C_GRADE_INFO
*/


// :- module recompilation.used_file.
// :- implementation.

/*
INIT mercury__recompilation__used_file__init
ENDINIT
*/

#include "recompilation.used_file.mih"


#include "analysis.mih"
#include "array.mih"
#include "assoc_list.mih"
#include "bimap.mih"
#include "bitmap.mih"
#include "bool.mih"
#include "builtin.mih"
#include "char.mih"
#include "check_hlds.mih"
#include "construct.mih"
#include "cord.mih"
#include "deconstruct.mih"
#include "digraph.mih"
#include "edit_seq.mih"
#include "enum.mih"
#include "getopt.mih"
#include "hlds.mih"
#include "integer.mih"
#include "io.mih"
#include "libs.mih"
#include "list.mih"
#include "map.mih"
#include "maybe.mih"
#include "mdbcomp.mih"
#include "mercury_term_lexer.mih"
#include "mercury_term_parser.mih"
#include "mode_robdd.mih"
#include "multi_map.mih"
#include "one_or_more.mih"
#include "one_or_more_map.mih"
#include "ops.mih"
#include "pair.mih"
#include "parse_tree.mih"
#include "pretty_printer.mih"
#include "private_builtin.mih"
#include "queue.mih"
#include "recompilation.mih"
#include "require.mih"
#include "robdd.mih"
#include "set.mih"
#include "set_ordlist.mih"
#include "set_tree234.mih"
#include "sparse_bitset.mih"
#include "stack.mih"
#include "stream.mih"
#include "string.mih"
#include "term.mih"
#include "term_io.mih"
#include "time.mih"
#include "transform_hlds.mih"
#include "tree234.mih"
#include "type_desc.mih"
#include "unit.mih"
#include "univ.mih"
#include "varset.mih"
#include "check_hlds.mode_constraint_robdd.mih"
#include "check_hlds.mode_errors.mih"
#include "check_hlds.proc_requests.mih"
#include "hlds.const_struct.mih"
#include "hlds.goal_mode.mih"
#include "hlds.hlds_class.mih"
#include "hlds.hlds_clauses.mih"
#include "hlds.hlds_cons.mih"
#include "hlds.hlds_data.mih"
#include "hlds.hlds_dependency_graph.mih"
#include "hlds.hlds_goal.mih"
#include "hlds.hlds_inst_mode.mih"
#include "hlds.hlds_llds.mih"
#include "hlds.hlds_module.mih"
#include "hlds.hlds_pred.mih"
#include "hlds.hlds_promise.mih"
#include "hlds.hlds_rtti.mih"
#include "hlds.inst_graph.mih"
#include "hlds.instmap.mih"
#include "hlds.pred_table.mih"
#include "hlds.special_pred.mih"
#include "hlds.status.mih"
#include "hlds.vartypes.mih"
#include "libs.dependency_graph.mih"
#include "libs.file_util.mih"
#include "libs.globals.mih"
#include "libs.maybe_succeeded.mih"
#include "libs.op_mode.mih"
#include "libs.optimization_options.mih"
#include "libs.options.mih"
#include "libs.polyhedron.mih"
#include "libs.timestamp.mih"
#include "libs.trace_params.mih"
#include "mdbcomp.builtin_modules.mih"
#include "mdbcomp.feedback.mih"
#include "mdbcomp.goal_path.mih"
#include "mdbcomp.prim_data.mih"
#include "mdbcomp.program_representation.mih"
#include "mdbcomp.sym_name.mih"
#include "mode_robdd.tfeirn.mih"
#include "parse_tree.error_util.mih"
#include "parse_tree.file_kind.mih"
#include "parse_tree.file_names.mih"
#include "parse_tree.maybe_error.mih"
#include "parse_tree.mercury_to_mercury.mih"
#include "parse_tree.module_imports.mih"
#include "parse_tree.module_qual.mih"
#include "parse_tree.parse_error.mih"
#include "parse_tree.parse_sym_name.mih"
#include "parse_tree.parse_tree_out_info.mih"
#include "parse_tree.parse_tree_out_term.mih"
#include "parse_tree.parse_util.mih"
#include "parse_tree.prog_data.mih"
#include "parse_tree.prog_data_event.mih"
#include "parse_tree.prog_data_foreign.mih"
#include "parse_tree.prog_data_pragma.mih"
#include "parse_tree.prog_data_used_modules.mih"
#include "parse_tree.prog_foreign.mih"
#include "parse_tree.prog_item.mih"
#include "parse_tree.prog_out.mih"
#include "parse_tree.prog_rename.mih"
#include "parse_tree.set_of_var.mih"
#include "recompilation.version.mih"
#include "string.format.mih"
#include "string.parse_util.mih"
#include "transform_hlds.term_constr_errors.mih"
#include "transform_hlds.term_constr_main_types.mih"
#include "transform_hlds.term_errors.mih"
#include "transform_hlds.term_util.mih"




static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_parse_tree__prog_data__type_ctor_info_name_arity_0__plain_tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1;

static const MR_VA_PseudoTypeInfo_Struct2 recompilation__used_file____vpti_func_2__pseudo_pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_builtin__type_ctor_info_string_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1;

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_builtin__type_ctor_info_string_0__pseudo_list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_recompilation__used_file__type_ctor_info_module_imported_items_0;

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0;

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0;

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__set_ordlist__pti_set_ordlist_1__plain_recompilation__type_ctor_info_item_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_parse_tree__prog_data__type_ctor_info_name_arity_0__plain_tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__term__ti_term_1term__type_ctor_info_generic_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0;

static const MR_VA_PseudoTypeInfo_Struct5 recompilation__used_file____vpti_pred_5__plain_term__ti_term_1term__type_ctor_info_generic_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_hlds__hlds_pred__type_ctor_info_pred_id_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__list__pti_list_1__plain_recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0recompilation__used_file__type_ctor_info_module_imported_items_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_module_imported_items_0_0[8];

static const MR_ConstString recompilation__used_file__recompilation__used_file__field_names_module_imported_items_0_0[8];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_module_imported_items_0_0;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_module_imported_items_0_0[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_module_imported_items_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_module_imported_items_0[1];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_module_imported_items_0[1];

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_module_name_and_timestamp_0_0[2];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_module_name_and_timestamp_0_0;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_module_name_and_timestamp_0_0[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_module_name_and_timestamp_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_module_name_and_timestamp_0[1];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_module_name_and_timestamp_0[1];

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__maybe__ti_maybe_1recompilation__type_ctor_info_module_item_version_numbers_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_recomp_used_module_0_0[3];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_recomp_used_module_0_0;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_recomp_used_module_0_0[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_recomp_used_module_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_recomp_used_module_0[1];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_recomp_used_module_0[1];

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_0[4];

static const MR_DuArgLocn recompilation__used_file__recompilation__used_file__field_locns_resolved_functor_0_0[4];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_1[1];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_1;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_2[1];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_2;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_1[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_2[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_resolved_functor_0[3];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_resolved_functor_0[3];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_resolved_functor_0[3];

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0;

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__pseudo_list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2parse_tree__prog_data__type_ctor_info_name_arity_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_used_items_0_0[8];

static const MR_ConstString recompilation__used_file__recompilation__used_file__field_names_resolved_used_items_0_0[8];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_used_items_0_0;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_used_items_0_0[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_resolved_used_items_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_resolved_used_items_0[1];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_resolved_used_items_0[1];

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1mdbcomp__sym_name__type_ctor_info_sym_name_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1recompilation__type_ctor_info_item_name_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1recompilation__used_file__type_ctor_info_recomp_used_module_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_0_0[5];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_0_0;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_0_0[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_0[1];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_0[1];

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0parse_tree__module_imports__type_ctor_info_module_timestamp_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0recompilation__type_ctor_info_module_item_version_numbers_0;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__type_ctor_info_item_name_0;

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__type_ctor_info_item_name_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_contents_0_0[8];

static const MR_ConstString recompilation__used_file__recompilation__used_file__field_names_used_file_contents_0_0[8];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_contents_0_0;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_contents_0_0[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_contents_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_contents_0[1];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_contents_0[1];

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_0[2];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_1[2];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_1;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_2[1];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_2;

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1parse_tree__error_util__type_ctor_info_error_spec_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_3[1];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_3;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_1[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_2[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_3[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_error_0[4];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_error_0[4];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_error_0[4];

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_result_1_0[1];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_0;

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_result_1_1[1];

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_1;

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_result_1_0[1];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_result_1_1[1];

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_result_1[2];

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_result_1[2];

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_result_1[2];

static void MR_CALL 
recompilation__used_file__IntroducedFrom__pred__parse_resolved_item_arity_matches__1224__1_7_p_0(
  MR_Word TypeInfo_for_T_52,
  MR_Word ParseMatches_7,
  MR_Word LambdaHeadVar__1_37,
  MR_Word LambdaHeadVar__2_38,
  MR_Word * LambdaHeadVar__3_39,
  MR_Word LambdaHeadVar__4_40,
  MR_Word * LambdaHeadVar__5_41);

static MR_bool MR_CALL 
recompilation__used_file__IntroducedFrom__pred__parse_pred_or_func_item_match__1062__1_3_p_0(
  MR_Word InvPredId_9,
  MR_Word LambdaHeadVar__1_31,
  MR_Word * LambdaHeadVar__2_32);

static MR_bool MR_CALL 
recompilation__used_file__IntroducedFrom__pred__read_and_parse_inline_submodules__861__1_2_p_0(
  MR_Word HeadVar__1_36,
  MR_Word * HeadVar__2_37);

static void MR_CALL 
recompilation__used_file____Compare____parse_resolved_item_matches_1_0(
  MR_Word TypeInfo_for_T_6,
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3);

static void MR_CALL 
recompilation__used_file__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_67_111_109_112_97_114_101_95_95_95_114_101_99_111_109_112_105_108_97_116_105_111_110_95_95_117_115_101_100_95_102_105_108_101_95_95_112_97_114_115_101_95_114_101_115_111_108_118_101_100_95_105_116_101_109_95_109_97_116_99_104_101_115_95_49_95_95_91_49_93_95_48_3_p_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____parse_resolved_item_matches_1_0(
  MR_Word TypeInfo_for_T_5,
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2);

static MR_bool MR_CALL 
recompilation__used_file__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_85_110_105_102_121_95_95_95_114_101_99_111_109_112_105_108_97_116_105_111_110_95_95_117_115_101_100_95_102_105_108_101_95_95_112_97_114_115_101_95_114_101_115_111_108_118_101_100_95_105_116_101_109_95_109_97_116_99_104_101_115_95_49_95_95_91_49_93_95_48_2_p_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2);

static void MR_CALL 
recompilation__used_file____Compare____module_name_and_timestamp_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____module_name_and_timestamp_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2);

static void MR_CALL 
recompilation__used_file__parse_name_and_arity_item_add_to_set_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_UsedClasses_0_14,
  MR_Word * STATE_VARIABLE_UsedClasses_15,
  MR_Word STATE_VARIABLE_Errors_0_16,
  MR_Word * STATE_VARIABLE_Errors_17);

static void MR_CALL 
recompilation__used_file__parse_resolved_item_arity_matches_6_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_resolved_item_arity_matches_6_p_0(
  MR_Word TypeInfo_for_T_52,
  MR_Word ParseMatches_7,
  MR_Word Term_8,
  MR_Word STATE_VARIABLE_RevArityMatchMaps_0_25,
  MR_Word * STATE_VARIABLE_RevArityMatchMaps_26,
  MR_Word STATE_VARIABLE_Errors_0_27,
  MR_Word * STATE_VARIABLE_Errors_28);

static void MR_CALL 
recompilation__used_file__parse_resolved_functor_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_RevCtors_0_29,
  MR_Word * STATE_VARIABLE_RevCtors_30,
  MR_Word STATE_VARIABLE_Errors_0_31,
  MR_Word * STATE_VARIABLE_Errors_32);

static void MR_CALL 
recompilation__used_file__parse_functor_matches_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_functor_matches_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Map_0_19,
  MR_Word * STATE_VARIABLE_Map_20,
  MR_Word STATE_VARIABLE_Errors_0_21,
  MR_Word * STATE_VARIABLE_Errors_22);

static void MR_CALL 
recompilation__used_file__parse_functor_item_5_p_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_functor_item_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_functor_item_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Set_0_9,
  MR_Word * STATE_VARIABLE_Set_10,
  MR_Word STATE_VARIABLE_Errors_0_11,
  MR_Word * STATE_VARIABLE_Errors_12);

static MR_bool MR_CALL 
recompilation__used_file__parse_pred_or_func_item_match_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2);

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_match_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Items_0_21,
  MR_Word * STATE_VARIABLE_Items_22,
  MR_Word STATE_VARIABLE_Errors_0_23,
  MR_Word * STATE_VARIABLE_Errors_24);

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_5_p_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Set_0_9,
  MR_Word * STATE_VARIABLE_Set_10,
  MR_Word STATE_VARIABLE_Errors_0_11,
  MR_Word * STATE_VARIABLE_Errors_12);

static void MR_CALL 
recompilation__used_file__parse_simple_item_match_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_ItemMap_0_16,
  MR_Word * STATE_VARIABLE_ItemMap_17,
  MR_Word STATE_VARIABLE_Errors_0_18,
  MR_Word * STATE_VARIABLE_Errors_19);

static void MR_CALL 
recompilation__used_file__parse_simple_item_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_simple_item_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Set_0_20,
  MR_Word * STATE_VARIABLE_Set_21,
  MR_Word STATE_VARIABLE_Errors_0_22,
  MR_Word * STATE_VARIABLE_Errors_23);

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0_3(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_UsedItems_0_20,
  MR_Word * STATE_VARIABLE_UsedItems_21,
  MR_Word STATE_VARIABLE_Errors_0_22,
  MR_Word * STATE_VARIABLE_Errors_23);

static MR_String MR_CALL 
recompilation__used_file__module_name_and_used_items_to_string_2_f_0(
  MR_Word UsedFileContents_4,
  MR_Word HeadVar__2_2);

static MR_String MR_CALL 
recompilation__used_file__used_classname_and_arity_to_string_1_f_0(
  MR_Word ItemName_3);

static MR_String MR_CALL 
recompilation__used_file__resolved_item_set_to_string_3_2_f_0(
  MR_Word TypeInfo_for_T_19,
  MR_Word MatchesToStr_4,
  MR_Word HeadVar__2_2);

static MR_Box MR_CALL 
recompilation__used_file__resolved_item_set_to_string_2_2_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_String MR_CALL 
recompilation__used_file__resolved_item_set_to_string_2_2_f_0(
  MR_Word TypeInfo_for_T_20,
  MR_Word MatchesToStr_4,
  MR_Word HeadVar__2_2);

static MR_String MR_CALL 
recompilation__used_file__resolved_functor_to_string_1_f_0(
  MR_Word ResolvedFunctor_3);

static MR_Box MR_CALL 
recompilation__used_file__functor_matches_to_string_2_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_String MR_CALL 
recompilation__used_file__functor_matches_to_string_2_1_f_0(
  MR_Word HeadVar__1_1);

static MR_Box MR_CALL 
recompilation__used_file__pred_or_func_matches_to_string_3_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_String MR_CALL 
recompilation__used_file__pred_or_func_matches_to_string_3_1_f_0(
  MR_Word HeadVar__1_1);

static MR_String MR_CALL 
recompilation__used_file__simple_item_matches_to_string_4_1_f_0(
  MR_Word HeadVar__1_1);

static MR_Box MR_CALL 
recompilation__used_file__simple_item_matches_to_string_3_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_String MR_CALL 
recompilation__used_file__simple_item_matches_to_string_3_1_f_0(
  MR_Word HeadVar__1_1);

static void MR_CALL 
recompilation__used_file__read_and_parse_used_file_6_p_0(
  MR_String UsedFileName_7,
  MR_String UsedFileString_8,
  MR_Integer MaxOffset_9,
  MR_Word STATE_VARIABLE_LineContext_0_37,
  MR_Word STATE_VARIABLE_LinePosn_0_38,
  MR_Word * ParseUsedFile_12);

static void MR_CALL 
recompilation__used_file__read_and_parse_used_modules_9_p_0(
  MR_String FileName_10,
  MR_String FileString_11,
  MR_Integer MaxOffset_12,
  MR_Word STATE_VARIABLE_LineContext_0_36,
  MR_Word * STATE_VARIABLE_LineContext_37,
  MR_Word STATE_VARIABLE_LinePosn_0_38,
  MR_Word * STATE_VARIABLE_LinePosn_39,
  MR_Word STATE_VARIABLE_UsedModulesCord_0_40,
  MR_Word * ParseUsedModules_16);

static void MR_CALL 
recompilation__used_file__read_and_parse_used_classes_8_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__read_and_parse_used_classes_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_26,
  MR_Word * STATE_VARIABLE_LineContext_27,
  MR_Word STATE_VARIABLE_LinePosn_0_28,
  MR_Word * STATE_VARIABLE_LinePosn_29,
  MR_Word * ParseUsedClasses_14);

static void MR_CALL 
recompilation__used_file__read_and_parse_used_items_8_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5);

static void MR_CALL 
recompilation__used_file__read_and_parse_used_items_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_28,
  MR_Word * STATE_VARIABLE_LineContext_29,
  MR_Word STATE_VARIABLE_LinePosn_0_30,
  MR_Word * STATE_VARIABLE_LinePosn_31,
  MR_Word * ParseUsedItems_14);

static MR_bool MR_CALL 
recompilation__used_file__read_and_parse_inline_submodules_8_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2);

static void MR_CALL 
recompilation__used_file__read_and_parse_inline_submodules_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_22,
  MR_Word * STATE_VARIABLE_LineContext_23,
  MR_Word STATE_VARIABLE_LinePosn_0_24,
  MR_Word * STATE_VARIABLE_LinePosn_25,
  MR_Word * ParseSubModules_14);

static void MR_CALL 
recompilation__used_file__read_and_parse_module_timestamp_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_18,
  MR_Word * STATE_VARIABLE_LineContext_19,
  MR_Word STATE_VARIABLE_LinePosn_0_20,
  MR_Word * STATE_VARIABLE_LinePosn_21,
  MR_Word * ParseTerm_14);

static void MR_CALL 
recompilation__used_file__read_and_parse_used_file_version_number_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_21,
  MR_Word * STATE_VARIABLE_LineContext_22,
  MR_Word STATE_VARIABLE_LinePosn_0_23,
  MR_Word * STATE_VARIABLE_LinePosn_24,
  MR_Word * ParseTerm_14);

static void MR_CALL 
recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(
  MR_String FileName_10,
  MR_String FileString_11,
  MR_Integer MaxOffset_12,
  MR_Word STATE_VARIABLE_LineContext_0_25,
  MR_Word * STATE_VARIABLE_LineContext_26,
  MR_Word STATE_VARIABLE_LinePosn_0_27,
  MR_Word * STATE_VARIABLE_LinePosn_28,
  MR_String ItemName_15,
  MR_Word * ReadTerm_16);

static MR_Box MR_CALL 
recompilation__used_file__write_usage_file_to_stream_4_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static void MR_CALL 
recompilation__used_file__write_usage_file_to_stream_4_p_0(
  MR_Word Stream_5,
  MR_Word UsedFileContents_6);

static MR_Box MR_CALL 
recompilation__used_file__used_classes_to_string_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_String MR_CALL 
recompilation__used_file__used_classes_to_string_1_f_0(
  MR_Word UsedClasses_3);

static MR_String MR_CALL 
recompilation__used_file__used_items_to_string_1_f_0(
  MR_Word ResolvedUsedItems_3);

static MR_Box MR_CALL 
recompilation__used_file__maybe_functor_matches_to_string_1_f_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_Box MR_CALL 
recompilation__used_file__maybe_functor_matches_to_string_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_Word MR_CALL 
recompilation__used_file__maybe_functor_matches_to_string_1_f_0(
  MR_Word ItemSet_3);

static MR_Box MR_CALL 
recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_Box MR_CALL 
recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_Word MR_CALL 
recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0(
  MR_Word ItemType_4,
  MR_Word ItemSet_5);

static MR_Box MR_CALL 
recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_Word MR_CALL 
recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0(
  MR_Word ItemType_4,
  MR_Word ItemSet_5);

static MR_Box MR_CALL 
recompilation__used_file__nested_children_of_top_module_to_string_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1);

static MR_String MR_CALL 
recompilation__used_file__nested_children_of_top_module_to_string_1_f_0(
  MR_Word MaybeTopModule_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____imported_item_set_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____imported_item_set_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____imported_items_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____imported_items_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____module_imported_items_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____module_imported_items_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____module_name_and_timestamp_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____module_name_and_timestamp_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____parse_resolved_item_matches_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static void MR_CALL 
recompilation__used_file____Compare____parse_resolved_item_matches_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4);

static MR_bool MR_CALL 
recompilation__used_file____Unify____recomp_used_module_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____recomp_used_module_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____resolved_functor_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_map_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____resolved_functor_map_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_set_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____resolved_functor_set_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_list_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static void MR_CALL 
recompilation__used_file____Compare____resolved_item_list_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_map_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static void MR_CALL 
recompilation__used_file____Compare____resolved_item_map_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_set_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static void MR_CALL 
recompilation__used_file____Compare____resolved_item_set_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_pred_or_func_map_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____resolved_pred_or_func_map_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_pred_or_func_set_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____resolved_pred_or_func_set_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_used_items_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____resolved_used_items_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____used_file_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_contents_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____used_file_contents_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_error_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2);

static void MR_CALL 
recompilation__used_file____Compare____used_file_error_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_result_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3);

static void MR_CALL 
recompilation__used_file____Compare____used_file_result_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4);


static /* final */ const MR_Box recompilation__used_file_scalar_common_1[36][3];

static /* final */ const MR_Box recompilation__used_file_scalar_common_2[15][2];

static /* final */ const MR_Box recompilation__used_file_scalar_common_3[4][1];

static /* final */ const MR_Box recompilation__used_file_scalar_common_4[12][5];

static /* final */ const MR_Integer recompilation__used_file_scalar_common_5[1][2];

static /* final */ const MR_Box recompilation__used_file_scalar_common_6[2][7];

static /* final */ const MR_Box recompilation__used_file_scalar_common_7[2][6];

static /* final */ const MR_Box recompilation__used_file_scalar_common_9[9][8];

static /* final */ const MR_Box recompilation__used_file_scalar_common_11[2][10];


/* sealed */ struct recompilation__used_file__vector_common_type_8_0_s {
  const MR_String recompilation__used_file__vector_common_type_8_0__vct_8_f_0;
  const MR_Word recompilation__used_file__vector_common_type_8_0__vct_8_f_1;
};

static /* final */ const struct recompilation__used_file__vector_common_type_8_0_s recompilation__used_file_vector_common_8[14];

/* sealed */ struct recompilation__used_file__vector_common_type_10_0_s {
  const MR_String recompilation__used_file__vector_common_type_10_0__vct_10_f_0;
};

static /* final */ const struct recompilation__used_file__vector_common_type_10_0_s recompilation__used_file_vector_common_10[10];

/* sealed */ struct recompilation__used_file__vector_common_type_12_0_s {
  const MR_String recompilation__used_file__vector_common_type_12_0__vct_12_f_0;
  const MR_Integer recompilation__used_file__vector_common_type_12_0__vct_12_f_1;
};

static /* final */ const struct recompilation__used_file__vector_common_type_12_0_s recompilation__used_file_vector_common_12[4];



static /* final */ const MR_Box recompilation__used_file_scalar_common_1[36][3] = {
  /* row 0 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0))
  },
  /* row 1 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[0]))
  },
  /* row 2 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[1]))
  },
  /* row 3 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0))
  },
  /* row 4 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[2]))
  },
  /* row 5 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[4]))
  },
  /* row 6 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_module_imported_items_0))
  },
  /* row 7 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[0]))
  },
  /* row 8 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0))
  },
  /* row 9 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[0]))
  },
  /* row 10 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[3]))
  },
  /* row 11 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[1]))
  },
  /* row 12 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_module_imported_items_0))
  },
  /* row 13 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_module_timestamp_0))
  },
  /* row 14 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__recompilation__type_ctor_info_module_item_version_numbers_0))
  },
  /* row 15 */
  {
    ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[4]))
  },
  /* row 16 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[0])),
    ((MR_Box) (recompilation__used_file__nested_children_of_top_module_to_string_1_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 17 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[1])),
    ((MR_Box) (recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 18 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[2])),
    ((MR_Box) (recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 19 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[3]))
  },
  /* row 20 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[4])),
    ((MR_Box) (recompilation__used_file__maybe_functor_matches_to_string_1_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 21 */
  {
    ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[1]))
  },
  /* row 22 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[6])),
    ((MR_Box) (recompilation__used_file__used_classes_to_string_1_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 23 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[7])),
    ((MR_Box) (recompilation__used_file__read_and_parse_inline_submodules_8_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 24 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[0])),
    ((MR_Box) (recompilation__used_file__read_and_parse_used_items_8_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 25 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[1])),
    ((MR_Box) (recompilation__used_file__read_and_parse_used_classes_8_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 26 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[8])),
    ((MR_Box) (recompilation__used_file__simple_item_matches_to_string_3_1_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 27 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[0])),
    ((MR_Box) (recompilation__used_file__pred_or_func_matches_to_string_3_1_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 28 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_4[9])),
    ((MR_Box) (recompilation__used_file__functor_matches_to_string_2_1_f_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 29 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[2])),
    ((MR_Box) (recompilation__used_file__parse_used_item_set_5_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 30 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[3])),
    ((MR_Box) (recompilation__used_file__parse_used_item_set_5_p_0_2)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 31 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[4])),
    ((MR_Box) (recompilation__used_file__parse_used_item_set_5_p_0_3)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 32 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[5])),
    ((MR_Box) (recompilation__used_file__parse_simple_item_5_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 33 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[6])),
    ((MR_Box) (recompilation__used_file__parse_pred_or_func_item_5_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 34 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[7])),
    ((MR_Box) (recompilation__used_file__parse_functor_item_5_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 35 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_9[8])),
    ((MR_Box) (recompilation__used_file__parse_functor_matches_5_p_0_1)),
    ((MR_Box) ((MR_Integer) 0))
  },
};

static /* final */ const MR_Box recompilation__used_file_scalar_common_2[15][2] = {
  /* row 0 */
  {
    ((MR_Box) (&mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0))
  },
  /* row 1 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[2]))
  },
  /* row 2 */
  {
    ((MR_Box) (&mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1)),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[3]))
  },
  /* row 3 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[5]))
  },
  /* row 4 */
  {
    ((MR_Box) (&mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1)),
    ((MR_Box) (&recompilation__recompilation__type_ctor_info_item_name_0))
  },
  /* row 5 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0))
  },
  /* row 6 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_recomp_used_module_0))
  },
  /* row 7 */
  {
    ((MR_Box) (&mercury__term__term__type_ctor_info_term_1)),
    ((MR_Box) (&mercury__term__term__type_ctor_info_generic_0))
  },
  /* row 8 */
  {
    ((MR_Box) (&mercury__cord__cord__type_ctor_info_cord_1)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 9 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0))
  },
  /* row 10 */
  {
    ((MR_Box) (&mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1)),
    ((MR_Box) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0))
  },
  /* row 11 */
  {
    ((MR_Box) (&mercury__maybe__maybe__type_ctor_info_maybe_1)),
    ((MR_Box) (&recompilation__recompilation__type_ctor_info_module_item_version_numbers_0))
  },
  /* row 12 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&recompilation__recompilation__type_ctor_info_item_name_0))
  },
  /* row 13 */
  {
    ((MR_Box) (&mercury__list__list__type_ctor_info_list_1)),
    ((MR_Box) (&parse_tree__error_util__parse_tree__error_util__type_ctor_info_error_spec_0))
  },
  /* row 14 */
  {
    ((MR_Box) ((MR_Integer) 1)),
    ((MR_Box) ((MR_Integer) 0))
  },
};

static /* final */ const MR_Box recompilation__used_file_scalar_common_3[4][1] = {
  /* row 0 */
  {
    ((MR_Box) (((MR_Box) ((MR_String) ".used"))))
  },
  /* row 1 */
  {
    (MR_Box) (((((MR_Unsigned) 0U << 4)) | (((((MR_Unsigned) 0U << 3)) | (((((MR_Unsigned) 0U << 2)) | (((MR_Unsigned) 0U << 1))))))))
  },
  /* row 2 */
  {
    ((MR_Box) ((MR_Integer) 0))
  },
  /* row 3 */
  {
    ((MR_Box) ((MR_Unsigned) 0U))
  },
};

static /* final */ const MR_Box recompilation__used_file_scalar_common_4[12][5] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_parse_tree__prog_data__type_ctor_info_name_arity_0__plain_tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 2 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 3 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_6[0])),
    ((MR_Box) (recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0_2)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[2])),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[18]))
  },
  /* row 4 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 5 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_6[0])),
    ((MR_Box) (recompilation__used_file__maybe_functor_matches_to_string_1_f_0_2)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[0])),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[20]))
  },
  /* row 6 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__recompilation__type_ctor_info_item_name_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 7 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0))
  },
  /* row 8 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 9 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 10 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_11[0])),
    ((MR_Box) (recompilation__used_file__parse_pred_or_func_item_5_p_0_2)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[2])),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[33]))
  },
  /* row 11 */
  {
    ((MR_Box) (&recompilation__used_file_scalar_common_11[0])),
    ((MR_Box) (recompilation__used_file__parse_functor_item_5_p_0_2)),
    ((MR_Box) ((MR_Integer) 2)),
    ((MR_Box) (&recompilation__used_file_scalar_common_2[0])),
    ((MR_Box) (&recompilation__used_file_scalar_common_1[34]))
  },
};

static /* final */ const MR_Integer recompilation__used_file_scalar_common_5[1][2] = {
  /* row 0 */
  {
    (MR_Integer) 1,
    (MR_Integer) 33
  },
};

static /* final */ const MR_Box recompilation__used_file_scalar_common_6[2][7] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (&recompilation__used_file_scalar_common_5[0])),
    ((MR_Box) ((MR_Integer) 4)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&recompilation__used_file____vpti_func_2__pseudo_pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_builtin__type_ctor_info_string_0)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_builtin__type_ctor_info_string_0__pseudo_list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (&recompilation__used_file_scalar_common_5[0])),
    ((MR_Box) ((MR_Integer) 4)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&recompilation__used_file____vpti_func_2__pseudo_pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_builtin__type_ctor_info_string_0)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
};

static /* final */ const MR_Box recompilation__used_file_scalar_common_7[2][6] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 3)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_contents_0)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_recompilation__used_file__type_ctor_info_module_imported_items_0)),
    ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_string_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 3)),
    ((MR_Box) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__pair__pti_pair_2__plain_hlds__hlds_pred__type_ctor_info_pred_id_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0))
  },
};

static /* final */ const MR_Box recompilation__used_file_scalar_common_9[9][8] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_used_items_0)),
    ((MR_Box) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_used_items_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__set_ordlist__pti_set_ordlist_1__plain_recompilation__type_ctor_info_item_name_0)),
    ((MR_Box) (&recompilation__used_file__set_ordlist__pti_set_ordlist_1__plain_recompilation__type_ctor_info_item_name_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 2 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 3 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 4 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_parse_tree__prog_data__type_ctor_info_name_arity_0__plain_tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_parse_tree__prog_data__type_ctor_info_name_arity_0__plain_tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 5 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 6 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 7 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 8 */
  {
    NULL,
    ((MR_Box) (NULL)),
    ((MR_Box) ((MR_Integer) 5)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__list__pti_list_1__plain_recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&recompilation__used_file__list__pti_list_1__plain_recompilation__used_file__type_ctor_info_resolved_functor_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
};

static /* final */ const MR_Box recompilation__used_file_scalar_common_11[2][10] = {
  /* row 0 */
  {
    NULL,
    ((MR_Box) (&recompilation__used_file_scalar_common_5[0])),
    ((MR_Box) ((MR_Integer) 7)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&recompilation__used_file____vpti_pred_5__plain_term__ti_term_1term__type_ctor_info_generic_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)),
    ((MR_Box) (&recompilation__used_file__list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
  /* row 1 */
  {
    NULL,
    ((MR_Box) (&recompilation__used_file_scalar_common_5[0])),
    ((MR_Box) ((MR_Integer) 7)),
    ((MR_Box) (&mercury__private_builtin__private_builtin__type_ctor_info_type_info_0)),
    ((MR_Box) (&recompilation__used_file____vpti_pred_5__plain_term__ti_term_1term__type_ctor_info_generic_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)),
    ((MR_Box) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0)),
    ((MR_Box) (&recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0))
  },
};


static /* final */ const struct recompilation__used_file__vector_common_type_8_0_s recompilation__used_file_vector_common_8[14] = {
  /* row 0 */
  {
    (MR_String) "imp_imported",
    (MR_Integer) 2
  },
  /* row 1 */
  {
    (MR_String) "imp_used",
    (MR_Integer) 4
  },
  /* row 2 */
  {
    (MR_String) "int_imported",
    (MR_Integer) 1
  },
  /* row 3 */
  {
    (MR_String) "int_used",
    (MR_Integer) 3
  },
  /* row 4 */
  {
    (MR_String) "int_used_imp_imported",
    (MR_Integer) 5
  },
  /* row 5 */
  {
    (MR_String) "src",
    (MR_Integer) 0
  },
  /* row 6 */
  {
    (MR_String) "used",
    (MR_Integer) 3
  },
  /* row 7 */
  {
    (MR_String) "imp_imported",
    (MR_Integer) 2
  },
  /* row 8 */
  {
    (MR_String) "imp_used",
    (MR_Integer) 4
  },
  /* row 9 */
  {
    (MR_String) "int_imported",
    (MR_Integer) 1
  },
  /* row 10 */
  {
    (MR_String) "int_used",
    (MR_Integer) 3
  },
  /* row 11 */
  {
    (MR_String) "int_used_imp_imported",
    (MR_Integer) 5
  },
  /* row 12 */
  {
    (MR_String) "src",
    (MR_Integer) 0
  },
  /* row 13 */
  {
    (MR_String) "used",
    (MR_Integer) 3
  },
};

static /* final */ const struct recompilation__used_file__vector_common_type_10_0_s recompilation__used_file_vector_common_10[10] = {
  /* row 0 */   {     (MR_String) "src" },
  /* row 1 */   {     (MR_String) "int_imported" },
  /* row 2 */   {     (MR_String) "imp_imported" },
  /* row 3 */   {     (MR_String) "int_used" },
  /* row 4 */   {     (MR_String) "imp_used" },
  /* row 5 */   {     (MR_String) "int_used_imp_imported" },
  /* row 6 */   {     (MR_String) "ctor" },
  /* row 7 */   {     (MR_String) "field" },
  /* row 8 */   {     (MR_String) "function" },
  /* row 9 */   {     (MR_String) "predicate" },
};

static /* final */ const struct recompilation__used_file__vector_common_type_12_0_s recompilation__used_file_vector_common_12[4] = {
  /* row 0 */
  {
    (MR_String) "ctor",
    (MR_Integer) 0
  },
  /* row 1 */
  {
    (MR_String) "field",
    (MR_Integer) 1
  },
  /* row 2 */
  {
    (MR_String) "function",
    (MR_Integer) 2
  },
  /* row 3 */
  {
    (MR_String) "predicate",
    (MR_Integer) 3
  },
};


#include "array.mh"
#include "bitmap.mh"
#include "io.mh"
#include "string.mh"
#include "time.mh"



static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_parse_tree__prog_data__type_ctor_info_name_arity_0__plain_tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_TypeInfo) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0),
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1,
  {
    (MR_TypeInfo) (&recompilation__used_file__pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) ((MR_Integer) 1)
  }
};

static const MR_VA_PseudoTypeInfo_Struct2 recompilation__used_file____vpti_func_2__pseudo_pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_builtin__type_ctor_info_string_0 = {
  &mercury__builtin__builtin__type_ctor_info_func_0,
  (MR_Integer) 2,
  {
    (MR_PseudoTypeInfo) (&recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1),
    (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) ((MR_Integer) 1)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_int_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)
  }
};

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_PseudoTypeInfo) (&recompilation__used_file__pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_builtin__type_ctor_info_string_0__pseudo_list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1,
  {
    (MR_TypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_recompilation__used_file__type_ctor_info_module_imported_items_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_module_imported_items_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__term__pti_term_1__plain_term__type_ctor_info_generic_0 = {
  &mercury__term__term__type_ctor_info_term_1,
  {
    (MR_PseudoTypeInfo) (&mercury__term__term__type_ctor_info_generic_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__cord__pti_cord_1__plain_recompilation__used_file__type_ctor_info_used_file_error_0 = {
  &mercury__cord__cord__type_ctor_info_cord_1,
  {
    (MR_PseudoTypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__set_ordlist__pti_set_ordlist_1__plain_recompilation__type_ctor_info_item_name_0 = {
  &mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1,
  {
    (MR_PseudoTypeInfo) (&recompilation__recompilation__type_ctor_info_item_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_TypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_TypeInfo) (&mercury__builtin__builtin__type_ctor_info_int_0),
    (MR_TypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) (&recompilation__used_file__pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_TypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_TypeInfo) (&mercury__builtin__builtin__type_ctor_info_int_0),
    (MR_TypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) (&recompilation__used_file__pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__plain_list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_parse_tree__prog_data__type_ctor_info_name_arity_0__plain_tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__term__ti_term_1term__type_ctor_info_generic_0 = {
  &mercury__term__term__type_ctor_info_term_1,
  {
    (MR_TypeInfo) (&mercury__term__term__type_ctor_info_generic_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0 = {
  &mercury__cord__cord__type_ctor_info_cord_1,
  {
    (MR_TypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0)
  }
};

static const MR_VA_PseudoTypeInfo_Struct5 recompilation__used_file____vpti_pred_5__plain_term__ti_term_1term__type_ctor_info_generic_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0 = {
  &mercury__builtin__builtin__type_ctor_info_pred_0,
  (MR_Integer) 5,
  {
    (MR_PseudoTypeInfo) (&recompilation__used_file__term__ti_term_1term__type_ctor_info_generic_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1),
    (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1),
    (MR_PseudoTypeInfo) (&recompilation__used_file__cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__pair__pti_pair_2__plain_hlds__hlds_pred__type_ctor_info_pred_id_0__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__pair__pair__type_ctor_info_pair_2,
  {
    (MR_PseudoTypeInfo) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0),
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__plain_set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_PseudoTypeInfo_Struct1 recompilation__used_file__list__pti_list_1__plain_recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_PseudoTypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0 = {
  &mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1,
  {
    (MR_TypeInfo) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0)
  }
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_imported_item_set_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (recompilation__used_file____Unify____imported_item_set_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____imported_item_set_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "imported_item_set",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0recompilation__used_file__type_ctor_info_module_imported_items_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_TypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_module_imported_items_0)
  }
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_imported_items_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (recompilation__used_file____Unify____imported_items_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____imported_items_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "imported_items",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0recompilation__used_file__type_ctor_info_module_imported_items_0) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_module_imported_items_0_0[8] = {
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1parse_tree__prog_data__type_ctor_info_name_arity_0)
};

static const MR_ConstString recompilation__used_file__recompilation__used_file__field_names_module_imported_items_0_0[8] = {
  (MR_String) "mii_type_names",
  (MR_String) "mii_type_defns",
  (MR_String) "mii_insts",
  (MR_String) "mii_modes",
  (MR_String) "mii_typeclasses",
  (MR_String) "mii_functors",
  (MR_String) "mii_predicates",
  (MR_String) "mii_functions"
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_module_imported_items_0_0 = {
  (MR_String) "module_imported_items",
  INT16_C(8),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_module_imported_items_0_0,
  recompilation__used_file__recompilation__used_file__field_names_module_imported_items_0_0,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_module_imported_items_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_module_imported_items_0_0
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_module_imported_items_0[1] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_module_imported_items_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_module_imported_items_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_module_imported_items_0_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_module_imported_items_0[1] = {
  (MR_Integer) 0
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_module_imported_items_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____module_imported_items_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____module_imported_items_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "module_imported_items",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_module_imported_items_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_module_imported_items_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_module_imported_items_0,

};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_module_name_and_timestamp_0_0[2] = {
  (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_module_timestamp_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_module_name_and_timestamp_0_0 = {
  (MR_String) "module_name_and_timestamp",
  INT16_C(2),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_module_name_and_timestamp_0_0,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_module_name_and_timestamp_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_module_name_and_timestamp_0_0
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_module_name_and_timestamp_0[1] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_module_name_and_timestamp_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_module_name_and_timestamp_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_module_name_and_timestamp_0_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_module_name_and_timestamp_0[1] = {
  (MR_Integer) 0
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_module_name_and_timestamp_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____module_name_and_timestamp_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____module_name_and_timestamp_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "module_name_and_timestamp",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_module_name_and_timestamp_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_module_name_and_timestamp_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_module_name_and_timestamp_0,

};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_parse_resolved_item_matches_1 = {
  (MR_Integer) 1,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (recompilation__used_file____Unify____parse_resolved_item_matches_1_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____parse_resolved_item_matches_1_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "parse_resolved_item_matches",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file____vpti_pred_5__plain_term__ti_term_1term__type_ctor_info_generic_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0__plain_cord__ti_cord_1recompilation__used_file__type_ctor_info_used_file_error_0) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__maybe__ti_maybe_1recompilation__type_ctor_info_module_item_version_numbers_0 = {
  &mercury__maybe__maybe__type_ctor_info_maybe_1,
  {
    (MR_TypeInfo) (&recompilation__recompilation__type_ctor_info_module_item_version_numbers_0)
  }
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_recomp_used_module_0_0[3] = {
  (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_module_timestamp_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__maybe__ti_maybe_1recompilation__type_ctor_info_module_item_version_numbers_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_recomp_used_module_0_0 = {
  (MR_String) "recomp_used_module",
  INT16_C(3),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_recomp_used_module_0_0,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_recomp_used_module_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_recomp_used_module_0_0
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_recomp_used_module_0[1] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_recomp_used_module_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_recomp_used_module_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_recomp_used_module_0_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_recomp_used_module_0[1] = {
  (MR_Integer) 0
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_recomp_used_module_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____recomp_used_module_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____recomp_used_module_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "recomp_used_module",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_recomp_used_module_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_recomp_used_module_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_recomp_used_module_0,

};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_0[4] = {
  (MR_PseudoTypeInfo) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0),
  (MR_PseudoTypeInfo) (&mdbcomp__prim_data__mdbcomp__prim_data__type_ctor_info_pred_or_func_0),
  (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_pred_form_arity_0)
};

static const MR_DuArgLocn recompilation__used_file__recompilation__used_file__field_locns_resolved_functor_0_0[4] = {
  {
    (MR_Integer) 0,
    (MR_Integer) 0,
    (MR_Integer) 0
  },
  {
    (MR_Integer) 1,
    (MR_Integer) 0,
    (MR_Integer) 1
  },
  {
    (MR_Integer) 2,
    (MR_Integer) 0,
    (MR_Integer) 0
  },
  {
    (MR_Integer) 3,
    (MR_Integer) 0,
    (MR_Integer) 0
  }
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_0 = {
  (MR_String) "resolved_functor_pred_or_func",
  INT16_C(4),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_0,
  NULL,
  recompilation__used_file__recompilation__used_file__field_locns_resolved_functor_0_0,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_1[1] = {
  (MR_PseudoTypeInfo) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_type_ctor_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_1 = {
  (MR_String) "resolved_functor_data_constructor",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(1),
  (MR_Integer) -1,
  INT32_C(1),
  recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_1,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_2[1] = {
  (MR_PseudoTypeInfo) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_cons_ctor_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_2 = {
  (MR_String) "resolved_functor_field_access_func",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(2),
  (MR_Integer) -1,
  INT32_C(2),
  recompilation__used_file__recompilation__used_file__field_types_resolved_functor_0_2,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_0
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_1[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_1
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_2[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_2
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_resolved_functor_0[3] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_1,
    INT8_C(-1),
    UINT8_C(1),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_functor_0_2,
    INT8_C(-1),
    UINT8_C(2),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_resolved_functor_0[3] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_1,
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_2,
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_functor_0_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_resolved_functor_0[3] = {
  (MR_Integer) 2,
  (MR_Integer) 0,
  (MR_Integer) 1
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(3),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____resolved_functor_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_functor_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_functor",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_resolved_functor_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_resolved_functor_0 },
  (MR_Integer) 3,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_resolved_functor_0,

};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_map_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (recompilation__used_file____Unify____resolved_functor_map_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_functor_map_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_functor_map",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
    (MR_TypeInfo) (&recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0)
  }
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_set_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (recompilation__used_file____Unify____resolved_functor_set_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_functor_set_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_functor_set",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_item_list_1 = {
  (MR_Integer) 1,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (recompilation__used_file____Unify____resolved_item_list_1_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_item_list_1_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_item_list",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_item_map_1 = {
  (MR_Integer) 1,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (recompilation__used_file____Unify____resolved_item_map_1_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_item_map_1_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_item_map",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

static const MR_FA_PseudoTypeInfo_Struct2 recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__pseudo_list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
    (MR_PseudoTypeInfo) (&recompilation__used_file__list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1)
  }
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_item_set_1 = {
  (MR_Integer) 1,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV,
  ((MR_Box) (recompilation__used_file____Unify____resolved_item_set_1_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_item_set_1_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_item_set",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__pti_tree234_2__plain_builtin__type_ctor_info_string_0__pseudo_list__pti_list_1__pseudo_pair__pti_pair_2__plain_builtin__type_ctor_info_int_0__pseudo_tree234__pti_tree234_2__plain_mdbcomp__sym_name__type_ctor_info_sym_name_0__pseudo_1) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_pred_or_func_map_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (recompilation__used_file____Unify____resolved_pred_or_func_map_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_pred_or_func_map_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_pred_or_func_map",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
    (MR_TypeInfo) (&recompilation__used_file__list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_pred_or_func_set_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(-1),
  MR_TYPECTOR_REP_EQUIV_GROUND,
  ((MR_Box) (recompilation__used_file____Unify____resolved_pred_or_func_set_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_pred_or_func_set_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_pred_or_func_set",
  {     NULL },
  {     (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0) },
  (MR_Integer) -1,
  UINT16_C(0),
  NULL,

};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2parse_tree__prog_data__type_ctor_info_name_arity_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0),
    (MR_TypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_resolved_used_items_0_0[8] = {
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2parse_tree__prog_data__type_ctor_info_name_arity_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2parse_tree__prog_data__type_ctor_info_name_arity_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2parse_tree__prog_data__type_ctor_info_name_arity_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2parse_tree__prog_data__type_ctor_info_name_arity_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2parse_tree__prog_data__type_ctor_info_name_arity_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__used_file__type_ctor_info_resolved_functor_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2builtin__type_ctor_info_string_0list__ti_list_1pair__ti_pair_2builtin__type_ctor_info_int_0tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1pair__ti_pair_2hlds__hlds_pred__type_ctor_info_pred_id_0mdbcomp__sym_name__type_ctor_info_sym_name_0)
};

static const MR_ConstString recompilation__used_file__recompilation__used_file__field_names_resolved_used_items_0_0[8] = {
  (MR_String) "rui_type_names",
  (MR_String) "rui_type_defns",
  (MR_String) "rui_insts",
  (MR_String) "rui_modes",
  (MR_String) "rui_typeclasses",
  (MR_String) "rui_functors",
  (MR_String) "rui_predicates",
  (MR_String) "rui_functions"
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_used_items_0_0 = {
  (MR_String) "resolved_used_items",
  INT16_C(8),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_resolved_used_items_0_0,
  recompilation__used_file__recompilation__used_file__field_names_resolved_used_items_0_0,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_used_items_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_used_items_0_0
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_resolved_used_items_0[1] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_resolved_used_items_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_resolved_used_items_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_resolved_used_items_0_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_resolved_used_items_0[1] = {
  (MR_Integer) 0
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_used_items_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____resolved_used_items_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____resolved_used_items_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "resolved_used_items",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_resolved_used_items_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_resolved_used_items_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_resolved_used_items_0,

};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1mdbcomp__sym_name__type_ctor_info_sym_name_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1recompilation__type_ctor_info_item_name_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) (&recompilation__recompilation__type_ctor_info_item_name_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1recompilation__used_file__type_ctor_info_recomp_used_module_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_recomp_used_module_0)
  }
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_0_0[5] = {
  (MR_PseudoTypeInfo) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_module_timestamp_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__list__ti_list_1mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_used_items_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__list__ti_list_1recompilation__type_ctor_info_item_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__list__ti_list_1recompilation__used_file__type_ctor_info_recomp_used_module_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_0_0 = {
  (MR_String) "used_file",
  INT16_C(5),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_used_file_0_0,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_0_0
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_0[1] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_0_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_0[1] = {
  (MR_Integer) 0
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____used_file_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____used_file_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "used_file",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_used_file_0,

};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0parse_tree__module_imports__type_ctor_info_module_timestamp_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_TypeInfo) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_module_timestamp_0)
  }
};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0recompilation__type_ctor_info_module_item_version_numbers_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_TypeInfo) (&recompilation__recompilation__type_ctor_info_module_item_version_numbers_0)
  }
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__type_ctor_info_item_name_0 = {
  &mercury__set_ordlist__set_ordlist__type_ctor_info_set_ordlist_1,
  {
    (MR_TypeInfo) (&recompilation__recompilation__type_ctor_info_item_name_0)
  }
};

static const MR_FA_TypeInfo_Struct2 recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__type_ctor_info_item_name_0 = {
  &mercury__tree234__tree234__type_ctor_info_tree234_2,
  {
    (MR_TypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
    (MR_TypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__type_ctor_info_item_name_0)
  }
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_contents_0_0[8] = {
  (MR_PseudoTypeInfo) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0),
  (MR_PseudoTypeInfo) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_maybe_top_module_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0parse_tree__module_imports__type_ctor_info_module_timestamp_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0recompilation__type_ctor_info_module_item_version_numbers_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_used_items_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__set_ordlist__ti_set_ordlist_1recompilation__type_ctor_info_item_name_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0recompilation__used_file__type_ctor_info_module_imported_items_0),
  (MR_PseudoTypeInfo) (&recompilation__used_file__tree234__ti_tree234_2mdbcomp__sym_name__type_ctor_info_sym_name_0set_ordlist__ti_set_ordlist_1recompilation__type_ctor_info_item_name_0)
};

static const MR_ConstString recompilation__used_file__recompilation__used_file__field_names_used_file_contents_0_0[8] = {
  (MR_String) "ufc_module_name",
  (MR_String) "ufc_maybe_top_module",
  (MR_String) "ufc_module_timestamp_map",
  (MR_String) "ufc_mi_version_numbers_map",
  (MR_String) "ufc_resolved_used_items",
  (MR_String) "ufc_used_typeclasses",
  (MR_String) "ufc_imported_items",
  (MR_String) "ufc_module_instances"
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_contents_0_0 = {
  (MR_String) "used_file_contents",
  INT16_C(8),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_used_file_contents_0_0,
  recompilation__used_file__recompilation__used_file__field_names_used_file_contents_0_0,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_contents_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_contents_0_0
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_contents_0[1] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_contents_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_contents_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_contents_0_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_contents_0[1] = {
  (MR_Integer) 0
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_contents_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(1),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____used_file_contents_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____used_file_contents_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "used_file_contents",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_contents_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_contents_0 },
  (MR_Integer) 1,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_used_file_contents_0,

};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_0[2] = {
  (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0),
  (MR_PseudoTypeInfo) (&mercury__io__io__type_ctor_info_error_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_0 = {
  (MR_String) "uf_read_error",
  INT16_C(2),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_0,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_1[2] = {
  (MR_PseudoTypeInfo) (&mercury__term__term__type_ctor_info_context_0),
  (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_1 = {
  (MR_String) "uf_syntax_error",
  INT16_C(2),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(1),
  (MR_Integer) -1,
  INT32_C(1),
  recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_1,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_2[1] = {
  (MR_PseudoTypeInfo) (&mercury__builtin__builtin__type_ctor_info_string_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_2 = {
  (MR_String) "uf_invalid_file_format",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(2),
  (MR_Integer) -1,
  INT32_C(2),
  recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_2,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_FA_TypeInfo_Struct1 recompilation__used_file__list__ti_list_1parse_tree__error_util__type_ctor_info_error_spec_0 = {
  &mercury__list__list__type_ctor_info_list_1,
  {
    (MR_TypeInfo) (&parse_tree__error_util__parse_tree__error_util__type_ctor_info_error_spec_0)
  }
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_3[1] = {
  (MR_PseudoTypeInfo) (&recompilation__used_file__list__ti_list_1parse_tree__error_util__type_ctor_info_error_spec_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_3 = {
  (MR_String) "uf_unreadable_used_items",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(3),
  (MR_Integer) -1,
  INT32_C(3),
  recompilation__used_file__recompilation__used_file__field_types_used_file_error_0_3,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_0
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_1[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_1
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_2[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_2
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_3[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_3
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_error_0[4] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_1,
    INT8_C(-1),
    UINT8_C(1),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_2,
    INT8_C(-1),
    UINT8_C(2),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_error_0_3,
    INT8_C(-1),
    UINT8_C(3),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_error_0[4] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_2,
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_0,
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_1,
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_error_0_3
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_error_0[4] = {
  (MR_Integer) 1,
  (MR_Integer) 2,
  (MR_Integer) 0,
  (MR_Integer) 3
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0 = {
  (MR_Integer) 0,
  UINT8_C(18),
  INT8_C(4),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____used_file_error_0_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____used_file_error_0_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "used_file_error",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_error_0 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_error_0 },
  (MR_Integer) 4,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_used_file_error_0,

};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_result_1_0[1] = {
  (MR_PseudoTypeInfo) ((MR_Integer) 1)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_0 = {
  (MR_String) "used_file_ok",
  INT16_C(1),
  UINT16_C(1),
  MR_SECTAG_NONE,
  UINT8_C(0),
  (MR_Integer) -1,
  INT32_C(0),
  recompilation__used_file__recompilation__used_file__field_types_used_file_result_1_0,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_PseudoTypeInfo recompilation__used_file__recompilation__used_file__field_types_used_file_result_1_1[1] = {
  (MR_PseudoTypeInfo) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0)
};

static const MR_DuFunctorDesc recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_1 = {
  (MR_String) "used_file_error",
  INT16_C(1),
  UINT16_C(0),
  MR_SECTAG_NONE,
  UINT8_C(1),
  (MR_Integer) -1,
  INT32_C(1),
  recompilation__used_file__recompilation__used_file__field_types_used_file_result_1_1,
  NULL,
  NULL,
  NULL,
  MR_FUNCTOR_SUBTYPE_NONE,
  UINT8_C(0)
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_result_1_0[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_0
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_result_1_1[1] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_1
};

static const MR_DuPtagLayout recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_result_1[2] = {
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_result_1_0,
    INT8_C(-1),
    UINT8_C(0),
    UINT8_C(1)
  },
  {
    UINT32_C(1),
    MR_SECTAG_NONE,
    recompilation__used_file__recompilation__used_file__du_stag_ordered_used_file_result_1_1,
    INT8_C(-1),
    UINT8_C(1),
    UINT8_C(1)
  }
};

static const MR_DuFunctorDescPtr recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_result_1[2] = {
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_1,
  &recompilation__used_file__recompilation__used_file__du_functor_desc_used_file_result_1_0
};

static const MR_Integer recompilation__used_file__recompilation__used_file__functor_number_map_used_file_result_1[2] = {
  (MR_Integer) 1,
  (MR_Integer) 0
};

const MR_TypeCtorInfo_Struct recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_result_1 = {
  (MR_Integer) 1,
  UINT8_C(18),
  INT8_C(2),
  MR_TYPECTOR_REP_DU,
  ((MR_Box) (recompilation__used_file____Unify____used_file_result_1_0_10001)),
  ((MR_Box) (recompilation__used_file____Compare____used_file_result_1_0_10001)),
  (MR_String) "recompilation.used_file",
  (MR_String) "used_file_result",
  {     recompilation__used_file__recompilation__used_file__du_name_ordered_used_file_result_1 },
  {     recompilation__used_file__recompilation__used_file__du_ptag_ordered_used_file_result_1 },
  (MR_Integer) 2,
  UINT16_C(12),
  recompilation__used_file__recompilation__used_file__functor_number_map_used_file_result_1,

};

static void MR_CALL 
recompilation__used_file__IntroducedFrom__pred__parse_resolved_item_arity_matches__1224__1_7_p_0(
  MR_Word TypeInfo_for_T_52,
  MR_Word ParseMatches_7,
  MR_Word LambdaHeadVar__1_37,
  MR_Word LambdaHeadVar__2_38,
  MR_Word * LambdaHeadVar__3_39,
  MR_Word LambdaHeadVar__4_40,
  MR_Word * LambdaHeadVar__5_41)
{
  {
    void MR_CALL (* func_0)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *) = ((void MR_CALL (*)(MR_Box, MR_Box, MR_Box, MR_Box *, MR_Box, MR_Box *)) ((MR_hl_field(MR_mktag(0), ParseMatches_7, (MR_Integer) 1))));
    MR_Box conv2_LambdaHeadVar__3_39;
    MR_Box conv1_LambdaHeadVar__5_41;

    func_0(((MR_Box) (ParseMatches_7)), ((MR_Box) (LambdaHeadVar__1_37)), ((MR_Box) (LambdaHeadVar__2_38)), &conv2_LambdaHeadVar__3_39, ((MR_Box) (LambdaHeadVar__4_40)), &conv1_LambdaHeadVar__5_41);
    *LambdaHeadVar__3_39 = ((MR_Word) (conv2_LambdaHeadVar__3_39));
    *LambdaHeadVar__5_41 = ((MR_Word) (conv1_LambdaHeadVar__5_41));
  }
}

static MR_bool MR_CALL 
recompilation__used_file__IntroducedFrom__pred__parse_pred_or_func_item_match__1062__1_3_p_0(
  MR_Word InvPredId_9,
  MR_Word LambdaHeadVar__1_31,
  MR_Word * LambdaHeadVar__2_32)
{
  {
    MR_bool succeeded;
    MR_Word MatchName_17;

    succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), LambdaHeadVar__1_31, &MatchName_17);
    if (succeeded)
    {
      {
        MR_Word base;
        base = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
        *LambdaHeadVar__2_32 = base;
        MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (InvPredId_9));
        MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (MatchName_17));
      }
      succeeded = MR_TRUE;
    }
    return succeeded;
  }
}

static MR_bool MR_CALL 
recompilation__used_file__IntroducedFrom__pred__read_and_parse_inline_submodules__861__1_2_p_0(
  MR_Word HeadVar__1_36,
  MR_Word * HeadVar__2_37)
{
  {
    MR_bool succeeded;

    succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), HeadVar__1_36, HeadVar__2_37);
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____used_file_result_1_0(
  MR_Word TypeInfo_for_T_14,
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_12 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_13 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_12 == CastY_13);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
    if (((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 1))
    {
      MR_Word Var_16 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 0))));

      if (((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 1))
      {
        MR_Word ArgY1_11 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__3_3, (MR_Integer) 0))));

        recompilation__used_file____Compare____used_file_error_0_0(HeadVar__1_1, Var_16, ArgY1_11);
      }
      else
        *HeadVar__1_1 = (MR_Integer) 2;
    }
    else
    {
      MR_Box Var_17 = (MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0));

      if (((MR_tag((MR_Word) HeadVar__3_3)) == (MR_Integer) 1))
        *HeadVar__1_1 = (MR_Integer) 1;
      else
      {
        MR_Box ArgY1_5 = (MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0));

        mercury__builtin__compare_3_p_0(TypeInfo_for_T_14, HeadVar__1_1, Var_17, ArgY1_5);
      }
    }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_result_1_0(
  MR_Word TypeInfo_for_T_9,
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_7 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_8 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_7 == CastY_8);
    if (succeeded)
      succeeded = MR_TRUE;
    else
    if (((MR_tag((MR_Word) HeadVar__1_1)) == (MR_Integer) 1))
    {
      MR_Word ArgX1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__1_1, (MR_Integer) 0))));
      MR_Word ArgY1_6;

      succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 1);
      if (succeeded)
      {
        ArgY1_6 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 0))));
        succeeded = recompilation__used_file____Unify____used_file_error_0_0(ArgX1_5, ArgY1_6);
      }
    }
    else
    {
      MR_Box ArgX1_3 = (MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0));
      MR_Box ArgY1_4;

      succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 0);
      if (succeeded)
      {
        ArgY1_4 = (MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0));
        succeeded = mercury__builtin__unify_2_p_0(TypeInfo_for_T_9, ArgX1_3, ArgY1_4);
      }
    }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____used_file_error_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_54 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_55 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_54 == CastY_55);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
      switch (MR_tag((MR_Word) HeadVar__2_2)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Var_63 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
            MR_String Var_64 = ((MR_String) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));

            switch (MR_tag((MR_Word) HeadVar__3_3)) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  MR_String ArgY1_5 = ((MR_String) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
                  MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))));
                  MR_Word SubResult1_6;

                  mercury__private_builtin__builtin_compare_string_3_p_0(&SubResult1_6, Var_64, ArgY1_5);
                  succeeded = (SubResult1_6 != (MR_Integer) 0);
                  if (succeeded)
                    *HeadVar__1_1 = SubResult1_6;
                  else
                    mercury__io____Compare____error_0_0(HeadVar__1_1, Var_63, ArgY2_8);
                }
                break;
              case (MR_Integer) 1:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
              case (MR_Integer) 2:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
              case (MR_Integer) 3:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
            }
          }
          break;
        case (MR_Integer) 1:
          {
            MR_String Var_65 = ((MR_String) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 1))));
            MR_Word Var_66 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 0))));

            switch (MR_tag((MR_Word) HeadVar__3_3)) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 1:
                {
                  MR_Word ArgY1_24 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__3_3, (MR_Integer) 0))));
                  MR_String ArgY2_27 = ((MR_String) ((MR_hl_field(MR_mktag(1), HeadVar__3_3, (MR_Integer) 1))));
                  MR_Word SubResult1_25;

                  mercury__term____Compare____context_0_0(&SubResult1_25, Var_66, ArgY1_24);
                  succeeded = (SubResult1_25 != (MR_Integer) 0);
                  if (succeeded)
                    *HeadVar__1_1 = SubResult1_25;
                  else
                    mercury__private_builtin__builtin_compare_string_3_p_0(HeadVar__1_1, Var_65, ArgY2_27);
                }
                break;
              case (MR_Integer) 2:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
              case (MR_Integer) 3:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
            }
          }
          break;
        case (MR_Integer) 2:
          {
            MR_String Var_62 = ((MR_String) ((MR_hl_field(MR_mktag(2), HeadVar__2_2, (MR_Integer) 0))));

            switch (MR_tag((MR_Word) HeadVar__3_3)) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 1:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 2:
                {
                  MR_String ArgY1_41 = ((MR_String) ((MR_hl_field(MR_mktag(2), HeadVar__3_3, (MR_Integer) 0))));

                  mercury__private_builtin__builtin_compare_string_3_p_0(HeadVar__1_1, Var_62, ArgY1_41);
                }
                break;
              case (MR_Integer) 3:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
            }
          }
          break;
        case (MR_Integer) 3:
          {
            MR_Word Var_67 = ((MR_Word) ((MR_hl_field(MR_mktag(3), HeadVar__2_2, (MR_Integer) 0))));

            switch (MR_tag((MR_Word) HeadVar__3_3)) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 1:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 2:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 3:
                {
                  MR_Word ArgY1_53 = ((MR_Word) ((MR_hl_field(MR_mktag(3), HeadVar__3_3, (MR_Integer) 0))));

                  mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[13]), HeadVar__1_1, ((MR_Box) (Var_67)), ((MR_Box) (ArgY1_53)));
                }
                break;
            }
          }
          break;
      }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_error_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_15 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_16 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_15 == CastY_16);
    if (succeeded)
      succeeded = MR_TRUE;
    else
      switch (MR_tag((MR_Word) HeadVar__1_1)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_String ArgX1_3 = ((MR_String) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
            MR_String ArgY1_4;
            MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
            MR_Word ArgY2_6;

            succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 0);
            if (succeeded)
            {
              ArgY1_4 = ((MR_String) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
              ArgY2_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
              succeeded = (strcmp(ArgX1_3, ArgY1_4) == 0);
              if (succeeded)
                succeeded = mercury__io____Unify____error_0_0(ArgX2_5, ArgY2_6);
            }
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word ArgX1_7 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__1_1, (MR_Integer) 0))));
            MR_Word ArgY1_8;
            MR_String ArgX2_9 = ((MR_String) ((MR_hl_field(MR_mktag(1), HeadVar__1_1, (MR_Integer) 1))));
            MR_String ArgY2_10;

            succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 1);
            if (succeeded)
            {
              ArgY1_8 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 0))));
              ArgY2_10 = ((MR_String) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 1))));
              succeeded = mercury__term____Unify____context_0_0(ArgX1_7, ArgY1_8);
              if (succeeded)
                succeeded = (strcmp(ArgX2_9, ArgY2_10) == 0);
            }
          }
          break;
        case (MR_Integer) 2:
          {
            MR_String ArgX1_11 = ((MR_String) ((MR_hl_field(MR_mktag(2), HeadVar__1_1, (MR_Integer) 0))));
            MR_String ArgY1_12;

            succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 2);
            if (succeeded)
            {
              ArgY1_12 = ((MR_String) ((MR_hl_field(MR_mktag(2), HeadVar__2_2, (MR_Integer) 0))));
              succeeded = (strcmp(ArgX1_11, ArgY1_12) == 0);
            }
          }
          break;
        case (MR_Integer) 3:
          {
            MR_Word TypeInfo_19_19;
            MR_Word ArgX1_13 = ((MR_Word) ((MR_hl_field(MR_mktag(3), HeadVar__1_1, (MR_Integer) 0))));
            MR_Word ArgY1_14;

            succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 3);
            if (succeeded)
            {
              ArgY1_14 = ((MR_Word) ((MR_hl_field(MR_mktag(3), HeadVar__2_2, (MR_Integer) 0))));
              TypeInfo_19_19 = (MR_Word) (&recompilation__used_file_scalar_common_2[13]);
              succeeded = mercury__builtin__unify_2_p_0(TypeInfo_19_19, ((MR_Box) (ArgX1_13)), ((MR_Box) (ArgY1_14)));
            }
          }
          break;
      }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____used_file_contents_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_27 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_28 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_27 == CastY_28);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
    {
      MR_Word ArgX1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
      MR_Word ArgX2_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))));
      MR_Word ArgX3_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgY3_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 2))));
      MR_Word ArgX4_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgY4_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 3))));
      MR_Word ArgX5_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));
      MR_Word ArgY5_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 4))));
      MR_Word ArgX6_19 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 5))));
      MR_Word ArgY6_20 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 5))));
      MR_Word ArgX7_22 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 6))));
      MR_Word ArgY7_23 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 6))));
      MR_Word ArgX8_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 7))));
      MR_Word ArgY8_26 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 7))));
      MR_Word SubResult1_6;

      mdbcomp__sym_name____Compare____sym_name_0_0(&SubResult1_6, ArgX1_4, ArgY1_5);
      succeeded = (SubResult1_6 != (MR_Integer) 0);
      if (succeeded)
        *HeadVar__1_1 = SubResult1_6;
      else
      {
        MR_Word SubResult2_9;

        parse_tree__module_imports____Compare____maybe_top_module_0_0(&SubResult2_9, ArgX2_7, ArgY2_8);
        succeeded = (SubResult2_9 != (MR_Integer) 0);
        if (succeeded)
          *HeadVar__1_1 = SubResult2_9;
        else
        {
          MR_Word SubResult3_12;

          mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[13]), &SubResult3_12, ((MR_Box) (ArgX3_10)), ((MR_Box) (ArgY3_11)));
          succeeded = (SubResult3_12 != (MR_Integer) 0);
          if (succeeded)
            *HeadVar__1_1 = SubResult3_12;
          else
          {
            MR_Word SubResult4_15;

            mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[14]), &SubResult4_15, ((MR_Box) (ArgX4_13)), ((MR_Box) (ArgY4_14)));
            succeeded = (SubResult4_15 != (MR_Integer) 0);
            if (succeeded)
              *HeadVar__1_1 = SubResult4_15;
            else
            {
              MR_Word SubResult5_18;

              recompilation__used_file____Compare____resolved_used_items_0_0(&SubResult5_18, ArgX5_16, ArgY5_17);
              succeeded = (SubResult5_18 != (MR_Integer) 0);
              if (succeeded)
                *HeadVar__1_1 = SubResult5_18;
              else
              {
                MR_Word SubResult6_21;

                mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[4]), &SubResult6_21, ((MR_Box) (ArgX6_19)), ((MR_Box) (ArgY6_20)));
                succeeded = (SubResult6_21 != (MR_Integer) 0);
                if (succeeded)
                  *HeadVar__1_1 = SubResult6_21;
                else
                {
                  MR_Word SubResult7_24;

                  mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[12]), &SubResult7_24, ((MR_Box) (ArgX7_22)), ((MR_Box) (ArgY7_23)));
                  succeeded = (SubResult7_24 != (MR_Integer) 0);
                  if (succeeded)
                    *HeadVar__1_1 = SubResult7_24;
                  else
                    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[15]), HeadVar__1_1, ((MR_Box) (ArgX8_25)), ((MR_Box) (ArgY8_26)));
                }
              }
            }
          }
        }
      }
    }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_contents_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_19 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_20 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_19 == CastY_20);
    if (succeeded)
      succeeded = MR_TRUE;
    else
    {
      MR_Word TypeInfo_23_23;
      MR_Word TypeInfo_24_24;
      MR_Word TypeInfo_25_25;
      MR_Word TypeInfo_26_26;
      MR_Word TypeInfo_27_27;
      MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
      MR_Word ArgY1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
      MR_Word ArgY2_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgX3_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 2))));
      MR_Word ArgY3_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgX4_9 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 3))));
      MR_Word ArgY4_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgX5_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 4))));
      MR_Word ArgY5_12 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));
      MR_Word ArgX6_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 5))));
      MR_Word ArgY6_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 5))));
      MR_Word ArgX7_15 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 6))));
      MR_Word ArgY7_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 6))));
      MR_Word ArgX8_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 7))));
      MR_Word ArgY8_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 7))));

      succeeded = mdbcomp__sym_name____Unify____sym_name_0_0(ArgX1_3, ArgY1_4);
      if (succeeded)
      {
        succeeded = parse_tree__module_imports____Unify____maybe_top_module_0_0(ArgX2_5, ArgY2_6);
        if (succeeded)
        {
          TypeInfo_23_23 = (MR_Word) (&recompilation__used_file_scalar_common_1[13]);
          succeeded = mercury__builtin__unify_2_p_0(TypeInfo_23_23, ((MR_Box) (ArgX3_7)), ((MR_Box) (ArgY3_8)));
          if (succeeded)
          {
            TypeInfo_24_24 = (MR_Word) (&recompilation__used_file_scalar_common_1[14]);
            succeeded = mercury__builtin__unify_2_p_0(TypeInfo_24_24, ((MR_Box) (ArgX4_9)), ((MR_Box) (ArgY4_10)));
            if (succeeded)
            {
              succeeded = recompilation__used_file____Unify____resolved_used_items_0_0(ArgX5_11, ArgY5_12);
              if (succeeded)
              {
                TypeInfo_25_25 = (MR_Word) (&recompilation__used_file_scalar_common_2[4]);
                succeeded = mercury__builtin__unify_2_p_0(TypeInfo_25_25, ((MR_Box) (ArgX6_13)), ((MR_Box) (ArgY6_14)));
                if (succeeded)
                {
                  TypeInfo_26_26 = (MR_Word) (&recompilation__used_file_scalar_common_1[12]);
                  succeeded = mercury__builtin__unify_2_p_0(TypeInfo_26_26, ((MR_Box) (ArgX7_15)), ((MR_Box) (ArgY7_16)));
                  if (succeeded)
                  {
                    TypeInfo_27_27 = (MR_Word) (&recompilation__used_file_scalar_common_1[15]);
                    succeeded = mercury__builtin__unify_2_p_0(TypeInfo_27_27, ((MR_Box) (ArgX8_17)), ((MR_Box) (ArgY8_18)));
                  }
                }
              }
            }
          }
        }
      }
    }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____used_file_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_18 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_19 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_18 == CastY_19);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
    {
      MR_Word ArgX1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
      MR_Word ArgX2_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))));
      MR_Word ArgX3_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgY3_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 2))));
      MR_Word ArgX4_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgY4_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 3))));
      MR_Word ArgX5_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));
      MR_Word ArgY5_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 4))));
      MR_Word SubResult1_6;

      parse_tree__module_imports____Compare____module_timestamp_0_0(&SubResult1_6, ArgX1_4, ArgY1_5);
      succeeded = (SubResult1_6 != (MR_Integer) 0);
      if (succeeded)
        *HeadVar__1_1 = SubResult1_6;
      else
      {
        MR_Word SubResult2_9;

        mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[5]), &SubResult2_9, ((MR_Box) (ArgX2_7)), ((MR_Box) (ArgY2_8)));
        succeeded = (SubResult2_9 != (MR_Integer) 0);
        if (succeeded)
          *HeadVar__1_1 = SubResult2_9;
        else
        {
          MR_Word SubResult3_12;

          recompilation__used_file____Compare____resolved_used_items_0_0(&SubResult3_12, ArgX3_10, ArgY3_11);
          succeeded = (SubResult3_12 != (MR_Integer) 0);
          if (succeeded)
            *HeadVar__1_1 = SubResult3_12;
          else
          {
            MR_Word SubResult4_15;

            mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[12]), &SubResult4_15, ((MR_Box) (ArgX4_13)), ((MR_Box) (ArgY4_14)));
            succeeded = (SubResult4_15 != (MR_Integer) 0);
            if (succeeded)
              *HeadVar__1_1 = SubResult4_15;
            else
              mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[6]), HeadVar__1_1, ((MR_Box) (ArgX5_16)), ((MR_Box) (ArgY5_17)));
          }
        }
      }
    }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_13 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_14 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_13 == CastY_14);
    if (succeeded)
      succeeded = MR_TRUE;
    else
    {
      MR_Word TypeInfo_16_16;
      MR_Word TypeInfo_17_17;
      MR_Word TypeInfo_18_18;
      MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
      MR_Word ArgY1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
      MR_Word ArgY2_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgX3_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 2))));
      MR_Word ArgY3_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgX4_9 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 3))));
      MR_Word ArgY4_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgX5_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 4))));
      MR_Word ArgY5_12 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));

      succeeded = parse_tree__module_imports____Unify____module_timestamp_0_0(ArgX1_3, ArgY1_4);
      if (succeeded)
      {
        TypeInfo_16_16 = (MR_Word) (&recompilation__used_file_scalar_common_2[5]);
        succeeded = mercury__builtin__unify_2_p_0(TypeInfo_16_16, ((MR_Box) (ArgX2_5)), ((MR_Box) (ArgY2_6)));
        if (succeeded)
        {
          succeeded = recompilation__used_file____Unify____resolved_used_items_0_0(ArgX3_7, ArgY3_8);
          if (succeeded)
          {
            TypeInfo_17_17 = (MR_Word) (&recompilation__used_file_scalar_common_2[12]);
            succeeded = mercury__builtin__unify_2_p_0(TypeInfo_17_17, ((MR_Box) (ArgX4_9)), ((MR_Box) (ArgY4_10)));
            if (succeeded)
            {
              TypeInfo_18_18 = (MR_Word) (&recompilation__used_file_scalar_common_2[6]);
              succeeded = mercury__builtin__unify_2_p_0(TypeInfo_18_18, ((MR_Box) (ArgX5_11)), ((MR_Box) (ArgY5_12)));
            }
          }
        }
      }
    }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_used_items_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_27 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_28 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_27 == CastY_28);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
    {
      MR_Word ArgX1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
      MR_Word ArgX2_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))));
      MR_Word ArgX3_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgY3_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 2))));
      MR_Word ArgX4_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgY4_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 3))));
      MR_Word ArgX5_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));
      MR_Word ArgY5_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 4))));
      MR_Word ArgX6_19 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 5))));
      MR_Word ArgY6_20 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 5))));
      MR_Word ArgX7_22 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 6))));
      MR_Word ArgY7_23 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 6))));
      MR_Word ArgX8_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 7))));
      MR_Word ArgY8_26 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 7))));
      MR_Word SubResult1_6;

      mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[9]), &SubResult1_6, ((MR_Box) (ArgX1_4)), ((MR_Box) (ArgY1_5)));
      succeeded = (SubResult1_6 != (MR_Integer) 0);
      if (succeeded)
        *HeadVar__1_1 = SubResult1_6;
      else
      {
        MR_Word SubResult2_9;

        mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[9]), &SubResult2_9, ((MR_Box) (ArgX2_7)), ((MR_Box) (ArgY2_8)));
        succeeded = (SubResult2_9 != (MR_Integer) 0);
        if (succeeded)
          *HeadVar__1_1 = SubResult2_9;
        else
        {
          MR_Word SubResult3_12;

          mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[9]), &SubResult3_12, ((MR_Box) (ArgX3_10)), ((MR_Box) (ArgY3_11)));
          succeeded = (SubResult3_12 != (MR_Integer) 0);
          if (succeeded)
            *HeadVar__1_1 = SubResult3_12;
          else
          {
            MR_Word SubResult4_15;

            mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[9]), &SubResult4_15, ((MR_Box) (ArgX4_13)), ((MR_Box) (ArgY4_14)));
            succeeded = (SubResult4_15 != (MR_Integer) 0);
            if (succeeded)
              *HeadVar__1_1 = SubResult4_15;
            else
            {
              MR_Word SubResult5_18;

              mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[9]), &SubResult5_18, ((MR_Box) (ArgX5_16)), ((MR_Box) (ArgY5_17)));
              succeeded = (SubResult5_18 != (MR_Integer) 0);
              if (succeeded)
                *HeadVar__1_1 = SubResult5_18;
              else
              {
                MR_Word SubResult6_21;

                mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[11]), &SubResult6_21, ((MR_Box) (ArgX6_19)), ((MR_Box) (ArgY6_20)));
                succeeded = (SubResult6_21 != (MR_Integer) 0);
                if (succeeded)
                  *HeadVar__1_1 = SubResult6_21;
                else
                {
                  MR_Word SubResult7_24;

                  mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[10]), &SubResult7_24, ((MR_Box) (ArgX7_22)), ((MR_Box) (ArgY7_23)));
                  succeeded = (SubResult7_24 != (MR_Integer) 0);
                  if (succeeded)
                    *HeadVar__1_1 = SubResult7_24;
                  else
                    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[10]), HeadVar__1_1, ((MR_Box) (ArgX8_25)), ((MR_Box) (ArgY8_26)));
                }
              }
            }
          }
        }
      }
    }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_used_items_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_19 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_20 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_19 == CastY_20);
    if (succeeded)
      succeeded = MR_TRUE;
    else
    {
      MR_Word TypeInfo_22_22;
      MR_Word TypeInfo_23_23;
      MR_Word TypeInfo_24_24;
      MR_Word TypeInfo_25_25;
      MR_Word TypeInfo_26_26;
      MR_Word TypeInfo_27_27;
      MR_Word TypeInfo_28_28;
      MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
      MR_Word ArgY1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
      MR_Word ArgY2_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgX3_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 2))));
      MR_Word ArgY3_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgX4_9 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 3))));
      MR_Word ArgY4_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgX5_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 4))));
      MR_Word ArgY5_12 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));
      MR_Word ArgX6_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 5))));
      MR_Word ArgY6_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 5))));
      MR_Word ArgX7_15 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 6))));
      MR_Word ArgY7_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 6))));
      MR_Word ArgX8_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 7))));
      MR_Word ArgY8_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 7))));

      succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[9]), ((MR_Box) (ArgX1_3)), ((MR_Box) (ArgY1_4)));
      if (succeeded)
      {
        TypeInfo_22_22 = (MR_Word) (&recompilation__used_file_scalar_common_1[9]);
        succeeded = mercury__builtin__unify_2_p_0(TypeInfo_22_22, ((MR_Box) (ArgX2_5)), ((MR_Box) (ArgY2_6)));
        if (succeeded)
        {
          TypeInfo_23_23 = (MR_Word) (&recompilation__used_file_scalar_common_1[9]);
          succeeded = mercury__builtin__unify_2_p_0(TypeInfo_23_23, ((MR_Box) (ArgX3_7)), ((MR_Box) (ArgY3_8)));
          if (succeeded)
          {
            TypeInfo_24_24 = (MR_Word) (&recompilation__used_file_scalar_common_1[9]);
            succeeded = mercury__builtin__unify_2_p_0(TypeInfo_24_24, ((MR_Box) (ArgX4_9)), ((MR_Box) (ArgY4_10)));
            if (succeeded)
            {
              TypeInfo_25_25 = (MR_Word) (&recompilation__used_file_scalar_common_1[9]);
              succeeded = mercury__builtin__unify_2_p_0(TypeInfo_25_25, ((MR_Box) (ArgX5_11)), ((MR_Box) (ArgY5_12)));
              if (succeeded)
              {
                TypeInfo_26_26 = (MR_Word) (&recompilation__used_file_scalar_common_1[11]);
                succeeded = mercury__builtin__unify_2_p_0(TypeInfo_26_26, ((MR_Box) (ArgX6_13)), ((MR_Box) (ArgY6_14)));
                if (succeeded)
                {
                  TypeInfo_27_27 = (MR_Word) (&recompilation__used_file_scalar_common_1[10]);
                  succeeded = mercury__builtin__unify_2_p_0(TypeInfo_27_27, ((MR_Box) (ArgX7_15)), ((MR_Box) (ArgY7_16)));
                  if (succeeded)
                  {
                    TypeInfo_28_28 = (MR_Word) (&recompilation__used_file_scalar_common_1[10]);
                    succeeded = mercury__builtin__unify_2_p_0(TypeInfo_28_28, ((MR_Box) (ArgX8_17)), ((MR_Box) (ArgY8_18)));
                  }
                }
              }
            }
          }
        }
      }
    }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_pred_or_func_set_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[10]), HeadVar__1_1, ((MR_Box) (Cast_HeadVar1_4)), ((MR_Box) (Cast_HeadVar2_5)));
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_pred_or_func_set_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[10]), ((MR_Box) (Cast_HeadVar1_3)), ((MR_Box) (Cast_HeadVar2_4)));
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_pred_or_func_map_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[4]), HeadVar__1_1, ((MR_Box) (Cast_HeadVar1_4)), ((MR_Box) (Cast_HeadVar2_5)));
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_pred_or_func_map_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[4]), ((MR_Box) (Cast_HeadVar1_3)), ((MR_Box) (Cast_HeadVar2_4)));
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_item_set_1_0(
  MR_Word TypeInfo_for_T_6,
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word TypeInfo_11_11;
    MR_Word TypeInfo_13_13;
    MR_Word TypeInfo_15_15;
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    {
      TypeInfo_11_11 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_11_11, 0) = ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2));
      MR_hl_field(MR_mktag(0), TypeInfo_11_11, 1) = ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
      MR_hl_field(MR_mktag(0), TypeInfo_11_11, 2) = ((MR_Box) (TypeInfo_for_T_6));
    }
    {
      TypeInfo_13_13 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_13_13, 0) = ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2));
      MR_hl_field(MR_mktag(0), TypeInfo_13_13, 1) = ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0));
      MR_hl_field(MR_mktag(0), TypeInfo_13_13, 2) = ((MR_Box) (TypeInfo_11_11));
    }
    {
      TypeInfo_15_15 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_15_15, 0) = ((MR_Box) (&mercury__list__list__type_ctor_info_list_1));
      MR_hl_field(MR_mktag(0), TypeInfo_15_15, 1) = ((MR_Box) (TypeInfo_13_13));
    }
    mercury__tree234____Compare____tree234_2_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), TypeInfo_15_15, HeadVar__1_1, Cast_HeadVar1_4, Cast_HeadVar2_5);
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_set_1_0(
  MR_Word TypeInfo_for_T_5,
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word TypeInfo_10_10;
    MR_Word TypeInfo_12_12;
    MR_Word TypeInfo_14_14;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    {
      TypeInfo_10_10 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_10_10, 0) = ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2));
      MR_hl_field(MR_mktag(0), TypeInfo_10_10, 1) = ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
      MR_hl_field(MR_mktag(0), TypeInfo_10_10, 2) = ((MR_Box) (TypeInfo_for_T_5));
    }
    {
      TypeInfo_12_12 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_12_12, 0) = ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2));
      MR_hl_field(MR_mktag(0), TypeInfo_12_12, 1) = ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0));
      MR_hl_field(MR_mktag(0), TypeInfo_12_12, 2) = ((MR_Box) (TypeInfo_10_10));
    }
    {
      TypeInfo_14_14 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_14_14, 0) = ((MR_Box) (&mercury__list__list__type_ctor_info_list_1));
      MR_hl_field(MR_mktag(0), TypeInfo_14_14, 1) = ((MR_Box) (TypeInfo_12_12));
    }
    succeeded = mercury__tree234____Unify____tree234_2_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), TypeInfo_14_14, Cast_HeadVar1_3, Cast_HeadVar2_4);
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_item_map_1_0(
  MR_Word TypeInfo_for_T_6,
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__tree234____Compare____tree234_2_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), TypeInfo_for_T_6, HeadVar__1_1, Cast_HeadVar1_4, Cast_HeadVar2_5);
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_map_1_0(
  MR_Word TypeInfo_for_T_5,
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__tree234____Unify____tree234_2_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), TypeInfo_for_T_5, Cast_HeadVar1_3, Cast_HeadVar2_4);
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_item_list_1_0(
  MR_Word TypeInfo_for_T_6,
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word TypeInfo_10_10;
    MR_Word TypeInfo_12_12;
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    {
      TypeInfo_10_10 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_10_10, 0) = ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2));
      MR_hl_field(MR_mktag(0), TypeInfo_10_10, 1) = ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
      MR_hl_field(MR_mktag(0), TypeInfo_10_10, 2) = ((MR_Box) (TypeInfo_for_T_6));
    }
    {
      TypeInfo_12_12 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_12_12, 0) = ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2));
      MR_hl_field(MR_mktag(0), TypeInfo_12_12, 1) = ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0));
      MR_hl_field(MR_mktag(0), TypeInfo_12_12, 2) = ((MR_Box) (TypeInfo_10_10));
    }
    mercury__list____Compare____list_1_0(TypeInfo_12_12, HeadVar__1_1, (MR_Word) (Cast_HeadVar1_4), (MR_Word) (Cast_HeadVar2_5));
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_list_1_0(
  MR_Word TypeInfo_for_T_5,
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word TypeInfo_9_9;
    MR_Word TypeInfo_11_11;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    {
      TypeInfo_9_9 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_9_9, 0) = ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2));
      MR_hl_field(MR_mktag(0), TypeInfo_9_9, 1) = ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
      MR_hl_field(MR_mktag(0), TypeInfo_9_9, 2) = ((MR_Box) (TypeInfo_for_T_5));
    }
    {
      TypeInfo_11_11 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_11_11, 0) = ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2));
      MR_hl_field(MR_mktag(0), TypeInfo_11_11, 1) = ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0));
      MR_hl_field(MR_mktag(0), TypeInfo_11_11, 2) = ((MR_Box) (TypeInfo_9_9));
    }
    succeeded = mercury__list____Unify____list_1_0(TypeInfo_11_11, (MR_Word) (Cast_HeadVar1_3), (MR_Word) (Cast_HeadVar2_4));
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_functor_set_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[11]), HeadVar__1_1, ((MR_Box) (Cast_HeadVar1_4)), ((MR_Box) (Cast_HeadVar2_5)));
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_set_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[11]), ((MR_Box) (Cast_HeadVar1_3)), ((MR_Box) (Cast_HeadVar2_4)));
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_functor_map_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[1]), HeadVar__1_1, ((MR_Box) (Cast_HeadVar1_4)), ((MR_Box) (Cast_HeadVar2_5)));
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_map_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[1]), ((MR_Box) (Cast_HeadVar1_3)), ((MR_Box) (Cast_HeadVar2_4)));
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____resolved_functor_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_43 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_44 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_43 == CastY_44);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
      switch (MR_tag((MR_Word) HeadVar__2_2)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word Var_53 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
            MR_Word Var_54 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
            MR_Word Var_55 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
            MR_Word Var_56 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));

            switch (MR_tag((MR_Word) HeadVar__3_3)) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                {
                  MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
                  MR_Word ArgY2_8 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))) & (MR_Integer) 1);
                  MR_Word ArgY3_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 2))));
                  MR_Word ArgY4_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 3))));
                  MR_Word SubResult1_6;

                  hlds__hlds_pred____Compare____pred_id_0_0(&SubResult1_6, Var_56, ArgY1_5);
                  succeeded = (SubResult1_6 != (MR_Integer) 0);
                  if (succeeded)
                    *HeadVar__1_1 = SubResult1_6;
                  else
                  {
                    MR_Word SubResult2_9;
                    MR_Integer Var_57 = (MR_Integer) (Var_55);
                    MR_Integer Var_58 = (MR_Integer) (ArgY2_8);

                    succeeded = (Var_57 < Var_58);
                    if (succeeded)
                    {
                      SubResult2_9 = (MR_Integer) 1;
                      succeeded = MR_TRUE;
                    }
                    else
                    {
                      succeeded = (Var_57 > Var_58);
                      if (succeeded)
                      {
                        SubResult2_9 = (MR_Integer) 2;
                        succeeded = MR_TRUE;
                      }
                      else
                      {
                        succeeded = MR_TRUE;
                        succeeded = !(succeeded);
                        if (succeeded)
                        {
                          SubResult2_9 = (MR_Integer) 0;
                          succeeded = MR_TRUE;
                        }
                      }
                    }
                    if (succeeded)
                      *HeadVar__1_1 = SubResult2_9;
                    else
                    {
                      MR_Word SubResult3_12;

                      mdbcomp__sym_name____Compare____sym_name_0_0(&SubResult3_12, Var_54, ArgY3_11);
                      succeeded = (SubResult3_12 != (MR_Integer) 0);
                      if (succeeded)
                        *HeadVar__1_1 = SubResult3_12;
                      else
                      {
                        MR_Integer Var_59 = (MR_Integer) (Var_53);
                        MR_Integer Var_60 = (MR_Integer) (ArgY4_14);

                        succeeded = (Var_59 < Var_60);
                        if (succeeded)
                          *HeadVar__1_1 = (MR_Integer) 1;
                        else
                        {
                          succeeded = (Var_59 > Var_60);
                          if (succeeded)
                            *HeadVar__1_1 = (MR_Integer) 2;
                          else
                            *HeadVar__1_1 = (MR_Integer) 0;
                        }
                      }
                    }
                  }
                }
                break;
              case (MR_Integer) 1:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
              case (MR_Integer) 2:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
            }
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word Var_51 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 0))));

            switch (MR_tag((MR_Word) HeadVar__3_3)) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 1:
                {
                  MR_Word ArgY1_31 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__3_3, (MR_Integer) 0))));

                  parse_tree__prog_data____Compare____type_ctor_0_0(HeadVar__1_1, Var_51, ArgY1_31);
                }
                break;
              case (MR_Integer) 2:
                *HeadVar__1_1 = (MR_Integer) 1;
                break;
            }
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word Var_52 = ((MR_Word) ((MR_hl_field(MR_mktag(2), HeadVar__2_2, (MR_Integer) 0))));

            switch (MR_tag((MR_Word) HeadVar__3_3)) {
              default: /*NOTREACHED*/ MR_assert(0);
              case (MR_Integer) 0:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 1:
                *HeadVar__1_1 = (MR_Integer) 2;
                break;
              case (MR_Integer) 2:
                {
                  MR_Word ArgY1_42 = ((MR_Word) ((MR_hl_field(MR_mktag(2), HeadVar__3_3, (MR_Integer) 0))));

                  parse_tree__prog_data____Compare____cons_ctor_0_0(HeadVar__1_1, Var_52, ArgY1_42);
                }
                break;
            }
          }
          break;
      }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_15 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_16 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_15 == CastY_16);
    if (succeeded)
      succeeded = MR_TRUE;
    else
      switch (MR_tag((MR_Word) HeadVar__1_1)) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 0:
          {
            MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
            MR_Word ArgY1_4;
            MR_Word ArgX2_5 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))) & (MR_Integer) 1);
            MR_Word ArgY2_6;
            MR_Word ArgX3_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 2))));
            MR_Word ArgY3_8;
            MR_Word ArgX4_9 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 3))));
            MR_Word ArgY4_10;
            MR_Integer Var_22;
            MR_Integer Var_23;

            succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 0);
            if (succeeded)
            {
              ArgY1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
              ArgY2_6 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))) & (MR_Integer) 1);
              ArgY3_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
              ArgY4_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
              succeeded = hlds__hlds_pred____Unify____pred_id_0_0(ArgX1_3, ArgY1_4);
              if (succeeded)
              {
                succeeded = (ArgX2_5 == ArgY2_6);
                if (succeeded)
                {
                  succeeded = mdbcomp__sym_name____Unify____sym_name_0_0(ArgX3_7, ArgY3_8);
                  if (succeeded)
                  {
                    Var_22 = (MR_Integer) (ArgX4_9);
                    Var_23 = (MR_Integer) (ArgY4_10);
                    succeeded = (Var_22 == Var_23);
                  }
                }
              }
            }
          }
          break;
        case (MR_Integer) 1:
          {
            MR_Word ArgX1_11 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__1_1, (MR_Integer) 0))));
            MR_Word ArgY1_12;

            succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 1);
            if (succeeded)
            {
              ArgY1_12 = ((MR_Word) ((MR_hl_field(MR_mktag(1), HeadVar__2_2, (MR_Integer) 0))));
              succeeded = parse_tree__prog_data____Unify____type_ctor_0_0(ArgX1_11, ArgY1_12);
            }
          }
          break;
        case (MR_Integer) 2:
          {
            MR_Word ArgX1_13 = ((MR_Word) ((MR_hl_field(MR_mktag(2), HeadVar__1_1, (MR_Integer) 0))));
            MR_Word ArgY1_14;

            succeeded = ((MR_tag((MR_Word) HeadVar__2_2)) == (MR_Integer) 2);
            if (succeeded)
            {
              ArgY1_14 = ((MR_Word) ((MR_hl_field(MR_mktag(2), HeadVar__2_2, (MR_Integer) 0))));
              succeeded = parse_tree__prog_data____Unify____cons_ctor_0_0(ArgX1_13, ArgY1_14);
            }
          }
          break;
      }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____recomp_used_module_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_12 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_13 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_12 == CastY_13);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
    {
      MR_Word ArgX1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
      MR_Word ArgX2_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))));
      MR_Word ArgX3_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgY3_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 2))));
      MR_Word SubResult1_6;

      mdbcomp__sym_name____Compare____sym_name_0_0(&SubResult1_6, ArgX1_4, ArgY1_5);
      succeeded = (SubResult1_6 != (MR_Integer) 0);
      if (succeeded)
        *HeadVar__1_1 = SubResult1_6;
      else
      {
        MR_Word SubResult2_9;

        parse_tree__module_imports____Compare____module_timestamp_0_0(&SubResult2_9, ArgX2_7, ArgY2_8);
        succeeded = (SubResult2_9 != (MR_Integer) 0);
        if (succeeded)
          *HeadVar__1_1 = SubResult2_9;
        else
          mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[11]), HeadVar__1_1, ((MR_Box) (ArgX3_10)), ((MR_Box) (ArgY3_11)));
      }
    }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____recomp_used_module_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_9 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_10 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_9 == CastY_10);
    if (succeeded)
      succeeded = MR_TRUE;
    else
    {
      MR_Word TypeInfo_13_13;
      MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
      MR_Word ArgY1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
      MR_Word ArgY2_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgX3_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 2))));
      MR_Word ArgY3_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));

      succeeded = mdbcomp__sym_name____Unify____sym_name_0_0(ArgX1_3, ArgY1_4);
      if (succeeded)
      {
        succeeded = parse_tree__module_imports____Unify____module_timestamp_0_0(ArgX2_5, ArgY2_6);
        if (succeeded)
        {
          TypeInfo_13_13 = (MR_Word) (&recompilation__used_file_scalar_common_2[11]);
          succeeded = mercury__builtin__unify_2_p_0(TypeInfo_13_13, ((MR_Box) (ArgX3_7)), ((MR_Box) (ArgY3_8)));
        }
      }
    }
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____parse_resolved_item_matches_1_0(
  MR_Word TypeInfo_for_T_6,
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  recompilation__used_file__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_67_111_109_112_97_114_101_95_95_95_114_101_99_111_109_112_105_108_97_116_105_111_110_95_95_117_115_101_100_95_102_105_108_101_95_95_112_97_114_115_101_95_114_101_115_111_108_118_101_100_95_105_116_101_109_95_109_97_116_99_104_101_115_95_49_95_95_91_49_93_95_48_3_p_0(HeadVar__1_1, HeadVar__2_2, HeadVar__3_3);
}

static void MR_CALL 
recompilation__used_file__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_67_111_109_112_97_114_101_95_95_95_114_101_99_111_109_112_105_108_97_116_105_111_110_95_95_117_115_101_100_95_102_105_108_101_95_95_112_97_114_115_101_95_114_101_115_111_108_118_101_100_95_105_116_101_109_95_109_97_116_99_104_101_115_95_49_95_95_91_49_93_95_48_3_p_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__private_builtin__builtin_compare_pred_3_p_0(HeadVar__1_1, (MR_Word) (Cast_HeadVar1_4), (MR_Word) (Cast_HeadVar2_5));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____parse_resolved_item_matches_1_0(
  MR_Word TypeInfo_for_T_5,
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_85_110_105_102_121_95_95_95_114_101_99_111_109_112_105_108_97_116_105_111_110_95_95_117_115_101_100_95_102_105_108_101_95_95_112_97_114_115_101_95_114_101_115_111_108_118_101_100_95_105_116_101_109_95_109_97_116_99_104_101_115_95_49_95_95_91_49_93_95_48_2_p_0(HeadVar__1_1, HeadVar__2_2);
    return succeeded;
  }
}

static MR_bool MR_CALL 
recompilation__used_file__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_85_110_105_102_121_95_95_95_114_101_99_111_109_112_105_108_97_116_105_111_110_95_95_117_115_101_100_95_102_105_108_101_95_95_112_97_114_115_101_95_114_101_115_111_108_118_101_100_95_105_116_101_109_95_109_97_116_99_104_101_115_95_49_95_95_91_49_93_95_48_2_p_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__private_builtin__builtin_unify_pred_2_p_0((MR_Word) (Cast_HeadVar1_3), (MR_Word) (Cast_HeadVar2_4));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____module_name_and_timestamp_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_9 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_10 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_9 == CastY_10);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
    {
      MR_Word ArgX1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
      MR_Word ArgX2_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))));
      MR_Word SubResult1_6;

      mdbcomp__sym_name____Compare____sym_name_0_0(&SubResult1_6, ArgX1_4, ArgY1_5);
      succeeded = (SubResult1_6 != (MR_Integer) 0);
      if (succeeded)
        *HeadVar__1_1 = SubResult1_6;
      else
        parse_tree__module_imports____Compare____module_timestamp_0_0(HeadVar__1_1, ArgX2_7, ArgY2_8);
    }
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____module_name_and_timestamp_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_7 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_8 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_7 == CastY_8);
    if (succeeded)
      succeeded = MR_TRUE;
    else
    {
      MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
      MR_Word ArgY1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
      MR_Word ArgY2_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));

      succeeded = mdbcomp__sym_name____Unify____sym_name_0_0(ArgX1_3, ArgY1_4);
      if (succeeded)
        succeeded = parse_tree__module_imports____Unify____module_timestamp_0_0(ArgX2_5, ArgY2_6);
    }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____module_imported_items_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_27 = (MR_Integer) (HeadVar__2_2);
    MR_Integer CastY_28 = (MR_Integer) (HeadVar__3_3);

    succeeded = (CastX_27 == CastY_28);
    if (succeeded)
      *HeadVar__1_1 = (MR_Integer) 0;
    else
    {
      MR_Word ArgX1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgY1_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 0))));
      MR_Word ArgX2_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgY2_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 1))));
      MR_Word ArgX3_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgY3_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 2))));
      MR_Word ArgX4_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgY4_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 3))));
      MR_Word ArgX5_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));
      MR_Word ArgY5_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 4))));
      MR_Word ArgX6_19 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 5))));
      MR_Word ArgY6_20 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 5))));
      MR_Word ArgX7_22 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 6))));
      MR_Word ArgY7_23 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 6))));
      MR_Word ArgX8_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 7))));
      MR_Word ArgY8_26 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__3_3, (MR_Integer) 7))));
      MR_Word SubResult1_6;

      mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), &SubResult1_6, ((MR_Box) (ArgX1_4)), ((MR_Box) (ArgY1_5)));
      succeeded = (SubResult1_6 != (MR_Integer) 0);
      if (succeeded)
        *HeadVar__1_1 = SubResult1_6;
      else
      {
        MR_Word SubResult2_9;

        mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), &SubResult2_9, ((MR_Box) (ArgX2_7)), ((MR_Box) (ArgY2_8)));
        succeeded = (SubResult2_9 != (MR_Integer) 0);
        if (succeeded)
          *HeadVar__1_1 = SubResult2_9;
        else
        {
          MR_Word SubResult3_12;

          mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), &SubResult3_12, ((MR_Box) (ArgX3_10)), ((MR_Box) (ArgY3_11)));
          succeeded = (SubResult3_12 != (MR_Integer) 0);
          if (succeeded)
            *HeadVar__1_1 = SubResult3_12;
          else
          {
            MR_Word SubResult4_15;

            mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), &SubResult4_15, ((MR_Box) (ArgX4_13)), ((MR_Box) (ArgY4_14)));
            succeeded = (SubResult4_15 != (MR_Integer) 0);
            if (succeeded)
              *HeadVar__1_1 = SubResult4_15;
            else
            {
              MR_Word SubResult5_18;

              mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), &SubResult5_18, ((MR_Box) (ArgX5_16)), ((MR_Box) (ArgY5_17)));
              succeeded = (SubResult5_18 != (MR_Integer) 0);
              if (succeeded)
                *HeadVar__1_1 = SubResult5_18;
              else
              {
                MR_Word SubResult6_21;

                mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), &SubResult6_21, ((MR_Box) (ArgX6_19)), ((MR_Box) (ArgY6_20)));
                succeeded = (SubResult6_21 != (MR_Integer) 0);
                if (succeeded)
                  *HeadVar__1_1 = SubResult6_21;
                else
                {
                  MR_Word SubResult7_24;

                  mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), &SubResult7_24, ((MR_Box) (ArgX7_22)), ((MR_Box) (ArgY7_23)));
                  succeeded = (SubResult7_24 != (MR_Integer) 0);
                  if (succeeded)
                    *HeadVar__1_1 = SubResult7_24;
                  else
                    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), HeadVar__1_1, ((MR_Box) (ArgX8_25)), ((MR_Box) (ArgY8_26)));
                }
              }
            }
          }
        }
      }
    }
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____module_imported_items_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Integer CastX_19 = (MR_Integer) (HeadVar__1_1);
    MR_Integer CastY_20 = (MR_Integer) (HeadVar__2_2);

    succeeded = (CastX_19 == CastY_20);
    if (succeeded)
      succeeded = MR_TRUE;
    else
    {
      MR_Word TypeInfo_22_22;
      MR_Word TypeInfo_23_23;
      MR_Word TypeInfo_24_24;
      MR_Word TypeInfo_25_25;
      MR_Word TypeInfo_26_26;
      MR_Word TypeInfo_27_27;
      MR_Word TypeInfo_28_28;
      MR_Word ArgX1_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
      MR_Word ArgY1_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
      MR_Word ArgX2_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
      MR_Word ArgY2_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
      MR_Word ArgX3_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 2))));
      MR_Word ArgY3_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 2))));
      MR_Word ArgX4_9 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 3))));
      MR_Word ArgY4_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 3))));
      MR_Word ArgX5_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 4))));
      MR_Word ArgY5_12 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 4))));
      MR_Word ArgX6_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 5))));
      MR_Word ArgY6_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 5))));
      MR_Word ArgX7_15 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 6))));
      MR_Word ArgY7_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 6))));
      MR_Word ArgX8_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 7))));
      MR_Word ArgY8_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 7))));

      succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), ((MR_Box) (ArgX1_3)), ((MR_Box) (ArgY1_4)));
      if (succeeded)
      {
        TypeInfo_22_22 = (MR_Word) (&recompilation__used_file_scalar_common_2[10]);
        succeeded = mercury__builtin__unify_2_p_0(TypeInfo_22_22, ((MR_Box) (ArgX2_5)), ((MR_Box) (ArgY2_6)));
        if (succeeded)
        {
          TypeInfo_23_23 = (MR_Word) (&recompilation__used_file_scalar_common_2[10]);
          succeeded = mercury__builtin__unify_2_p_0(TypeInfo_23_23, ((MR_Box) (ArgX3_7)), ((MR_Box) (ArgY3_8)));
          if (succeeded)
          {
            TypeInfo_24_24 = (MR_Word) (&recompilation__used_file_scalar_common_2[10]);
            succeeded = mercury__builtin__unify_2_p_0(TypeInfo_24_24, ((MR_Box) (ArgX4_9)), ((MR_Box) (ArgY4_10)));
            if (succeeded)
            {
              TypeInfo_25_25 = (MR_Word) (&recompilation__used_file_scalar_common_2[10]);
              succeeded = mercury__builtin__unify_2_p_0(TypeInfo_25_25, ((MR_Box) (ArgX5_11)), ((MR_Box) (ArgY5_12)));
              if (succeeded)
              {
                TypeInfo_26_26 = (MR_Word) (&recompilation__used_file_scalar_common_2[10]);
                succeeded = mercury__builtin__unify_2_p_0(TypeInfo_26_26, ((MR_Box) (ArgX6_13)), ((MR_Box) (ArgY6_14)));
                if (succeeded)
                {
                  TypeInfo_27_27 = (MR_Word) (&recompilation__used_file_scalar_common_2[10]);
                  succeeded = mercury__builtin__unify_2_p_0(TypeInfo_27_27, ((MR_Box) (ArgX7_15)), ((MR_Box) (ArgY7_16)));
                  if (succeeded)
                  {
                    TypeInfo_28_28 = (MR_Word) (&recompilation__used_file_scalar_common_2[10]);
                    succeeded = mercury__builtin__unify_2_p_0(TypeInfo_28_28, ((MR_Box) (ArgX8_17)), ((MR_Box) (ArgY8_18)));
                  }
                }
              }
            }
          }
        }
      }
    }
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____imported_items_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[12]), HeadVar__1_1, ((MR_Box) (Cast_HeadVar1_4)), ((MR_Box) (Cast_HeadVar2_5)));
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____imported_items_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[12]), ((MR_Box) (Cast_HeadVar1_3)), ((MR_Box) (Cast_HeadVar2_4)));
    return succeeded;
  }
}

void MR_CALL 
recompilation__used_file____Compare____imported_item_set_0_0(
  MR_Word * HeadVar__1_1,
  MR_Word HeadVar__2_2,
  MR_Word HeadVar__3_3)
{
  {
    MR_Word Cast_HeadVar1_4 = HeadVar__2_2;
    MR_Word Cast_HeadVar2_5 = HeadVar__3_3;

    mercury__builtin__compare_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), HeadVar__1_1, ((MR_Box) (Cast_HeadVar1_4)), ((MR_Box) (Cast_HeadVar2_5)));
  }
}

MR_bool MR_CALL 
recompilation__used_file____Unify____imported_item_set_0_0(
  MR_Word HeadVar__1_1,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_Word Cast_HeadVar1_3 = HeadVar__1_1;
    MR_Word Cast_HeadVar2_4 = HeadVar__2_2;

    succeeded = mercury__builtin__unify_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[10]), ((MR_Box) (Cast_HeadVar1_3)), ((MR_Box) (Cast_HeadVar2_4)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file__parse_name_and_arity_item_add_to_set_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_UsedClasses_0_14,
  MR_Word * STATE_VARIABLE_UsedClasses_15,
  MR_Word STATE_VARIABLE_Errors_0_16,
  MR_Word * STATE_VARIABLE_Errors_17)
{
  {
    MR_bool succeeded;
    MR_Word ClassName_9;
    MR_Integer ClassArity_10;

    succeeded = parse_tree__parse_util__parse_unqualified_name_and_arity_3_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6, &ClassName_9, &ClassArity_10);
    if (succeeded)
    {
      MR_Word UsedClass_11;

      {
        UsedClass_11 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(MR_mktag(0), UsedClass_11, 0) = ((MR_Box) (ClassName_9));
        MR_hl_field(MR_mktag(0), UsedClass_11, 1) = ((MR_Box) (ClassArity_10));
      }
      mercury__set__insert_3_p_0((MR_Word) (&recompilation__recompilation__type_ctor_info_item_name_0), ((MR_Box) (UsedClass_11)), STATE_VARIABLE_UsedClasses_0_14, STATE_VARIABLE_UsedClasses_15);
      *STATE_VARIABLE_Errors_17 = STATE_VARIABLE_Errors_0_16;
    }
    else
    {
      MR_Word Context_12;
      MR_Word Error_13;

      Context_12 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_13 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_13, 0) = ((MR_Box) (Context_12));
        MR_hl_field(MR_mktag(1), Error_13, 1) = ((MR_Box) ((MR_String) "error in used_typeclasses term"));
      }
      *STATE_VARIABLE_Errors_17 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_16, ((MR_Box) (Error_13)));
      *STATE_VARIABLE_UsedClasses_15 = STATE_VARIABLE_UsedClasses_0_14;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_resolved_item_arity_matches_6_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_LambdaHeadVar__3_39;
    MR_Word conv0_LambdaHeadVar__5_41;

    recompilation__used_file__IntroducedFrom__pred__parse_resolved_item_arity_matches__1224__1_7_p_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 4)))), ((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_LambdaHeadVar__3_39, ((MR_Word) (wrapper_arg_4)), &conv0_LambdaHeadVar__5_41);
    *wrapper_arg_3 = ((MR_Box) (conv1_LambdaHeadVar__3_39));
    *wrapper_arg_5 = ((MR_Box) (conv0_LambdaHeadVar__5_41));
  }
}

static void MR_CALL 
recompilation__used_file__parse_resolved_item_arity_matches_6_p_0(
  MR_Word TypeInfo_for_T_52,
  MR_Word ParseMatches_7,
  MR_Word Term_8,
  MR_Word STATE_VARIABLE_RevArityMatchMaps_0_25,
  MR_Word * STATE_VARIABLE_RevArityMatchMaps_26,
  MR_Word STATE_VARIABLE_Errors_0_27,
  MR_Word * STATE_VARIABLE_Errors_28)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_8)) == (MR_Integer) 0);
    MR_Integer Arity0_14;
    MR_Word MatchTermList_15;
    MR_Word TypeCtorInfo_53_53;
    MR_Word ArityTerm_11;
    MR_Word MatchesTerm_12;
    MR_Word Var_29;
    MR_String Var_30;
    MR_Word Var_31;
    MR_Word Var_32;
    MR_Word Var_33;

    if (succeeded)
    {
      Var_29 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_8, (MR_Integer) 0))));
      Var_31 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_8, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_29)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_30 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_29, (MR_Integer) 0))));
        succeeded = (strcmp(Var_30, (MR_String) "-") == 0);
        if (succeeded)
        {
          succeeded = (Var_31 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            ArityTerm_11 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_31, (MR_Integer) 0))));
            Var_32 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_31, (MR_Integer) 1))));
            succeeded = (Var_32 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              MatchesTerm_12 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_32, (MR_Integer) 0))));
              Var_33 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_32, (MR_Integer) 1))));
              succeeded = (Var_33 == (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                TypeCtorInfo_53_53 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                succeeded = mercury__term__decimal_term_to_int_2_p_0(TypeCtorInfo_53_53, ArityTerm_11, &Arity0_14);
                if (succeeded)
                {
                  parse_tree__parse_util__conjunction_to_list_2_p_0(TypeCtorInfo_53_53, MatchesTerm_12, &MatchTermList_15);
                  succeeded = MR_TRUE;
                }
              }
            }
          }
        }
      }
    }
    if (succeeded)
    {
      MR_Word TypeInfo_58_58;
      MR_Word MatchMap_21;
      MR_Word TermErrors_22;
      MR_Word Var_34;
      MR_Word Var_35;
      MR_Word Var_36;
      MR_Box conv3_MatchMap_21;
      MR_Box conv2_TermErrors_22;

      {
        Var_34 = (MR_Word) MR_new_object(MR_Word, (5 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(MR_mktag(0), Var_34, 0) = ((MR_Box) (&recompilation__used_file_scalar_common_11[1]));
        MR_hl_field(MR_mktag(0), Var_34, 1) = ((MR_Box) (recompilation__used_file__parse_resolved_item_arity_matches_6_p_0_1));
        MR_hl_field(MR_mktag(0), Var_34, 2) = ((MR_Box) ((MR_Integer) 2));
        MR_hl_field(MR_mktag(0), Var_34, 3) = ((MR_Box) (TypeInfo_for_T_52));
        MR_hl_field(MR_mktag(0), Var_34, 4) = ((MR_Box) (ParseMatches_7));
      }
      Var_35 = mercury__map__init_0_f_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), TypeInfo_for_T_52);
      Var_36 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
      {
        TypeInfo_58_58 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(MR_mktag(0), TypeInfo_58_58, 0) = ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2));
        MR_hl_field(MR_mktag(0), TypeInfo_58_58, 1) = ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
        MR_hl_field(MR_mktag(0), TypeInfo_58_58, 2) = ((MR_Box) (TypeInfo_for_T_52));
      }
      mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), TypeInfo_58_58, (MR_Word) (&recompilation__used_file_scalar_common_2[8]), Var_34, MatchTermList_15, ((MR_Box) (Var_35)), &conv3_MatchMap_21, ((MR_Box) (Var_36)), &conv2_TermErrors_22);
      MatchMap_21 = ((MR_Word) (conv3_MatchMap_21));
      TermErrors_22 = ((MR_Word) (conv2_TermErrors_22));
      succeeded = mercury__cord__is_empty_1_p_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), TermErrors_22);
      if (succeeded)
      {
        MR_Word Var_43;

        {
          Var_43 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
          MR_hl_field(MR_mktag(0), Var_43, 0) = ((MR_Box) (Arity0_14));
          MR_hl_field(MR_mktag(0), Var_43, 1) = ((MR_Box) (MatchMap_21));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
          *STATE_VARIABLE_RevArityMatchMaps_26 = base;
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Var_43));
          MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (STATE_VARIABLE_RevArityMatchMaps_0_25));
        }
        *STATE_VARIABLE_Errors_28 = STATE_VARIABLE_Errors_0_27;
      }
      else
      {
        *STATE_VARIABLE_Errors_28 = mercury__cord__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_27, TermErrors_22);
        *STATE_VARIABLE_RevArityMatchMaps_26 = STATE_VARIABLE_RevArityMatchMaps_0_25;
      }
    }
    else
    {
      MR_Word Context_23;
      MR_Word Error_24;

      Context_23 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_8);
      {
        Error_24 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_24, 0) = ((MR_Box) (Context_23));
        MR_hl_field(MR_mktag(1), Error_24, 1) = ((MR_Box) ((MR_String) "error in resolved item matches"));
      }
      *STATE_VARIABLE_Errors_28 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_27, ((MR_Box) (Error_24)));
      *STATE_VARIABLE_RevArityMatchMaps_26 = STATE_VARIABLE_RevArityMatchMaps_0_25;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_resolved_functor_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_RevCtors_0_29,
  MR_Word * STATE_VARIABLE_RevCtors_30,
  MR_Word STATE_VARIABLE_Errors_0_31,
  MR_Word * STATE_VARIABLE_Errors_32)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    MR_String Atom_9;
    MR_Word ArgTerms_10;
    MR_Word Context_11;
    MR_Word Var_33;
    MR_Integer lo_0;
    MR_Integer hi_1;
    MR_Integer mid_2;
    MR_Integer result_3;

    if (succeeded)
    {
      Var_33 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      ArgTerms_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      Context_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 2))));
      succeeded = ((MR_tag((MR_Word) Var_33)) == (MR_Integer) 0);
      if (succeeded)
      {
        Atom_9 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_33, (MR_Integer) 0))));
        // binary string simple lookup switch
        ;
        lo_0 = (MR_Integer) 0;
        hi_1 = (MR_Integer) 3;
        do
        {
          mid_2 = (((MR_Integer) ((MR_Unsigned) lo_0 + (MR_Unsigned) hi_1)) / (MR_Integer) 2);
          result_3 = MR_strcmp(Atom_9, ((&recompilation__used_file_vector_common_10[6 + mid_2]))->recompilation__used_file__vector_common_type_10_0__vct_10_f_0);
          if ((result_3 == (MR_Integer) 0))
          {
            succeeded = MR_TRUE;
            // jump out of search loop
            ;
            goto label_0;
          }
          else
          if ((result_3 < (MR_Integer) 0))
            hi_1 = (MR_Integer) ((MR_Unsigned) mid_2 - (MR_Unsigned) 1);
          else
            lo_0 = (MR_Integer) ((MR_Unsigned) mid_2 + (MR_Unsigned) 1);
        }
        while ((lo_0 <= hi_1));
        succeeded = MR_FALSE;
      label_0:;
      }
    }
    if (succeeded)
    {
      MR_Integer lo_4 = (MR_Integer) 0;
      MR_Integer hi_5 = (MR_Integer) 3;
      MR_Integer mid_6;
      MR_Integer result_7;

      // binary string jump switch
      ;
      do
      {
        mid_6 = (((MR_Integer) ((MR_Unsigned) lo_4 + (MR_Unsigned) hi_5)) / (MR_Integer) 2);
        result_7 = MR_strcmp(Atom_9, ((&recompilation__used_file_vector_common_12[0 + mid_6]))->recompilation__used_file__vector_common_type_12_0__vct_12_f_0);
        if ((result_7 == (MR_Integer) 0))
        {
          switch (((&recompilation__used_file_vector_common_12[0 + mid_6]))->recompilation__used_file__vector_common_type_12_0__vct_12_f_1) {
            default: /*NOTREACHED*/ MR_assert(0);
            case (MR_Integer) 0:
              {
                // case "ctor"
                ;
                {
                  MR_Word TypeName_21;
                  MR_Integer TypeArity_22;
                  MR_Word TypeCtorInfo_74_74;
                  MR_Word NameArityTerm_20;
                  MR_Word Var_39;

                  succeeded = (ArgTerms_10 != (MR_Word) ((MR_Unsigned) 0U));
                  if (succeeded)
                  {
                    NameArityTerm_20 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 0))));
                    Var_39 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 1))));
                    succeeded = (Var_39 == (MR_Word) ((MR_Unsigned) 0U));
                    if (succeeded)
                    {
                      TypeCtorInfo_74_74 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                      succeeded = parse_tree__parse_util__parse_unqualified_name_and_arity_3_p_0(TypeCtorInfo_74_74, NameArityTerm_20, &TypeName_21, &TypeArity_22);
                    }
                  }
                  if (succeeded)
                  {
                    MR_Word TypeCtor_23;
                    MR_Word Ctor_51;

                    {
                      TypeCtor_23 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
                      MR_hl_field(MR_mktag(0), TypeCtor_23, 0) = ((MR_Box) (TypeName_21));
                      MR_hl_field(MR_mktag(0), TypeCtor_23, 1) = ((MR_Box) (TypeArity_22));
                    }
                    {
                      Ctor_51 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(MR_mktag(1), Ctor_51, 0) = ((MR_Box) (TypeCtor_23));
                    }
                    {
                      MR_Word base;
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      *STATE_VARIABLE_RevCtors_30 = base;
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Ctor_51));
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (STATE_VARIABLE_RevCtors_0_29));
                    }
                    *STATE_VARIABLE_Errors_32 = STATE_VARIABLE_Errors_0_31;
                  }
                  else
                  {
                    MR_Word Error_52;

                    {
                      Error_52 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(MR_mktag(1), Error_52, 0) = ((MR_Box) (Context_11));
                      MR_hl_field(MR_mktag(1), Error_52, 1) = ((MR_Box) ((MR_String) "error in functor match"));
                    }
                    *STATE_VARIABLE_Errors_32 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_31, ((MR_Box) (Error_52)));
                    *STATE_VARIABLE_RevCtors_30 = STATE_VARIABLE_RevCtors_0_29;
                  }
                }
              }
              break;
            case (MR_Integer) 1:
              {
                // case "field"
                ;
                {
                  MR_Word ConsName_26;
                  MR_Integer ConsArity_27;
                  MR_Word TypeName_62;
                  MR_Integer TypeArity_63;
                  MR_Word TypeCtorInfo_76_76;
                  MR_Word TypeNameArityTerm_24;
                  MR_Word ConsNameArityTerm_25;
                  MR_Word Var_34;
                  MR_Word Var_35;

                  succeeded = (ArgTerms_10 != (MR_Word) ((MR_Unsigned) 0U));
                  if (succeeded)
                  {
                    TypeNameArityTerm_24 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 0))));
                    Var_34 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 1))));
                    succeeded = (Var_34 != (MR_Word) ((MR_Unsigned) 0U));
                    if (succeeded)
                    {
                      ConsNameArityTerm_25 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_34, (MR_Integer) 0))));
                      Var_35 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_34, (MR_Integer) 1))));
                      succeeded = (Var_35 == (MR_Word) ((MR_Unsigned) 0U));
                      if (succeeded)
                      {
                        TypeCtorInfo_76_76 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                        succeeded = parse_tree__parse_util__parse_unqualified_name_and_arity_3_p_0(TypeCtorInfo_76_76, TypeNameArityTerm_24, &TypeName_62, &TypeArity_63);
                        if (succeeded)
                          succeeded = parse_tree__parse_util__parse_unqualified_name_and_arity_3_p_0(TypeCtorInfo_76_76, ConsNameArityTerm_25, &ConsName_26, &ConsArity_27);
                      }
                    }
                  }
                  if (succeeded)
                  {
                    MR_Word ConsCtor_28;
                    MR_Word Ctor_57;
                    MR_Word TypeCtor_58;

                    {
                      TypeCtor_58 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
                      MR_hl_field(MR_mktag(0), TypeCtor_58, 0) = ((MR_Box) (TypeName_62));
                      MR_hl_field(MR_mktag(0), TypeCtor_58, 1) = ((MR_Box) (TypeArity_63));
                    }
                    {
                      ConsCtor_28 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
                      MR_hl_field(MR_mktag(0), ConsCtor_28, 0) = ((MR_Box) (ConsName_26));
                      MR_hl_field(MR_mktag(0), ConsCtor_28, 1) = ((MR_Box) (ConsArity_27));
                      MR_hl_field(MR_mktag(0), ConsCtor_28, 2) = ((MR_Box) (TypeCtor_58));
                    }
                    {
                      Ctor_57 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(MR_mktag(2), Ctor_57, 0) = ((MR_Box) (ConsCtor_28));
                    }
                    {
                      MR_Word base;
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      *STATE_VARIABLE_RevCtors_30 = base;
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Ctor_57));
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (STATE_VARIABLE_RevCtors_0_29));
                    }
                    *STATE_VARIABLE_Errors_32 = STATE_VARIABLE_Errors_0_31;
                  }
                  else
                  {
                    MR_Word Error_59;

                    {
                      Error_59 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(MR_mktag(1), Error_59, 0) = ((MR_Box) (Context_11));
                      MR_hl_field(MR_mktag(1), Error_59, 1) = ((MR_Box) ((MR_String) "error in functor match"));
                    }
                    *STATE_VARIABLE_Errors_32 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_31, ((MR_Box) (Error_59)));
                    *STATE_VARIABLE_RevCtors_30 = STATE_VARIABLE_RevCtors_0_29;
                  }
                }
              }
              break;
            case (MR_Integer) 2:
              {
                // case "function"
                ;
                {
                  MR_Word ModuleName_15;
                  MR_Integer Arity_16;
                  MR_Word TypeCtorInfo_72_72;
                  MR_Word ModuleTerm_13;
                  MR_Word ArityTerm_14;
                  MR_Word Var_43;
                  MR_Word Var_44;

                  succeeded = (ArgTerms_10 != (MR_Word) ((MR_Unsigned) 0U));
                  if (succeeded)
                  {
                    ModuleTerm_13 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 0))));
                    Var_43 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 1))));
                    succeeded = (Var_43 != (MR_Word) ((MR_Unsigned) 0U));
                    if (succeeded)
                    {
                      ArityTerm_14 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_43, (MR_Integer) 0))));
                      Var_44 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_43, (MR_Integer) 1))));
                      succeeded = (Var_44 == (MR_Word) ((MR_Unsigned) 0U));
                      if (succeeded)
                      {
                        TypeCtorInfo_72_72 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                        succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0(TypeCtorInfo_72_72, ModuleTerm_13, &ModuleName_15);
                        if (succeeded)
                          succeeded = mercury__term__decimal_term_to_int_2_p_0(TypeCtorInfo_72_72, ArityTerm_14, &Arity_16);
                      }
                    }
                  }
                  if (succeeded)
                  {
                    MR_Word InvPredId_17;
                    MR_Word Ctor_18;
                    MR_Word Var_45;

                    InvPredId_17 = hlds__hlds_pred__invalid_pred_id_0_f_0();
                    Var_45 = (MR_Word) (Arity_16);
                    {
                      Ctor_18 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
                      MR_hl_field(MR_mktag(0), Ctor_18, 0) = ((MR_Box) (InvPredId_17));
                      MR_hl_field(MR_mktag(0), Ctor_18, 1) = (MR_Box) ((MR_Unsigned) ((MR_Integer) 1));
                      MR_hl_field(MR_mktag(0), Ctor_18, 2) = ((MR_Box) (ModuleName_15));
                      MR_hl_field(MR_mktag(0), Ctor_18, 3) = ((MR_Box) (Var_45));
                    }
                    {
                      MR_Word base;
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      *STATE_VARIABLE_RevCtors_30 = base;
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Ctor_18));
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (STATE_VARIABLE_RevCtors_0_29));
                    }
                    *STATE_VARIABLE_Errors_32 = STATE_VARIABLE_Errors_0_31;
                  }
                  else
                  {
                    MR_Word Error_19;

                    {
                      Error_19 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(MR_mktag(1), Error_19, 0) = ((MR_Box) (Context_11));
                      MR_hl_field(MR_mktag(1), Error_19, 1) = ((MR_Box) ((MR_String) "error in functor match"));
                    }
                    *STATE_VARIABLE_Errors_32 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_31, ((MR_Box) (Error_19)));
                    *STATE_VARIABLE_RevCtors_30 = STATE_VARIABLE_RevCtors_0_29;
                  }
                }
              }
              break;
            case (MR_Integer) 3:
              {
                // case "predicate"
                ;
                {
                  MR_Word ModuleName_93;
                  MR_Integer Arity_94;
                  MR_Word TypeCtorInfo_72_84;
                  MR_Word ModuleTerm_80;
                  MR_Word ArityTerm_81;
                  MR_Word Var_82;
                  MR_Word Var_83;

                  succeeded = (ArgTerms_10 != (MR_Word) ((MR_Unsigned) 0U));
                  if (succeeded)
                  {
                    ModuleTerm_80 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 0))));
                    Var_82 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ArgTerms_10, (MR_Integer) 1))));
                    succeeded = (Var_82 != (MR_Word) ((MR_Unsigned) 0U));
                    if (succeeded)
                    {
                      ArityTerm_81 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_82, (MR_Integer) 0))));
                      Var_83 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_82, (MR_Integer) 1))));
                      succeeded = (Var_83 == (MR_Word) ((MR_Unsigned) 0U));
                      if (succeeded)
                      {
                        TypeCtorInfo_72_84 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                        succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0(TypeCtorInfo_72_84, ModuleTerm_80, &ModuleName_93);
                        if (succeeded)
                          succeeded = mercury__term__decimal_term_to_int_2_p_0(TypeCtorInfo_72_84, ArityTerm_81, &Arity_94);
                      }
                    }
                  }
                  if (succeeded)
                  {
                    MR_Word InvPredId_85;
                    MR_Word Ctor_86;
                    MR_Word Var_87;

                    InvPredId_85 = hlds__hlds_pred__invalid_pred_id_0_f_0();
                    Var_87 = (MR_Word) (Arity_94);
                    {
                      Ctor_86 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
                      MR_hl_field(MR_mktag(0), Ctor_86, 0) = ((MR_Box) (InvPredId_85));
                      MR_hl_field(MR_mktag(0), Ctor_86, 1) = (MR_Box) ((MR_Unsigned) ((MR_Integer) 0));
                      MR_hl_field(MR_mktag(0), Ctor_86, 2) = ((MR_Box) (ModuleName_93));
                      MR_hl_field(MR_mktag(0), Ctor_86, 3) = ((MR_Box) (Var_87));
                    }
                    {
                      MR_Word base;
                      base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      *STATE_VARIABLE_RevCtors_30 = base;
                      MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Ctor_86));
                      MR_hl_field(MR_mktag(1), base, 1) = ((MR_Box) (STATE_VARIABLE_RevCtors_0_29));
                    }
                    *STATE_VARIABLE_Errors_32 = STATE_VARIABLE_Errors_0_31;
                  }
                  else
                  {
                    MR_Word Error_88;

                    {
                      Error_88 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
                      MR_hl_field(MR_mktag(1), Error_88, 0) = ((MR_Box) (Context_11));
                      MR_hl_field(MR_mktag(1), Error_88, 1) = ((MR_Box) ((MR_String) "error in functor match"));
                    }
                    *STATE_VARIABLE_Errors_32 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_31, ((MR_Box) (Error_88)));
                    *STATE_VARIABLE_RevCtors_30 = STATE_VARIABLE_RevCtors_0_29;
                  }
                }
              }
              break;
          }
          // break out of search loop
          ;
          break;
        }
        else
        if ((result_7 < (MR_Integer) 0))
          hi_5 = (MR_Integer) ((MR_Unsigned) mid_6 - (MR_Unsigned) 1);
        else
          lo_4 = (MR_Integer) ((MR_Unsigned) mid_6 + (MR_Unsigned) 1);
      }
      while ((lo_4 <= hi_5));
    }
    else
    {
      MR_Word Context_70;
      MR_Word Error_71;

      Context_70 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_71 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_71, 0) = ((MR_Box) (Context_70));
        MR_hl_field(MR_mktag(1), Error_71, 1) = ((MR_Box) ((MR_String) "error in functor match"));
      }
      *STATE_VARIABLE_Errors_32 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_31, ((MR_Box) (Error_71)));
      *STATE_VARIABLE_RevCtors_30 = STATE_VARIABLE_RevCtors_0_29;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_functor_matches_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_STATE_VARIABLE_RevCtors_30;
    MR_Word conv0_STATE_VARIABLE_Errors_32;

    recompilation__used_file__parse_resolved_functor_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_STATE_VARIABLE_RevCtors_30, ((MR_Word) (wrapper_arg_4)), &conv0_STATE_VARIABLE_Errors_32);
    *wrapper_arg_3 = ((MR_Box) (conv1_STATE_VARIABLE_RevCtors_30));
    *wrapper_arg_5 = ((MR_Box) (conv0_STATE_VARIABLE_Errors_32));
  }
}

static void MR_CALL 
recompilation__used_file__parse_functor_matches_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Map_0_19,
  MR_Word * STATE_VARIABLE_Map_20,
  MR_Word STATE_VARIABLE_Errors_0_21,
  MR_Word * STATE_VARIABLE_Errors_22)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    MR_Word MatchesTerm_10;
    MR_Word Qualifier_12;
    MR_Word TypeCtorInfo_36_36;
    MR_Word QualifierTerm_9;
    MR_Word Var_23;
    MR_String Var_24;
    MR_Word Var_25;
    MR_Word Var_26;
    MR_Word Var_27;

    if (succeeded)
    {
      Var_23 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      Var_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_23)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_24 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_23, (MR_Integer) 0))));
        succeeded = (strcmp(Var_24, (MR_String) "=>") == 0);
        if (succeeded)
        {
          succeeded = (Var_25 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            QualifierTerm_9 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_25, (MR_Integer) 0))));
            Var_26 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_25, (MR_Integer) 1))));
            succeeded = (Var_26 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              MatchesTerm_10 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_26, (MR_Integer) 0))));
              Var_27 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_26, (MR_Integer) 1))));
              succeeded = (Var_27 == (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                TypeCtorInfo_36_36 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0(TypeCtorInfo_36_36, QualifierTerm_9, &Qualifier_12);
              }
            }
          }
        }
      }
    }
    if (succeeded)
    {
      MR_Word MatchesTerms_13;
      MR_Word RevMatches_14;
      MR_Word TermErrors_15;
      MR_Word Var_30;
      MR_Box conv3_RevMatches_14;
      MR_Box conv2_TermErrors_15;

      parse_tree__parse_util__conjunction_to_list_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), MatchesTerm_10, &MatchesTerms_13);
      Var_30 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
      mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_2[9]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_1[35]), MatchesTerms_13, ((MR_Box) ((MR_Unsigned) 0U)), &conv3_RevMatches_14, ((MR_Box) (Var_30)), &conv2_TermErrors_15);
      RevMatches_14 = ((MR_Word) (conv3_RevMatches_14));
      TermErrors_15 = ((MR_Word) (conv2_TermErrors_15));
      succeeded = mercury__cord__is_empty_1_p_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), TermErrors_15);
      if (succeeded)
      {
        MR_Word Matches_16;
        MR_Word Var_31;

        mercury__list__reverse_2_p_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0), RevMatches_14, &Matches_16);
        Var_31 = mercury__set__list_to_set_1_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0), Matches_16);
        mercury__map__det_insert_4_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&recompilation__used_file_scalar_common_2[0]), ((MR_Box) (Qualifier_12)), ((MR_Box) (Var_31)), STATE_VARIABLE_Map_0_19, STATE_VARIABLE_Map_20);
        *STATE_VARIABLE_Errors_22 = STATE_VARIABLE_Errors_0_21;
      }
      else
      {
        *STATE_VARIABLE_Errors_22 = mercury__cord__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_21, TermErrors_15);
        *STATE_VARIABLE_Map_20 = STATE_VARIABLE_Map_0_19;
      }
    }
    else
    {
      MR_Word Context_17;
      MR_Word Error_18;

      Context_17 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_18 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_18, 0) = ((MR_Box) (Context_17));
        MR_hl_field(MR_mktag(1), Error_18, 1) = ((MR_Box) ((MR_String) "error in functor match"));
      }
      *STATE_VARIABLE_Errors_22 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_21, ((MR_Box) (Error_18)));
      *STATE_VARIABLE_Map_20 = STATE_VARIABLE_Map_0_19;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_functor_item_5_p_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv3_STATE_VARIABLE_RevArityMatchMaps_26;
    MR_Word conv2_STATE_VARIABLE_Errors_28;

    recompilation__used_file__parse_resolved_item_arity_matches_6_p_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 4)))), ((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv3_STATE_VARIABLE_RevArityMatchMaps_26, ((MR_Word) (wrapper_arg_4)), &conv2_STATE_VARIABLE_Errors_28);
    *wrapper_arg_3 = ((MR_Box) (conv3_STATE_VARIABLE_RevArityMatchMaps_26));
    *wrapper_arg_5 = ((MR_Box) (conv2_STATE_VARIABLE_Errors_28));
  }
}

static void MR_CALL 
recompilation__used_file__parse_functor_item_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_STATE_VARIABLE_Map_20;
    MR_Word conv0_STATE_VARIABLE_Errors_22;

    recompilation__used_file__parse_functor_matches_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_STATE_VARIABLE_Map_20, ((MR_Word) (wrapper_arg_4)), &conv0_STATE_VARIABLE_Errors_22);
    *wrapper_arg_3 = ((MR_Box) (conv1_STATE_VARIABLE_Map_20));
    *wrapper_arg_5 = ((MR_Box) (conv0_STATE_VARIABLE_Errors_22));
  }
}

static void MR_CALL 
recompilation__used_file__parse_functor_item_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Set_0_9,
  MR_Word * STATE_VARIABLE_Set_10,
  MR_Word STATE_VARIABLE_Errors_0_11,
  MR_Word * STATE_VARIABLE_Errors_12)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    MR_Word MatchesTerm_32;
    MR_String Name_34;
    MR_Word NameTerm_31;
    MR_Word Var_41;
    MR_String Var_42;
    MR_Word Var_43;
    MR_Word Var_44;
    MR_Word Var_45;
    MR_Word Var_46;
    MR_Word Var_47;

    if (succeeded)
    {
      Var_41 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      Var_43 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_41)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_42 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_41, (MR_Integer) 0))));
        succeeded = (strcmp(Var_42, (MR_String) "-") == 0);
        if (succeeded)
        {
          succeeded = (Var_43 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            NameTerm_31 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_43, (MR_Integer) 0))));
            Var_44 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_43, (MR_Integer) 1))));
            succeeded = (Var_44 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              MatchesTerm_32 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_44, (MR_Integer) 0))));
              Var_45 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_44, (MR_Integer) 1))));
              succeeded = (Var_45 == (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                succeeded = ((MR_tag((MR_Word) NameTerm_31)) == (MR_Integer) 0);
                if (succeeded)
                {
                  Var_46 = ((MR_Word) ((MR_hl_field(MR_mktag(0), NameTerm_31, (MR_Integer) 0))));
                  Var_47 = ((MR_Word) ((MR_hl_field(MR_mktag(0), NameTerm_31, (MR_Integer) 1))));
                  succeeded = (Var_47 == (MR_Word) ((MR_Unsigned) 0U));
                  if (succeeded)
                  {
                    succeeded = ((MR_tag((MR_Word) Var_46)) == (MR_Integer) 0);
                    if (succeeded)
                      Name_34 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_46, (MR_Integer) 0))));
                  }
                }
              }
            }
          }
        }
      }
    }
    if (succeeded)
    {
      MR_Word MatchTermList_36;
      MR_Word RevMatches_37;
      MR_Word Matches_38;
      MR_Box conv5_RevMatches_37;
      MR_Box conv4_STATE_VARIABLE_Errors_12;

      parse_tree__parse_util__conjunction_to_list_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), MatchesTerm_32, &MatchTermList_36);
      mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_2[1]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_4[11]), MatchTermList_36, ((MR_Box) ((MR_Unsigned) 0U)), &conv5_RevMatches_37, ((MR_Box) (STATE_VARIABLE_Errors_0_11)), &conv4_STATE_VARIABLE_Errors_12);
      RevMatches_37 = ((MR_Word) (conv5_RevMatches_37));
      *STATE_VARIABLE_Errors_12 = ((MR_Word) (conv4_STATE_VARIABLE_Errors_12));
      mercury__list__reverse_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[2]), RevMatches_37, &Matches_38);
      mercury__map__det_insert_4_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[1]), ((MR_Box) (Name_34)), ((MR_Box) (Matches_38)), STATE_VARIABLE_Set_0_9, STATE_VARIABLE_Set_10);
    }
    else
    {
      MR_Word Context_39;
      MR_Word Error_40;

      Context_39 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_40 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_40, 0) = ((MR_Box) (Context_39));
        MR_hl_field(MR_mktag(1), Error_40, 1) = ((MR_Box) ((MR_String) "error in resolved item matches"));
      }
      *STATE_VARIABLE_Errors_12 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_11, ((MR_Box) (Error_40)));
      *STATE_VARIABLE_Set_10 = STATE_VARIABLE_Set_0_9;
    }
  }
}

static MR_bool MR_CALL 
recompilation__used_file__parse_pred_or_func_item_match_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2)
{
  {
    MR_bool succeeded;
    MR_Box closure = closure_arg;
    MR_Word conv0_LambdaHeadVar__2_32;

    succeeded = recompilation__used_file__IntroducedFrom__pred__parse_pred_or_func_item_match__1062__1_3_p_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) (wrapper_arg_1)), &conv0_LambdaHeadVar__2_32);
    if (succeeded)
    {
      *wrapper_arg_2 = ((MR_Box) (conv0_LambdaHeadVar__2_32));
      succeeded = MR_TRUE;
    }
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_match_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Items_0_21,
  MR_Word * STATE_VARIABLE_Items_22,
  MR_Word STATE_VARIABLE_Errors_0_23,
  MR_Word * STATE_VARIABLE_Errors_24)
{
  {
    MR_bool succeeded;
    MR_Word InvPredId_9;
    MR_Word Qualifier_13;
    MR_Word Matches_18;
    MR_Word QualifierTerm_10;
    MR_Word MatchesTerm_11;
    MR_Word Var_25;
    MR_String Var_26;
    MR_Word Var_27;
    MR_Word Var_28;
    MR_Word Var_29;

    InvPredId_9 = hlds__hlds_pred__invalid_pred_id_0_f_0();
    succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    if (succeeded)
    {
      Var_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      Var_27 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_25)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_26 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_25, (MR_Integer) 0))));
        succeeded = (strcmp(Var_26, (MR_String) "=>") == 0);
        if (succeeded)
        {
          succeeded = (Var_27 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            QualifierTerm_10 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_27, (MR_Integer) 0))));
            Var_28 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_27, (MR_Integer) 1))));
            succeeded = (Var_28 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              MatchesTerm_11 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_28, (MR_Integer) 0))));
              Var_29 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_28, (MR_Integer) 1))));
              succeeded = (Var_29 == (MR_Word) ((MR_Unsigned) 0U));
            }
          }
        }
      }
    }
    if (succeeded)
    {
      MR_Word TypeInfo_43_43;
      MR_Word TypeInfo_44_44;
      MR_Word MatchesList_14;
      MR_Word Var_30;

      succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), QualifierTerm_10, &Qualifier_13);
      if (succeeded)
      {
        parse_tree__parse_util__conjunction_to_list_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), MatchesTerm_11, &MatchesList_14);
        TypeInfo_43_43 = (MR_Word) (&recompilation__used_file_scalar_common_2[7]);
        TypeInfo_44_44 = (MR_Word) (&recompilation__used_file_scalar_common_1[3]);
        {
          Var_30 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
          MR_hl_field(MR_mktag(0), Var_30, 0) = ((MR_Box) (&recompilation__used_file_scalar_common_7[1]));
          MR_hl_field(MR_mktag(0), Var_30, 1) = ((MR_Box) (recompilation__used_file__parse_pred_or_func_item_match_5_p_0_1));
          MR_hl_field(MR_mktag(0), Var_30, 2) = ((MR_Box) ((MR_Integer) 1));
          MR_hl_field(MR_mktag(0), Var_30, 3) = ((MR_Box) (InvPredId_9));
        }
        succeeded = mercury__list__map_3_p_2(TypeInfo_43_43, TypeInfo_44_44, Var_30, MatchesList_14, &Matches_18);
      }
    }
    else
    {
      MR_Word Var_33;
      MR_Word Var_34;

      succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6, &Qualifier_13);
      if (succeeded)
      {
        Var_34 = (MR_Word) ((MR_Unsigned) 0U);
        {
          Var_33 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
          MR_hl_field(MR_mktag(0), Var_33, 0) = ((MR_Box) (InvPredId_9));
          MR_hl_field(MR_mktag(0), Var_33, 1) = ((MR_Box) (Qualifier_13));
        }
        {
          Matches_18 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
          MR_hl_field(MR_mktag(1), Matches_18, 0) = ((MR_Box) (Var_33));
          MR_hl_field(MR_mktag(1), Matches_18, 1) = ((MR_Box) (Var_34));
        }
        succeeded = MR_TRUE;
      }
    }
    if (succeeded)
    {
      MR_Word Var_35;

      Var_35 = mercury__set__list_to_set_1_f_0((MR_Word) (&recompilation__used_file_scalar_common_1[3]), Matches_18);
      mercury__map__det_insert_4_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&recompilation__used_file_scalar_common_2[2]), ((MR_Box) (Qualifier_13)), ((MR_Box) (Var_35)), STATE_VARIABLE_Items_0_21, STATE_VARIABLE_Items_22);
      *STATE_VARIABLE_Errors_24 = STATE_VARIABLE_Errors_0_23;
    }
    else
    {
      MR_Word Context_19;
      MR_Word Error_20;

      Context_19 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_20 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_20, 0) = ((MR_Box) (Context_19));
        MR_hl_field(MR_mktag(1), Error_20, 1) = ((MR_Box) ((MR_String) "error in pred or func match"));
      }
      *STATE_VARIABLE_Errors_24 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_23, ((MR_Box) (Error_20)));
      *STATE_VARIABLE_Items_22 = STATE_VARIABLE_Items_0_21;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_5_p_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv3_STATE_VARIABLE_RevArityMatchMaps_26;
    MR_Word conv2_STATE_VARIABLE_Errors_28;

    recompilation__used_file__parse_resolved_item_arity_matches_6_p_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 4)))), ((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv3_STATE_VARIABLE_RevArityMatchMaps_26, ((MR_Word) (wrapper_arg_4)), &conv2_STATE_VARIABLE_Errors_28);
    *wrapper_arg_3 = ((MR_Box) (conv3_STATE_VARIABLE_RevArityMatchMaps_26));
    *wrapper_arg_5 = ((MR_Box) (conv2_STATE_VARIABLE_Errors_28));
  }
}

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_STATE_VARIABLE_Items_22;
    MR_Word conv0_STATE_VARIABLE_Errors_24;

    recompilation__used_file__parse_pred_or_func_item_match_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_STATE_VARIABLE_Items_22, ((MR_Word) (wrapper_arg_4)), &conv0_STATE_VARIABLE_Errors_24);
    *wrapper_arg_3 = ((MR_Box) (conv1_STATE_VARIABLE_Items_22));
    *wrapper_arg_5 = ((MR_Box) (conv0_STATE_VARIABLE_Errors_24));
  }
}

static void MR_CALL 
recompilation__used_file__parse_pred_or_func_item_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Set_0_9,
  MR_Word * STATE_VARIABLE_Set_10,
  MR_Word STATE_VARIABLE_Errors_0_11,
  MR_Word * STATE_VARIABLE_Errors_12)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    MR_Word MatchesTerm_32;
    MR_String Name_34;
    MR_Word NameTerm_31;
    MR_Word Var_41;
    MR_String Var_42;
    MR_Word Var_43;
    MR_Word Var_44;
    MR_Word Var_45;
    MR_Word Var_46;
    MR_Word Var_47;

    if (succeeded)
    {
      Var_41 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      Var_43 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_41)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_42 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_41, (MR_Integer) 0))));
        succeeded = (strcmp(Var_42, (MR_String) "-") == 0);
        if (succeeded)
        {
          succeeded = (Var_43 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            NameTerm_31 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_43, (MR_Integer) 0))));
            Var_44 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_43, (MR_Integer) 1))));
            succeeded = (Var_44 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              MatchesTerm_32 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_44, (MR_Integer) 0))));
              Var_45 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_44, (MR_Integer) 1))));
              succeeded = (Var_45 == (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                succeeded = ((MR_tag((MR_Word) NameTerm_31)) == (MR_Integer) 0);
                if (succeeded)
                {
                  Var_46 = ((MR_Word) ((MR_hl_field(MR_mktag(0), NameTerm_31, (MR_Integer) 0))));
                  Var_47 = ((MR_Word) ((MR_hl_field(MR_mktag(0), NameTerm_31, (MR_Integer) 1))));
                  succeeded = (Var_47 == (MR_Word) ((MR_Unsigned) 0U));
                  if (succeeded)
                  {
                    succeeded = ((MR_tag((MR_Word) Var_46)) == (MR_Integer) 0);
                    if (succeeded)
                      Name_34 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_46, (MR_Integer) 0))));
                  }
                }
              }
            }
          }
        }
      }
    }
    if (succeeded)
    {
      MR_Word MatchTermList_36;
      MR_Word RevMatches_37;
      MR_Word Matches_38;
      MR_Box conv5_RevMatches_37;
      MR_Box conv4_STATE_VARIABLE_Errors_12;

      parse_tree__parse_util__conjunction_to_list_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), MatchesTerm_32, &MatchTermList_36);
      mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_2[3]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_4[10]), MatchTermList_36, ((MR_Box) ((MR_Unsigned) 0U)), &conv5_RevMatches_37, ((MR_Box) (STATE_VARIABLE_Errors_0_11)), &conv4_STATE_VARIABLE_Errors_12);
      RevMatches_37 = ((MR_Word) (conv5_RevMatches_37));
      *STATE_VARIABLE_Errors_12 = ((MR_Word) (conv4_STATE_VARIABLE_Errors_12));
      mercury__list__reverse_2_p_0((MR_Word) (&recompilation__used_file_scalar_common_1[5]), RevMatches_37, &Matches_38);
      mercury__map__det_insert_4_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[3]), ((MR_Box) (Name_34)), ((MR_Box) (Matches_38)), STATE_VARIABLE_Set_0_9, STATE_VARIABLE_Set_10);
    }
    else
    {
      MR_Word Context_39;
      MR_Word Error_40;

      Context_39 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_40 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_40, 0) = ((MR_Box) (Context_39));
        MR_hl_field(MR_mktag(1), Error_40, 1) = ((MR_Box) ((MR_String) "error in resolved item matches"));
      }
      *STATE_VARIABLE_Errors_12 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_11, ((MR_Box) (Error_40)));
      *STATE_VARIABLE_Set_10 = STATE_VARIABLE_Set_0_9;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_simple_item_match_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_ItemMap_0_16,
  MR_Word * STATE_VARIABLE_ItemMap_17,
  MR_Word STATE_VARIABLE_Errors_0_18,
  MR_Word * STATE_VARIABLE_Errors_19)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    MR_Word Qualifier_12;
    MR_Word ModuleName_13;
    MR_Word QualifierTerm_9;
    MR_Word ModuleNameTerm_10;
    MR_Word Var_20;
    MR_String Var_21;
    MR_Word Var_22;
    MR_Word Var_23;
    MR_Word Var_24;

    if (succeeded)
    {
      Var_20 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      Var_22 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_20)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_21 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_20, (MR_Integer) 0))));
        succeeded = (strcmp(Var_21, (MR_String) "=>") == 0);
        if (succeeded)
        {
          succeeded = (Var_22 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            QualifierTerm_9 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_22, (MR_Integer) 0))));
            Var_23 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_22, (MR_Integer) 1))));
            succeeded = (Var_23 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              ModuleNameTerm_10 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_23, (MR_Integer) 0))));
              Var_24 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_23, (MR_Integer) 1))));
              succeeded = (Var_24 == (MR_Word) ((MR_Unsigned) 0U));
            }
          }
        }
      }
    }
    if (succeeded)
    {
      succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), QualifierTerm_9, &Qualifier_12);
      if (succeeded)
        succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), ModuleNameTerm_10, &ModuleName_13);
    }
    else
    {
      succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6, &ModuleName_13);
      if (succeeded)
      {
        Qualifier_12 = ModuleName_13;
        succeeded = MR_TRUE;
      }
    }
    if (succeeded)
    {
      mercury__map__det_insert_4_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), ((MR_Box) (Qualifier_12)), ((MR_Box) (ModuleName_13)), STATE_VARIABLE_ItemMap_0_16, STATE_VARIABLE_ItemMap_17);
      *STATE_VARIABLE_Errors_19 = STATE_VARIABLE_Errors_0_18;
    }
    else
    {
      MR_Word Context_14;
      MR_Word Error_15;

      Context_14 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_15 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_15, 0) = ((MR_Box) (Context_14));
        MR_hl_field(MR_mktag(1), Error_15, 1) = ((MR_Box) ((MR_String) "error in simple item match"));
      }
      *STATE_VARIABLE_Errors_19 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_18, ((MR_Box) (Error_15)));
      *STATE_VARIABLE_ItemMap_17 = STATE_VARIABLE_ItemMap_0_16;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_simple_item_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_STATE_VARIABLE_ItemMap_17;
    MR_Word conv0_STATE_VARIABLE_Errors_19;

    recompilation__used_file__parse_simple_item_match_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_STATE_VARIABLE_ItemMap_17, ((MR_Word) (wrapper_arg_4)), &conv0_STATE_VARIABLE_Errors_19);
    *wrapper_arg_3 = ((MR_Box) (conv1_STATE_VARIABLE_ItemMap_17));
    *wrapper_arg_5 = ((MR_Box) (conv0_STATE_VARIABLE_Errors_19));
  }
}

static void MR_CALL 
recompilation__used_file__parse_simple_item_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_Set_0_20,
  MR_Word * STATE_VARIABLE_Set_21,
  MR_Word STATE_VARIABLE_Errors_0_22,
  MR_Word * STATE_VARIABLE_Errors_23)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    MR_Word MatchesTerm_10;
    MR_Word SymName_12;
    MR_Integer Arity_13;
    MR_Word TypeCtorInfo_37_37;
    MR_Word NameArityTerm_9;
    MR_Word Var_24;
    MR_String Var_25;
    MR_Word Var_26;
    MR_Word Var_27;
    MR_Word Var_28;

    if (succeeded)
    {
      Var_24 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      Var_26 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_24)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_25 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_24, (MR_Integer) 0))));
        succeeded = (strcmp(Var_25, (MR_String) "-") == 0);
        if (succeeded)
        {
          succeeded = (Var_26 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            NameArityTerm_9 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_26, (MR_Integer) 0))));
            Var_27 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_26, (MR_Integer) 1))));
            succeeded = (Var_27 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              MatchesTerm_10 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_27, (MR_Integer) 0))));
              Var_28 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_27, (MR_Integer) 1))));
              succeeded = (Var_28 == (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                TypeCtorInfo_37_37 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                succeeded = parse_tree__parse_util__parse_unqualified_name_and_arity_3_p_0(TypeCtorInfo_37_37, NameArityTerm_9, &SymName_12, &Arity_13);
              }
            }
          }
        }
      }
    }
    if (succeeded)
    {
      MR_String Name_14;
      MR_Word MatchTermList_15;
      MR_Word Matches_16;
      MR_Word TermErrors_17;
      MR_Word Var_30;
      MR_Word Var_31;
      MR_Box conv3_Matches_16;
      MR_Box conv2_TermErrors_17;

      Name_14 = mdbcomp__sym_name__unqualify_name_1_f_0(SymName_12);
      parse_tree__parse_util__conjunction_to_list_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), MatchesTerm_10, &MatchTermList_15);
      Var_30 = mercury__map__init_0_f_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
      Var_31 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
      mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_1[0]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_1[32]), MatchTermList_15, ((MR_Box) (Var_30)), &conv3_Matches_16, ((MR_Box) (Var_31)), &conv2_TermErrors_17);
      Matches_16 = ((MR_Word) (conv3_Matches_16));
      TermErrors_17 = ((MR_Word) (conv2_TermErrors_17));
      succeeded = mercury__cord__is_empty_1_p_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), TermErrors_17);
      if (succeeded)
      {
        MR_Word Var_32;

        {
          Var_32 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
          MR_hl_field(MR_mktag(0), Var_32, 0) = ((MR_Box) (Name_14));
          MR_hl_field(MR_mktag(0), Var_32, 1) = ((MR_Box) (Arity_13));
        }
        mercury__map__det_insert_4_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]), ((MR_Box) (Var_32)), ((MR_Box) (Matches_16)), STATE_VARIABLE_Set_0_20, STATE_VARIABLE_Set_21);
        *STATE_VARIABLE_Errors_23 = STATE_VARIABLE_Errors_0_22;
      }
      else
      {
        *STATE_VARIABLE_Errors_23 = mercury__cord__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_22, TermErrors_17);
        *STATE_VARIABLE_Set_21 = STATE_VARIABLE_Set_0_20;
      }
    }
    else
    {
      MR_Word Context_18;
      MR_Word Error_19;

      Context_18 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_19 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_19, 0) = ((MR_Box) (Context_18));
        MR_hl_field(MR_mktag(1), Error_19, 1) = ((MR_Box) ((MR_String) "error in simple items"));
      }
      *STATE_VARIABLE_Errors_23 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_22, ((MR_Box) (Error_19)));
      *STATE_VARIABLE_Set_21 = STATE_VARIABLE_Set_0_20;
    }
  }
}

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0_3(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv9_STATE_VARIABLE_Set_21;
    MR_Word conv8_STATE_VARIABLE_Errors_23;

    recompilation__used_file__parse_simple_item_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv9_STATE_VARIABLE_Set_21, ((MR_Word) (wrapper_arg_4)), &conv8_STATE_VARIABLE_Errors_23);
    *wrapper_arg_3 = ((MR_Box) (conv9_STATE_VARIABLE_Set_21));
    *wrapper_arg_5 = ((MR_Box) (conv8_STATE_VARIABLE_Errors_23));
  }
}

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv5_STATE_VARIABLE_Set_10;
    MR_Word conv4_STATE_VARIABLE_Errors_12;

    recompilation__used_file__parse_functor_item_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv5_STATE_VARIABLE_Set_10, ((MR_Word) (wrapper_arg_4)), &conv4_STATE_VARIABLE_Errors_12);
    *wrapper_arg_3 = ((MR_Box) (conv5_STATE_VARIABLE_Set_10));
    *wrapper_arg_5 = ((MR_Box) (conv4_STATE_VARIABLE_Errors_12));
  }
}

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_STATE_VARIABLE_Set_10;
    MR_Word conv0_STATE_VARIABLE_Errors_12;

    recompilation__used_file__parse_pred_or_func_item_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_STATE_VARIABLE_Set_10, ((MR_Word) (wrapper_arg_4)), &conv0_STATE_VARIABLE_Errors_12);
    *wrapper_arg_3 = ((MR_Box) (conv1_STATE_VARIABLE_Set_10));
    *wrapper_arg_5 = ((MR_Box) (conv0_STATE_VARIABLE_Errors_12));
  }
}

static void MR_CALL 
recompilation__used_file__parse_used_item_set_5_p_0(
  MR_Word Term_6,
  MR_Word STATE_VARIABLE_UsedItems_0_20,
  MR_Word * STATE_VARIABLE_UsedItems_21,
  MR_Word STATE_VARIABLE_Errors_0_22,
  MR_Word * STATE_VARIABLE_Errors_23)
{
  {
    MR_bool succeeded = ((MR_tag((MR_Word) Term_6)) == (MR_Integer) 0);
    MR_String ItemTypeStr_9;
    MR_Word ItemTerms_10;
    MR_Word ItemType_12;
    MR_Word Var_24;

    if (succeeded)
    {
      Var_24 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 0))));
      ItemTerms_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_6, (MR_Integer) 1))));
      succeeded = ((MR_tag((MR_Word) Var_24)) == (MR_Integer) 0);
      if (succeeded)
      {
        ItemTypeStr_9 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_24, (MR_Integer) 0))));
        succeeded = recompilation__string_to_item_type_2_p_0(ItemTypeStr_9, &ItemType_12);
      }
    }
    if (succeeded)
      switch (ItemType_12) {
        default: /*NOTREACHED*/ MR_assert(0);
        case (MR_Integer) 9:
        case (MR_Integer) 8:
          {
            MR_Word Context_17;
            MR_String Msg_18;
            MR_Word Error_19;

            Context_17 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
            Msg_18 = mercury__string__f_43_43_2_f_0((MR_String) "error in used items: unknown item type: ", ItemTypeStr_9);
            {
              Error_19 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
              MR_hl_field(MR_mktag(1), Error_19, 0) = ((MR_Box) (Context_17));
              MR_hl_field(MR_mktag(1), Error_19, 1) = ((MR_Box) (Msg_18));
            }
            *STATE_VARIABLE_Errors_23 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_22, ((MR_Box) (Error_19)));
            *STATE_VARIABLE_UsedItems_21 = STATE_VARIABLE_UsedItems_0_20;
          }
          break;
        case (MR_Integer) 7:
        case (MR_Integer) 6:
          {
            MR_Word PredOrFuncItems_15;
            MR_Word Var_33;
            MR_Word Var_34;
            MR_Word ItemErrors_49;
            MR_Box conv3_PredOrFuncItems_15;
            MR_Box conv2_ItemErrors_49;

            Var_33 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[3]));
            Var_34 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
            mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_1[10]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_1[29]), ItemTerms_10, ((MR_Box) (Var_33)), &conv3_PredOrFuncItems_15, ((MR_Box) (Var_34)), &conv2_ItemErrors_49);
            PredOrFuncItems_15 = ((MR_Word) (conv3_PredOrFuncItems_15));
            ItemErrors_49 = ((MR_Word) (conv2_ItemErrors_49));
            succeeded = mercury__cord__is_empty_1_p_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), ItemErrors_49);
            if (succeeded)
            {
              MR_Word Var_154 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 7))));
              MR_Word Var_155 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 6))));
              MR_Word Var_156 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 5))));
              MR_Word Var_157 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 4))));
              MR_Word Var_158 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 3))));
              MR_Word Var_159 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 2))));
              MR_Word Var_160 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 1))));
              MR_Word Var_161 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 0))));

              switch (ItemType_12) {
                default: /*NOTREACHED*/ MR_assert(0);
                case (MR_Integer) 7:
                  {
                    MR_Word base;
                    base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                    *STATE_VARIABLE_UsedItems_21 = base;
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_161));
                    MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (Var_160));
                    MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (Var_159));
                    MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (Var_158));
                    MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (Var_157));
                    MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (Var_156));
                    MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (Var_155));
                    MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (PredOrFuncItems_15));
                  }
                  break;
                case (MR_Integer) 6:
                  {
                    MR_Word base;
                    base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                    *STATE_VARIABLE_UsedItems_21 = base;
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_161));
                    MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (Var_160));
                    MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (Var_159));
                    MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (Var_158));
                    MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (Var_157));
                    MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (Var_156));
                    MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (PredOrFuncItems_15));
                    MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (Var_154));
                  }
                  break;
              }
              *STATE_VARIABLE_Errors_23 = STATE_VARIABLE_Errors_0_22;
            }
            else
            {
              *STATE_VARIABLE_Errors_23 = mercury__cord__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_22, ItemErrors_49);
              *STATE_VARIABLE_UsedItems_21 = STATE_VARIABLE_UsedItems_0_20;
            }
          }
          break;
        case (MR_Integer) 5:
          {
            MR_Word CtorItems_16;
            MR_Word Var_28;
            MR_Word Var_29;
            MR_Word ItemErrors_50;
            MR_Box conv7_CtorItems_16;
            MR_Box conv6_ItemErrors_50;

            Var_28 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[1]));
            Var_29 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
            mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_1[11]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_1[30]), ItemTerms_10, ((MR_Box) (Var_28)), &conv7_CtorItems_16, ((MR_Box) (Var_29)), &conv6_ItemErrors_50);
            CtorItems_16 = ((MR_Word) (conv7_CtorItems_16));
            ItemErrors_50 = ((MR_Word) (conv6_ItemErrors_50));
            succeeded = mercury__cord__is_empty_1_p_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), ItemErrors_50);
            if (succeeded)
            {
              MR_Word Var_109 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 0))));
              MR_Word Var_110 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 1))));
              MR_Word Var_111 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 2))));
              MR_Word Var_112 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 3))));
              MR_Word Var_113 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 4))));
              MR_Word Var_115 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 6))));
              MR_Word Var_116 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 7))));

              {
                MR_Word base;
                base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                *STATE_VARIABLE_UsedItems_21 = base;
                MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_109));
                MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (Var_110));
                MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (Var_111));
                MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (Var_112));
                MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (Var_113));
                MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (CtorItems_16));
                MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (Var_115));
                MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (Var_116));
              }
              *STATE_VARIABLE_Errors_23 = STATE_VARIABLE_Errors_0_22;
            }
            else
            {
              *STATE_VARIABLE_Errors_23 = mercury__cord__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_22, ItemErrors_50);
              *STATE_VARIABLE_UsedItems_21 = STATE_VARIABLE_UsedItems_0_20;
            }
          }
          break;
        case (MR_Integer) 2:
        case (MR_Integer) 3:
        case (MR_Integer) 1:
        case (MR_Integer) 0:
        case (MR_Integer) 4:
          {
            MR_Word SimpleItems_13;
            MR_Word ItemErrors_14;
            MR_Word Var_39;
            MR_Word Var_40;
            MR_Box conv11_SimpleItems_13;
            MR_Box conv10_ItemErrors_14;

            Var_39 = mercury__map__init_0_f_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]));
            Var_40 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
            mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_1[9]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_1[31]), ItemTerms_10, ((MR_Box) (Var_39)), &conv11_SimpleItems_13, ((MR_Box) (Var_40)), &conv10_ItemErrors_14);
            SimpleItems_13 = ((MR_Word) (conv11_SimpleItems_13));
            ItemErrors_14 = ((MR_Word) (conv10_ItemErrors_14));
            succeeded = mercury__cord__is_empty_1_p_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), ItemErrors_14);
            if (succeeded)
            {
              MR_Word Var_162 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 7))));
              MR_Word Var_163 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 6))));
              MR_Word Var_164 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 5))));
              MR_Word Var_165 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 4))));
              MR_Word Var_166 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 3))));
              MR_Word Var_167 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 2))));
              MR_Word Var_168 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 1))));
              MR_Word Var_169 = ((MR_Word) ((MR_hl_field(MR_mktag(0), STATE_VARIABLE_UsedItems_0_20, (MR_Integer) 0))));

              switch (ItemType_12) {
                default: /*NOTREACHED*/ MR_assert(0);
                case (MR_Integer) 2:
                  {
                    MR_Word base;
                    base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                    *STATE_VARIABLE_UsedItems_21 = base;
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_169));
                    MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (Var_168));
                    MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (SimpleItems_13));
                    MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (Var_166));
                    MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (Var_165));
                    MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (Var_164));
                    MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (Var_163));
                    MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (Var_162));
                  }
                  break;
                case (MR_Integer) 3:
                  {
                    MR_Word base;
                    base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                    *STATE_VARIABLE_UsedItems_21 = base;
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_169));
                    MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (Var_168));
                    MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (Var_167));
                    MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (SimpleItems_13));
                    MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (Var_165));
                    MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (Var_164));
                    MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (Var_163));
                    MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (Var_162));
                  }
                  break;
                case (MR_Integer) 1:
                  {
                    MR_Word base;
                    base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                    *STATE_VARIABLE_UsedItems_21 = base;
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_169));
                    MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (SimpleItems_13));
                    MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (Var_167));
                    MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (Var_166));
                    MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (Var_165));
                    MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (Var_164));
                    MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (Var_163));
                    MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (Var_162));
                  }
                  break;
                case (MR_Integer) 0:
                  {
                    MR_Word base;
                    base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                    *STATE_VARIABLE_UsedItems_21 = base;
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (SimpleItems_13));
                    MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (Var_168));
                    MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (Var_167));
                    MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (Var_166));
                    MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (Var_165));
                    MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (Var_164));
                    MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (Var_163));
                    MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (Var_162));
                  }
                  break;
                case (MR_Integer) 4:
                  {
                    MR_Word base;
                    base = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
                    *STATE_VARIABLE_UsedItems_21 = base;
                    MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_169));
                    MR_hl_field(MR_mktag(0), base, 1) = ((MR_Box) (Var_168));
                    MR_hl_field(MR_mktag(0), base, 2) = ((MR_Box) (Var_167));
                    MR_hl_field(MR_mktag(0), base, 3) = ((MR_Box) (Var_166));
                    MR_hl_field(MR_mktag(0), base, 4) = ((MR_Box) (SimpleItems_13));
                    MR_hl_field(MR_mktag(0), base, 5) = ((MR_Box) (Var_164));
                    MR_hl_field(MR_mktag(0), base, 6) = ((MR_Box) (Var_163));
                    MR_hl_field(MR_mktag(0), base, 7) = ((MR_Box) (Var_162));
                  }
                  break;
              }
              *STATE_VARIABLE_Errors_23 = STATE_VARIABLE_Errors_0_22;
            }
            else
            {
              *STATE_VARIABLE_Errors_23 = mercury__cord__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_22, ItemErrors_14);
              *STATE_VARIABLE_UsedItems_21 = STATE_VARIABLE_UsedItems_0_20;
            }
          }
          break;
      }
    else
    {
      MR_Word Context_51;
      MR_Word Error_52;

      Context_51 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_6);
      {
        Error_52 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Error_52, 0) = ((MR_Box) (Context_51));
        MR_hl_field(MR_mktag(1), Error_52, 1) = ((MR_Box) ((MR_String) "error in used items"));
      }
      *STATE_VARIABLE_Errors_23 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), STATE_VARIABLE_Errors_0_22, ((MR_Box) (Error_52)));
      *STATE_VARIABLE_UsedItems_21 = STATE_VARIABLE_UsedItems_0_20;
    }
  }
}

static MR_String MR_CALL 
recompilation__used_file__module_name_and_used_items_to_string_2_f_0(
  MR_Word UsedFileContents_4,
  MR_Word HeadVar__2_2)
{
  {
    MR_bool succeeded;
    MR_String Str_7;
    MR_Word ModuleName_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
    MR_Word ModuleUsedItems_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
    MR_Word TimestampMap_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_4, (MR_Integer) 2))));
    MR_Word ModuleItemVersionNumbersMap_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_4, (MR_Integer) 3))));
    MR_Word ModuleInstances_15 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_4, (MR_Integer) 7))));
    MR_Word FileKind_16;
    MR_Word ModuleTimestamp_17;
    MR_Word RecompNeedQual_18;
    MR_String ExtStr_19;
    MR_String ImportStr_21;
    MR_String HdrStr_22;
    MR_Word Var_51;
    MR_String Var_55;
    MR_String Var_60;
    MR_String Var_83;
    MR_String Var_85;
    MR_String Var_86;
    MR_String Var_88;
    MR_String Var_89;
    MR_String Var_91;
    MR_String Var_92;
    MR_Box conv0_Var_51;
    MR_Word _Ext_20;
    MR_Word ModuleItemVersionNumbers_23;
    MR_Word TypeCtorInfo_76_76;
    MR_Box conv1_ModuleItemVersionNumbers_23;

    mercury__map__lookup_3_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_module_timestamp_0), TimestampMap_10, ((MR_Box) (ModuleName_5)), &conv0_Var_51);
    Var_51 = ((MR_Word) (conv0_Var_51));
    FileKind_16 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Var_51, (MR_Integer) 0))));
    ModuleTimestamp_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Var_51, (MR_Integer) 1))));
    RecompNeedQual_18 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(0), Var_51, (MR_Integer) 2))) & (MR_Integer) 7);
    parse_tree__file_kind__file_kind_to_extension_3_p_0(FileKind_16, &ExtStr_19, &_Ext_20);
    ImportStr_21 = ((&recompilation__used_file_vector_common_10[0 + RecompNeedQual_18]))->recompilation__used_file__vector_common_type_10_0__vct_10_f_0;
    Var_55 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(ModuleName_5);
    Var_60 = recompilation__version_number_to_string_1_f_0(ModuleTimestamp_17);
    Var_83 = mercury__string__f_43_43_2_f_0(ImportStr_21, (MR_String) ")");
    Var_85 = mercury__string__f_43_43_2_f_0((MR_String) ", ", Var_83);
    Var_86 = mercury__string__f_43_43_2_f_0(Var_60, Var_85);
    Var_88 = mercury__string__f_43_43_2_f_0((MR_String) "\", ", Var_86);
    Var_89 = mercury__string__f_43_43_2_f_0(ExtStr_19, Var_88);
    Var_91 = mercury__string__f_43_43_2_f_0((MR_String) ", \"", Var_89);
    Var_92 = mercury__string__f_43_43_2_f_0(Var_55, Var_91);
    HdrStr_22 = mercury__string__f_43_43_2_f_0((MR_String) "\n(", Var_92);
    succeeded = mdbcomp__builtin_modules__any_mercury_builtin_module_1_p_0(ModuleName_5);
    succeeded = !(succeeded);
    if (succeeded)
    {
      TypeCtorInfo_76_76 = (MR_Word) (&recompilation__recompilation__type_ctor_info_module_item_version_numbers_0);
      succeeded = mercury__map__search_3_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), TypeCtorInfo_76_76, ModuleItemVersionNumbersMap_11, ((MR_Box) (ModuleName_5)), &conv1_ModuleItemVersionNumbers_23);
      if (succeeded)
      {
        ModuleItemVersionNumbers_23 = ((MR_Word) (conv1_ModuleItemVersionNumbers_23));
        succeeded = MR_TRUE;
      }
    }
    if (succeeded)
    {
      MR_Word UsedTypeNames_24 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleUsedItems_6, (MR_Integer) 0))));
      MR_Word UsedTypeDefns_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleUsedItems_6, (MR_Integer) 1))));
      MR_Word UsedInsts_26 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleUsedItems_6, (MR_Integer) 2))));
      MR_Word UsedModes_27 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleUsedItems_6, (MR_Integer) 3))));
      MR_Word UsedClasses_28 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleUsedItems_6, (MR_Integer) 4))));
      MR_Word UsedPreds_30 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleUsedItems_6, (MR_Integer) 6))));
      MR_Word UsedFuncs_31 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleUsedItems_6, (MR_Integer) 7))));
      MR_Word TypeNameMap_32 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 0))));
      MR_Word TypeDefnMap_33 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 1))));
      MR_Word InstMap_34 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 2))));
      MR_Word ModeMap_35 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 3))));
      MR_Word ClassMap_36 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 4))));
      MR_Word InstanceMap_37 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 5))));
      MR_Word PredMap_38 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 6))));
      MR_Word FuncMap_39 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleItemVersionNumbers_23, (MR_Integer) 7))));
      MR_Word UsedTypeNameMap_40;
      MR_Word UsedTypeDefnMap_41;
      MR_Word UsedInstMap_42;
      MR_Word UsedModeMap_43;
      MR_Word UsedClassMap_44;
      MR_Word UsedInstanceMap_46;
      MR_Word UsedPredMap_47;
      MR_Word UsedFuncMap_48;
      MR_Word UsedModuleItemVersionNumbers_49;
      MR_String VNsStr_50;
      MR_String Var_95;
      MR_String Var_97;
      MR_Word UsedInstances_45;
      MR_Box conv2_UsedInstances_45;

      mercury__map__select_3_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), TypeNameMap_32, UsedTypeNames_24, &UsedTypeNameMap_40);
      mercury__map__select_3_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), TypeDefnMap_33, UsedTypeDefns_25, &UsedTypeDefnMap_41);
      mercury__map__select_3_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), InstMap_34, UsedInsts_26, &UsedInstMap_42);
      mercury__map__select_3_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), ModeMap_35, UsedModes_27, &UsedModeMap_43);
      mercury__map__select_3_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), ClassMap_36, UsedClasses_28, &UsedClassMap_44);
      succeeded = mercury__map__search_3_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&recompilation__used_file_scalar_common_2[4]), ModuleInstances_15, ((MR_Box) (ModuleName_5)), &conv2_UsedInstances_45);
      if (succeeded)
      {
        UsedInstances_45 = ((MR_Word) (conv2_UsedInstances_45));
        succeeded = MR_TRUE;
      }
      if (succeeded)
        mercury__map__select_3_p_0((MR_Word) (&recompilation__recompilation__type_ctor_info_item_name_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), InstanceMap_37, UsedInstances_45, &UsedInstanceMap_46);
      else
        mercury__map__init_1_p_0((MR_Word) (&recompilation__recompilation__type_ctor_info_item_name_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), &UsedInstanceMap_46);
      mercury__map__select_3_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), PredMap_38, UsedPreds_30, &UsedPredMap_47);
      mercury__map__select_3_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&libs__timestamp__libs__timestamp__type_ctor_info_timestamp_0), FuncMap_39, UsedFuncs_31, &UsedFuncMap_48);
      {
        UsedModuleItemVersionNumbers_49 = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 0) = ((MR_Box) (UsedTypeNameMap_40));
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 1) = ((MR_Box) (UsedTypeDefnMap_41));
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 2) = ((MR_Box) (UsedInstMap_42));
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 3) = ((MR_Box) (UsedModeMap_43));
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 4) = ((MR_Box) (UsedClassMap_44));
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 5) = ((MR_Box) (UsedInstanceMap_46));
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 6) = ((MR_Box) (UsedPredMap_47));
        MR_hl_field(MR_mktag(0), UsedModuleItemVersionNumbers_49, 7) = ((MR_Box) (UsedFuncMap_48));
      }
      VNsStr_50 = recompilation__version__module_item_version_numbers_to_string_1_f_0(UsedModuleItemVersionNumbers_49);
      Var_95 = mercury__string__f_43_43_2_f_0(VNsStr_50, (MR_String) ".\n");
      Var_97 = mercury__string__f_43_43_2_f_0((MR_String) " => ", Var_95);
      Str_7 = mercury__string__f_43_43_2_f_0(HdrStr_22, Var_97);
    }
    else
      Str_7 = mercury__string__f_43_43_2_f_0(HdrStr_22, (MR_String) ".\n");
    return Str_7;
  }
}

static MR_String MR_CALL 
recompilation__used_file__used_classname_and_arity_to_string_1_f_0(
  MR_Word ItemName_3)
{
  {
    MR_String Str_4;
    MR_Word ClassName_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ItemName_3, (MR_Integer) 0))));
    MR_Integer ClassArity_6 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), ItemName_3, (MR_Integer) 1))));
    MR_String ClassNameStr_7;
    MR_String Var_14;
    MR_String Var_22;

    ClassNameStr_7 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(ClassName_5);
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), ClassArity_6, &Var_14);
    Var_22 = mercury__string__f_43_43_2_f_0((MR_String) "/", Var_14);
    Str_4 = mercury__string__f_43_43_2_f_0(ClassNameStr_7, Var_22);
    return Str_4;
  }
}

static MR_String MR_CALL 
recompilation__used_file__resolved_item_set_to_string_3_2_f_0(
  MR_Word TypeInfo_for_T_19,
  MR_Word MatchesToStr_4,
  MR_Word HeadVar__2_2)
{
  {
    MR_String Str_7;
    MR_Word TypeInfo_22_22;
    MR_Integer Arity_5 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
    MR_Word Matches_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
    MR_Word MatchList_8;
    MR_Word MatchStrs_9;
    MR_String MatchesStr_10;
    MR_String Var_25;
    MR_String Var_27;
    MR_String Var_28;

    mercury__map__to_assoc_list_2_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), TypeInfo_for_T_19, Matches_6, &MatchList_8);
    {
      TypeInfo_22_22 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_22_22, 0) = ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2));
      MR_hl_field(MR_mktag(0), TypeInfo_22_22, 1) = ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
      MR_hl_field(MR_mktag(0), TypeInfo_22_22, 2) = ((MR_Box) (TypeInfo_for_T_19));
    }
    MatchStrs_9 = mercury__list__map_2_f_0(TypeInfo_22_22, (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (MatchesToStr_4), (MR_Word) (MatchList_8));
    MatchesStr_10 = mercury__string__join_list_2_f_0((MR_String) ",\n\t\t\t\t", MatchStrs_9);
    Var_25 = mercury__string__f_43_43_2_f_0(MatchesStr_10, (MR_String) ")");
    Var_27 = mercury__string__f_43_43_2_f_0((MR_String) " - (", Var_25);
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), Arity_5, &Var_28);
    Str_7 = mercury__string__f_43_43_2_f_0(Var_28, Var_27);
    return Str_7;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__resolved_item_set_to_string_2_2_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_Str_7;

    conv0_Str_7 = recompilation__used_file__resolved_item_set_to_string_3_2_f_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 4)))), ((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_Str_7));
    return wrapper_arg_2;
  }
}

static MR_String MR_CALL 
recompilation__used_file__resolved_item_set_to_string_2_2_f_0(
  MR_Word TypeInfo_for_T_20,
  MR_Word MatchesToStr_4,
  MR_Word HeadVar__2_2)
{
  {
    MR_String Str_7;
    MR_Word TypeInfo_24_24;
    MR_Word TypeInfo_26_26;
    MR_String Name_5 = ((MR_String) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 0))));
    MR_Word MatchesAL_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__2_2, (MR_Integer) 1))));
    MR_String NameStr_9;
    MR_Word MatchStrs_10;
    MR_String MatchesStr_11;
    MR_Word Var_12;
    MR_String Var_31;
    MR_String Var_33;

    NameStr_9 = parse_tree__parse_tree_out_term__mercury_bracketed_atom_to_string_2_f_0((MR_Integer) 1, Name_5);
    {
      TypeInfo_24_24 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_24_24, 0) = ((MR_Box) (&mercury__tree234__tree234__type_ctor_info_tree234_2));
      MR_hl_field(MR_mktag(0), TypeInfo_24_24, 1) = ((MR_Box) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0));
      MR_hl_field(MR_mktag(0), TypeInfo_24_24, 2) = ((MR_Box) (TypeInfo_for_T_20));
    }
    {
      TypeInfo_26_26 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), TypeInfo_26_26, 0) = ((MR_Box) (&mercury__pair__pair__type_ctor_info_pair_2));
      MR_hl_field(MR_mktag(0), TypeInfo_26_26, 1) = ((MR_Box) (&mercury__builtin__builtin__type_ctor_info_int_0));
      MR_hl_field(MR_mktag(0), TypeInfo_26_26, 2) = ((MR_Box) (TypeInfo_24_24));
    }
    {
      Var_12 = (MR_Word) MR_new_object(MR_Word, (5 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), Var_12, 0) = ((MR_Box) (&recompilation__used_file_scalar_common_6[1]));
      MR_hl_field(MR_mktag(0), Var_12, 1) = ((MR_Box) (recompilation__used_file__resolved_item_set_to_string_2_2_f_0_1));
      MR_hl_field(MR_mktag(0), Var_12, 2) = ((MR_Box) ((MR_Integer) 2));
      MR_hl_field(MR_mktag(0), Var_12, 3) = ((MR_Box) (TypeInfo_for_T_20));
      MR_hl_field(MR_mktag(0), Var_12, 4) = ((MR_Box) (MatchesToStr_4));
    }
    MatchStrs_10 = mercury__list__map_2_f_0(TypeInfo_26_26, (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (Var_12), (MR_Word) (MatchesAL_6));
    MatchesStr_11 = mercury__string__join_list_2_f_0((MR_String) ",\n\t\t\t", MatchStrs_10);
    Var_31 = mercury__string__f_43_43_2_f_0(MatchesStr_11, (MR_String) ")");
    Var_33 = mercury__string__f_43_43_2_f_0((MR_String) " - (", Var_31);
    Str_7 = mercury__string__f_43_43_2_f_0(NameStr_9, Var_33);
    return Str_7;
  }
}

static MR_String MR_CALL 
recompilation__used_file__resolved_functor_to_string_1_f_0(
  MR_Word ResolvedFunctor_3)
{
  {
    MR_String Str_4;

    switch (MR_tag((MR_Word) ResolvedFunctor_3)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        {
          MR_Word PredOrFunc_6 = ((MR_Unsigned) ((MR_hl_field(MR_mktag(0), ResolvedFunctor_3, (MR_Integer) 1))) & (MR_Integer) 1);
          MR_Word ModuleName_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedFunctor_3, (MR_Integer) 2))));
          MR_Integer Arity_8;
          MR_Word Var_35 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedFunctor_3, (MR_Integer) 3))));
          MR_String Var_39;
          MR_String Var_42;
          MR_String Var_51;
          MR_String Var_58;
          MR_String Var_60;
          MR_String Var_61;
          MR_String Var_63;

          Arity_8 = (MR_Integer) (Var_35);
          Var_39 = parse_tree__prog_out__pred_or_func_to_full_str_1_f_0(PredOrFunc_6);
          Var_42 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(ModuleName_7);
          mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), Arity_8, &Var_51);
          Var_58 = mercury__string__f_43_43_2_f_0(Var_51, (MR_String) ")");
          Var_60 = mercury__string__f_43_43_2_f_0((MR_String) ", ", Var_58);
          Var_61 = mercury__string__f_43_43_2_f_0(Var_42, Var_60);
          Var_63 = mercury__string__f_43_43_2_f_0((MR_String) "(", Var_61);
          Str_4 = mercury__string__f_43_43_2_f_0(Var_39, Var_63);
        }
        break;
      case (MR_Integer) 1:
        {
          MR_Word TypeCtor_9 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ResolvedFunctor_3, (MR_Integer) 0))));
          MR_Word TypeCtorSymName_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), TypeCtor_9, (MR_Integer) 0))));
          MR_Integer TypeCtorArity_11 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), TypeCtor_9, (MR_Integer) 1))));
          MR_String Var_31;
          MR_String Var_91;
          MR_String Var_98;
          MR_String Var_100;
          MR_String Var_101;

          Var_31 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_ngt_2_f_0((MR_Integer) 0, TypeCtorSymName_10);
          mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), TypeCtorArity_11, &Var_91);
          Var_98 = mercury__string__f_43_43_2_f_0(Var_91, (MR_String) ")");
          Var_100 = mercury__string__f_43_43_2_f_0((MR_String) "/", Var_98);
          Var_101 = mercury__string__f_43_43_2_f_0(Var_31, Var_100);
          Str_4 = mercury__string__f_43_43_2_f_0((MR_String) "ctor(", Var_101);
        }
        break;
      case (MR_Integer) 2:
        {
          MR_Word ConsCtor_13 = ((MR_Word) ((MR_hl_field(MR_mktag(2), ResolvedFunctor_3, (MR_Integer) 0))));
          MR_Word ConsSymName_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ConsCtor_13, (MR_Integer) 0))));
          MR_Integer ConsArity_15 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), ConsCtor_13, (MR_Integer) 1))));
          MR_String Var_19;
          MR_String Var_24;
          MR_Word TypeCtor_46 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ConsCtor_13, (MR_Integer) 2))));
          MR_Word TypeCtorSymName_47 = ((MR_Word) ((MR_hl_field(MR_mktag(0), TypeCtor_46, (MR_Integer) 0))));
          MR_Integer TypeCtorArity_48 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), TypeCtor_46, (MR_Integer) 1))));
          MR_String Var_65;
          MR_String Var_72;
          MR_String Var_74;
          MR_String Var_75;
          MR_String Var_77;
          MR_String Var_78;
          MR_String Var_85;
          MR_String Var_87;
          MR_String Var_88;

          Var_19 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_ngt_2_f_0((MR_Integer) 0, TypeCtorSymName_47);
          Var_24 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_ngt_2_f_0((MR_Integer) 0, ConsSymName_14);
          mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), ConsArity_15, &Var_65);
          Var_72 = mercury__string__f_43_43_2_f_0(Var_65, (MR_String) ")");
          Var_74 = mercury__string__f_43_43_2_f_0((MR_String) "/", Var_72);
          Var_75 = mercury__string__f_43_43_2_f_0(Var_24, Var_74);
          Var_77 = mercury__string__f_43_43_2_f_0((MR_String) ", ", Var_75);
          mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), TypeCtorArity_48, &Var_78);
          Var_85 = mercury__string__f_43_43_2_f_0(Var_78, Var_77);
          Var_87 = mercury__string__f_43_43_2_f_0((MR_String) "/", Var_85);
          Var_88 = mercury__string__f_43_43_2_f_0(Var_19, Var_87);
          Str_4 = mercury__string__f_43_43_2_f_0((MR_String) "field(", Var_88);
        }
        break;
    }
    return Str_4;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__functor_matches_to_string_2_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_Str_4;

    conv0_Str_4 = recompilation__used_file__resolved_functor_to_string_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_Str_4));
    return wrapper_arg_2;
  }
}

static MR_String MR_CALL 
recompilation__used_file__functor_matches_to_string_2_1_f_0(
  MR_Word HeadVar__1_1)
{
  {
    MR_String Str_5;
    MR_Word Qualifier_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
    MR_Word MatchingCtors_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
    MR_Word MatchingCtorList_6;
    MR_Word MatchingCtorStrs_7;
    MR_String MatchingCtorsStr_8;
    MR_String Var_14;
    MR_String Var_23;
    MR_String Var_25;

    MatchingCtorList_6 = mercury__set__to_sorted_list_1_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0), MatchingCtors_4);
    MatchingCtorStrs_7 = mercury__list__map_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_1[28]), MatchingCtorList_6);
    MatchingCtorsStr_8 = mercury__string__join_list_2_f_0((MR_String) ", ", MatchingCtorStrs_7);
    Var_14 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(Qualifier_3);
    Var_23 = mercury__string__f_43_43_2_f_0(MatchingCtorsStr_8, (MR_String) ")");
    Var_25 = mercury__string__f_43_43_2_f_0((MR_String) " => (", Var_23);
    Str_5 = mercury__string__f_43_43_2_f_0(Var_14, Var_25);
    return Str_5;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__pred_or_func_matches_to_string_3_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_HeadVar__2_2;

    conv0_HeadVar__2_2 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__2_2));
    return wrapper_arg_2;
  }
}

static MR_String MR_CALL 
recompilation__used_file__pred_or_func_matches_to_string_3_1_f_0(
  MR_Word HeadVar__1_1)
{
  {
    MR_bool succeeded;
    MR_String Str_5;
    MR_Word Qualifier_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
    MR_Word PredIdModuleNames_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
    MR_Word ModuleNames_6;
    MR_String QualifierStr_7;
    MR_Word Var_10;
    MR_Word Var_11;
    MR_Word Var_26;

    Var_10 = mercury__set__to_sorted_list_1_f_0((MR_Word) (&recompilation__used_file_scalar_common_1[3]), PredIdModuleNames_4);
    ModuleNames_6 = mercury__assoc_list__values_1_f_0((MR_Word) (&hlds__hlds_pred__hlds__hlds_pred__type_ctor_info_pred_id_0), (MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), Var_10);
    QualifierStr_7 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(Qualifier_3);
    succeeded = (ModuleNames_6 != (MR_Word) ((MR_Unsigned) 0U));
    if (succeeded)
    {
      Var_26 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ModuleNames_6, (MR_Integer) 0))));
      Var_11 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ModuleNames_6, (MR_Integer) 1))));
      succeeded = mdbcomp__sym_name____Unify____sym_name_0_0(Qualifier_3, Var_26);
      if (succeeded)
        succeeded = (Var_11 == (MR_Word) ((MR_Unsigned) 0U));
    }
    if (succeeded)
      Str_5 = QualifierStr_7;
    else
    {
      MR_Word ModuleNameStrs_8;
      MR_String ModuleNamesStr_9;
      MR_String Var_28;
      MR_String Var_30;

      ModuleNameStrs_8 = mercury__list__map_2_f_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_1[27]), ModuleNames_6);
      ModuleNamesStr_9 = mercury__string__join_list_2_f_0((MR_String) ", ", ModuleNameStrs_8);
      Var_28 = mercury__string__f_43_43_2_f_0(ModuleNamesStr_9, (MR_String) ")");
      Var_30 = mercury__string__f_43_43_2_f_0((MR_String) " => (", Var_28);
      Str_5 = mercury__string__f_43_43_2_f_0(QualifierStr_7, Var_30);
    }
    return Str_5;
  }
}

static MR_String MR_CALL 
recompilation__used_file__simple_item_matches_to_string_4_1_f_0(
  MR_Word HeadVar__1_1)
{
  {
    MR_bool succeeded;
    MR_String Str_5;
    MR_Word Qualifier_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
    MR_Word ModuleName_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
    MR_String QualifierStr_6;

    QualifierStr_6 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(Qualifier_3);
    succeeded = mdbcomp__sym_name____Unify____sym_name_0_0(Qualifier_3, ModuleName_4);
    if (succeeded)
      Str_5 = QualifierStr_6;
    else
    {
      MR_String ModuleNameStr_7;
      MR_String Var_15;

      ModuleNameStr_7 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(ModuleName_4);
      Var_15 = mercury__string__f_43_43_2_f_0((MR_String) " => ", ModuleNameStr_7);
      Str_5 = mercury__string__f_43_43_2_f_0(QualifierStr_6, Var_15);
    }
    return Str_5;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__simple_item_matches_to_string_3_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_Str_5;

    conv0_Str_5 = recompilation__used_file__simple_item_matches_to_string_4_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_Str_5));
    return wrapper_arg_2;
  }
}

static MR_String MR_CALL 
recompilation__used_file__simple_item_matches_to_string_3_1_f_0(
  MR_Word HeadVar__1_1)
{
  {
    MR_String Str_5;
    MR_Word NameArity_3 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 0))));
    MR_Word Matches_4 = ((MR_Word) ((MR_hl_field(MR_mktag(0), HeadVar__1_1, (MR_Integer) 1))));
    MR_String Name_6 = ((MR_String) ((MR_hl_field(MR_mktag(0), NameArity_3, (MR_Integer) 0))));
    MR_Integer Arity_7 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), NameArity_3, (MR_Integer) 1))));
    MR_Word MatchList_8;
    MR_Word MatchStrs_9;
    MR_String MatchesStr_10;
    MR_String Var_17;
    MR_String Var_29;
    MR_String Var_31;
    MR_String Var_32;
    MR_String Var_39;
    MR_String Var_41;

    mercury__map__to_assoc_list_2_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), Matches_4, &MatchList_8);
    MatchStrs_9 = mercury__list__map_2_f_0((MR_Word) (&recompilation__used_file_scalar_common_1[8]), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_1[26]), MatchList_8);
    MatchesStr_10 = mercury__string__join_list_2_f_0((MR_String) ", ", MatchStrs_9);
    Var_17 = parse_tree__parse_tree_out_term__mercury_bracketed_atom_to_string_2_f_0((MR_Integer) 0, Name_6);
    Var_29 = mercury__string__f_43_43_2_f_0(MatchesStr_10, (MR_String) ")");
    Var_31 = mercury__string__f_43_43_2_f_0((MR_String) " - (", Var_29);
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), Arity_7, &Var_32);
    Var_39 = mercury__string__f_43_43_2_f_0(Var_32, Var_31);
    Var_41 = mercury__string__f_43_43_2_f_0((MR_String) "/", Var_39);
    Str_5 = mercury__string__f_43_43_2_f_0(Var_17, Var_41);
    return Str_5;
  }
}

void MR_CALL 
recompilation__used_file__read_used_file_for_module_5_p_0(
  MR_Word Globals_6,
  MR_Word ModuleName_7,
  MR_Word * ReadUsedFileResult_8)
{
  {
    MR_String UsedFileName_10;
    MR_Word MaybeUsedFileString_11;

    parse_tree__file_names__module_name_to_file_name_8_p_0(Globals_6, (MR_String) "predicate \140recompilation.used_file.read_used_file_for_module\'/5", (MR_Integer) 1, (MR_Word) (MR_mkword(MR_mktag(1), &recompilation__used_file_scalar_common_3[0])), ModuleName_7, &UsedFileName_10);
    mercury__io__read_named_file_as_string_4_p_0(UsedFileName_10, &MaybeUsedFileString_11);
    if (((MR_tag((MR_Word) MaybeUsedFileString_11)) == (MR_Integer) 1))
    {
      MR_Word IOError_16 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybeUsedFileString_11, (MR_Integer) 0))));
      MR_Word Error_17;

      {
        Error_17 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
        MR_hl_field(MR_mktag(0), Error_17, 0) = ((MR_Box) (UsedFileName_10));
        MR_hl_field(MR_mktag(0), Error_17, 1) = ((MR_Box) (IOError_16));
      }
      {
        MR_Word base;
        base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
        *ReadUsedFileResult_8 = base;
        MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_17));
      }
    }
    else
    {
      MR_String UsedFileString_12 = ((MR_String) ((MR_hl_field(MR_mktag(0), MaybeUsedFileString_11, (MR_Integer) 0))));
      MR_Integer MaxOffset_13;

      mercury__string__length_2_p_0(UsedFileString_12, &MaxOffset_13);
      recompilation__used_file__read_and_parse_used_file_6_p_0(UsedFileName_10, UsedFileString_12, MaxOffset_13, (MR_Word) (&recompilation__used_file_scalar_common_2[14]), (MR_Word) (((MR_Box) ((MR_Integer) 0))), ReadUsedFileResult_8);
    }
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_used_file_6_p_0(
  MR_String UsedFileName_7,
  MR_String UsedFileString_8,
  MR_Integer MaxOffset_9,
  MR_Word STATE_VARIABLE_LineContext_0_37,
  MR_Word STATE_VARIABLE_LinePosn_0_38,
  MR_Word * ParseUsedFile_12)
{
  {
    MR_bool succeeded;
    MR_Word ParseVersionNumber_13;
    MR_Word STATE_VARIABLE_LineContext_39_39;
    MR_Word STATE_VARIABLE_LinePosn_40_40;

    recompilation__used_file__read_and_parse_used_file_version_number_8_p_0(UsedFileName_7, UsedFileString_8, MaxOffset_9, STATE_VARIABLE_LineContext_0_37, &STATE_VARIABLE_LineContext_39_39, STATE_VARIABLE_LinePosn_0_38, &STATE_VARIABLE_LinePosn_40_40, &ParseVersionNumber_13);
    if (((MR_tag((MR_Word) ParseVersionNumber_13)) == (MR_Integer) 1))
      *ParseUsedFile_12 = (MR_Word) (ParseVersionNumber_13);
    else
    {
      MR_Word ParseTimestamp_16;
      MR_Word ParseInlineSubModules_17;
      MR_Word ParseUsedItems_18;
      MR_Word ParseUsedClasses_19;
      MR_Word ParseUsedModules_22;
      MR_Word STATE_VARIABLE_LineContext_41_41;
      MR_Word STATE_VARIABLE_LinePosn_42_42;
      MR_Word STATE_VARIABLE_LineContext_43_43;
      MR_Word STATE_VARIABLE_LinePosn_44_44;
      MR_Word STATE_VARIABLE_LineContext_45_45;
      MR_Word STATE_VARIABLE_LinePosn_46_46;
      MR_Word STATE_VARIABLE_LineContext_47_47;
      MR_Word STATE_VARIABLE_LinePosn_48_48;
      MR_Word Var_49;
      MR_Word Var_20;
      MR_Word Var_21;
      MR_Word ModuleNameTimestamp_23;
      MR_Word InlineSubModules_24;
      MR_Word UsedItems_25;
      MR_Word UsedClasses_26;
      MR_Word UsedModules_27;

      recompilation__used_file__read_and_parse_module_timestamp_8_p_0(UsedFileName_7, UsedFileString_8, MaxOffset_9, STATE_VARIABLE_LineContext_39_39, &STATE_VARIABLE_LineContext_41_41, STATE_VARIABLE_LinePosn_40_40, &STATE_VARIABLE_LinePosn_42_42, &ParseTimestamp_16);
      recompilation__used_file__read_and_parse_inline_submodules_8_p_0(UsedFileName_7, UsedFileString_8, MaxOffset_9, STATE_VARIABLE_LineContext_41_41, &STATE_VARIABLE_LineContext_43_43, STATE_VARIABLE_LinePosn_42_42, &STATE_VARIABLE_LinePosn_44_44, &ParseInlineSubModules_17);
      recompilation__used_file__read_and_parse_used_items_8_p_0(UsedFileName_7, UsedFileString_8, MaxOffset_9, STATE_VARIABLE_LineContext_43_43, &STATE_VARIABLE_LineContext_45_45, STATE_VARIABLE_LinePosn_44_44, &STATE_VARIABLE_LinePosn_46_46, &ParseUsedItems_18);
      recompilation__used_file__read_and_parse_used_classes_8_p_0(UsedFileName_7, UsedFileString_8, MaxOffset_9, STATE_VARIABLE_LineContext_45_45, &STATE_VARIABLE_LineContext_47_47, STATE_VARIABLE_LinePosn_46_46, &STATE_VARIABLE_LinePosn_48_48, &ParseUsedClasses_19);
      Var_49 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_recomp_used_module_0));
      recompilation__used_file__read_and_parse_used_modules_9_p_0(UsedFileName_7, UsedFileString_8, MaxOffset_9, STATE_VARIABLE_LineContext_47_47, &Var_20, STATE_VARIABLE_LinePosn_48_48, &Var_21, Var_49, &ParseUsedModules_22);
      succeeded = ((MR_tag((MR_Word) ParseTimestamp_16)) == (MR_Integer) 0);
      if (succeeded)
      {
        ModuleNameTimestamp_23 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ParseTimestamp_16, (MR_Integer) 0))));
        succeeded = ((MR_tag((MR_Word) ParseInlineSubModules_17)) == (MR_Integer) 0);
        if (succeeded)
        {
          InlineSubModules_24 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ParseInlineSubModules_17, (MR_Integer) 0))));
          succeeded = ((MR_tag((MR_Word) ParseUsedItems_18)) == (MR_Integer) 0);
          if (succeeded)
          {
            UsedItems_25 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ParseUsedItems_18, (MR_Integer) 0))));
            succeeded = ((MR_tag((MR_Word) ParseUsedClasses_19)) == (MR_Integer) 0);
            if (succeeded)
            {
              UsedClasses_26 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ParseUsedClasses_19, (MR_Integer) 0))));
              succeeded = ((MR_tag((MR_Word) ParseUsedModules_22)) == (MR_Integer) 0);
              if (succeeded)
                UsedModules_27 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ParseUsedModules_22, (MR_Integer) 0))));
            }
          }
        }
      }
      if (succeeded)
      {
        MR_Word ModuleTimestamp_29 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ModuleNameTimestamp_23, (MR_Integer) 1))));
        MR_Word UsedFile_30;
        MR_Word Var_50;

        Var_50 = mercury__set__to_sorted_list_1_f_0((MR_Word) (&recompilation__recompilation__type_ctor_info_item_name_0), UsedClasses_26);
        {
          UsedFile_30 = (MR_Word) MR_new_object(MR_Word, (5 * sizeof(MR_Word)), NULL, NULL);
          MR_hl_field(MR_mktag(0), UsedFile_30, 0) = ((MR_Box) (ModuleTimestamp_29));
          MR_hl_field(MR_mktag(0), UsedFile_30, 1) = ((MR_Box) (InlineSubModules_24));
          MR_hl_field(MR_mktag(0), UsedFile_30, 2) = ((MR_Box) (UsedItems_25));
          MR_hl_field(MR_mktag(0), UsedFile_30, 3) = ((MR_Box) (Var_50));
          MR_hl_field(MR_mktag(0), UsedFile_30, 4) = ((MR_Box) (UsedModules_27));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
          *ParseUsedFile_12 = base;
          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (UsedFile_30));
        }
      }
      else
      {
        MR_Word Errors1_31;
        MR_Word Errors2_32;
        MR_Word Errors3_33;
        MR_Word Errors4_34;
        MR_Word Errors5_35;
        MR_Word FirstError_36;
        MR_Word Var_51;
        MR_Word Var_52;
        MR_Word Var_53;
        MR_Word Var_54;
        MR_Box conv0_FirstError_36;

        if (((MR_tag((MR_Word) ParseTimestamp_16)) == (MR_Integer) 1))
        {
          MR_Word Error_64 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ParseTimestamp_16, (MR_Integer) 0))));

          {
            Errors1_31 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Errors1_31, 0) = ((MR_Box) (Error_64));
            MR_hl_field(MR_mktag(1), Errors1_31, 1) = ((MR_Box) ((MR_Unsigned) 0U));
          }
        }
        else
          Errors1_31 = (MR_Word) ((MR_Unsigned) 0U);
        if (((MR_tag((MR_Word) ParseInlineSubModules_17)) == (MR_Integer) 1))
        {
          MR_Word Error_67 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ParseInlineSubModules_17, (MR_Integer) 0))));

          {
            Errors2_32 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Errors2_32, 0) = ((MR_Box) (Error_67));
            MR_hl_field(MR_mktag(1), Errors2_32, 1) = ((MR_Box) ((MR_Unsigned) 0U));
          }
        }
        else
          Errors2_32 = (MR_Word) ((MR_Unsigned) 0U);
        if (((MR_tag((MR_Word) ParseUsedItems_18)) == (MR_Integer) 1))
        {
          MR_Word Error_70 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ParseUsedItems_18, (MR_Integer) 0))));

          {
            Errors3_33 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Errors3_33, 0) = ((MR_Box) (Error_70));
            MR_hl_field(MR_mktag(1), Errors3_33, 1) = ((MR_Box) ((MR_Unsigned) 0U));
          }
        }
        else
          Errors3_33 = (MR_Word) ((MR_Unsigned) 0U);
        if (((MR_tag((MR_Word) ParseUsedClasses_19)) == (MR_Integer) 1))
        {
          MR_Word Error_73 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ParseUsedClasses_19, (MR_Integer) 0))));

          {
            Errors4_34 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Errors4_34, 0) = ((MR_Box) (Error_73));
            MR_hl_field(MR_mktag(1), Errors4_34, 1) = ((MR_Box) ((MR_Unsigned) 0U));
          }
        }
        else
          Errors4_34 = (MR_Word) ((MR_Unsigned) 0U);
        if (((MR_tag((MR_Word) ParseUsedModules_22)) == (MR_Integer) 1))
        {
          MR_Word Error_76 = ((MR_Word) ((MR_hl_field(MR_mktag(1), ParseUsedModules_22, (MR_Integer) 0))));

          {
            Errors5_35 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Errors5_35, 0) = ((MR_Box) (Error_76));
            MR_hl_field(MR_mktag(1), Errors5_35, 1) = ((MR_Box) ((MR_Unsigned) 0U));
          }
        }
        else
          Errors5_35 = (MR_Word) ((MR_Unsigned) 0U);
        Var_54 = mercury__list__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), Errors4_34, Errors5_35);
        Var_53 = mercury__list__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), Errors3_33, Var_54);
        Var_52 = mercury__list__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), Errors2_32, Var_53);
        Var_51 = mercury__list__f_43_43_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), Errors1_31, Var_52);
        conv0_FirstError_36 = mercury__list__det_head_1_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), Var_51);
        FirstError_36 = ((MR_Word) (conv0_FirstError_36));
        {
          MR_Word base;
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
          *ParseUsedFile_12 = base;
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (FirstError_36));
        }
      }
    }
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_used_modules_9_p_0(
  MR_String FileName_10,
  MR_String FileString_11,
  MR_Integer MaxOffset_12,
  MR_Word STATE_VARIABLE_LineContext_0_36,
  MR_Word * STATE_VARIABLE_LineContext_37,
  MR_Word STATE_VARIABLE_LinePosn_0_38,
  MR_Word * STATE_VARIABLE_LinePosn_39,
  MR_Word STATE_VARIABLE_UsedModulesCord_0_40,
  MR_Word * ParseUsedModules_16)
{
  while (MR_TRUE)
  {
    MR_bool succeeded;
    MR_Word ReadTerm_17;
    MR_Word STATE_VARIABLE_LineContext_41_41;
    MR_Word STATE_VARIABLE_LinePosn_42_42;

    // setup for model_det tailcalls optimized into a loop
    ;
    recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(FileName_10, FileString_11, MaxOffset_12, STATE_VARIABLE_LineContext_0_36, &STATE_VARIABLE_LineContext_41_41, STATE_VARIABLE_LinePosn_0_38, &STATE_VARIABLE_LinePosn_42_42, (MR_String) "used items list", &ReadTerm_17);
    if (((MR_tag((MR_Word) ReadTerm_17)) == (MR_Integer) 1))
    {
      *ParseUsedModules_16 = (MR_Word) (ReadTerm_17);
      *STATE_VARIABLE_LineContext_37 = STATE_VARIABLE_LineContext_41_41;
      *STATE_VARIABLE_LinePosn_39 = STATE_VARIABLE_LinePosn_42_42;
    }
    else
    {
      MR_Word Term_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ReadTerm_17, (MR_Integer) 0))));
      MR_Word Var_44;
      MR_String Var_45;
      MR_Word Var_46;

      succeeded = ((MR_tag((MR_Word) Term_18)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_44 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_18, (MR_Integer) 0))));
        Var_46 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_18, (MR_Integer) 1))));
        succeeded = (Var_46 == (MR_Word) ((MR_Unsigned) 0U));
        if (succeeded)
        {
          succeeded = ((MR_tag((MR_Word) Var_44)) == (MR_Integer) 0);
          if (succeeded)
          {
            Var_45 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_44, (MR_Integer) 0))));
            succeeded = (strcmp(Var_45, (MR_String) "done") == 0);
          }
        }
      }
      if (succeeded)
      {
        MR_Word Var_47;

        Var_47 = mercury__cord__list_1_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_recomp_used_module_0), STATE_VARIABLE_UsedModulesCord_0_40);
        {
          MR_Word base;
          base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
          *ParseUsedModules_16 = base;
          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Var_47));
        }
        *STATE_VARIABLE_LinePosn_39 = STATE_VARIABLE_LinePosn_42_42;
        *STATE_VARIABLE_LineContext_37 = STATE_VARIABLE_LineContext_41_41;
      }
      else
      {
        MR_Word TimestampTerm_23;
        MR_Word ParseVersionNumbers_26;
        MR_Word Args_64;
        MR_Word TimestampTerm0_20;
        MR_Word UsedItemsTerm_21;
        MR_Word Var_48;
        MR_String Var_49;
        MR_Word Var_50;
        MR_Word Var_51;
        MR_Word Var_52;
        MR_Word ModuleName_69;
        MR_Word FileKind_72;
        MR_Word Timestamp_73;
        MR_Word RecompAvail_74;
        MR_Word ModuleNameTerm_65;
        MR_Word SuffixTerm_66;
        MR_Word TimestampTerm_67;
        MR_Word MaybeOtherTerms_68;
        MR_String SuffixStr_70;
        MR_Word Var_81;
        MR_Word Var_82;
        MR_Word Var_83;
        MR_Word Var_84;

        succeeded = ((MR_tag((MR_Word) Term_18)) == (MR_Integer) 0);
        if (succeeded)
        {
          Var_48 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_18, (MR_Integer) 0))));
          Var_50 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_18, (MR_Integer) 1))));
          succeeded = ((MR_tag((MR_Word) Var_48)) == (MR_Integer) 0);
          if (succeeded)
          {
            Var_49 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_48, (MR_Integer) 0))));
            succeeded = (strcmp(Var_49, (MR_String) "=>") == 0);
            if (succeeded)
            {
              succeeded = (Var_50 != (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                TimestampTerm0_20 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_50, (MR_Integer) 0))));
                Var_51 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_50, (MR_Integer) 1))));
                succeeded = (Var_51 != (MR_Word) ((MR_Unsigned) 0U));
                if (succeeded)
                {
                  UsedItemsTerm_21 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_51, (MR_Integer) 0))));
                  Var_52 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_51, (MR_Integer) 1))));
                  succeeded = (Var_52 == (MR_Word) ((MR_Unsigned) 0U));
                }
              }
            }
          }
        }
        if (succeeded)
        {
          MR_Word MaybeUsedItems_24;

          TimestampTerm_23 = TimestampTerm0_20;
          recompilation__version__parse_module_item_version_numbers_2_p_0(UsedItemsTerm_21, &MaybeUsedItems_24);
          if (((MR_tag((MR_Word) MaybeUsedItems_24)) == (MR_Integer) 0))
          {
            MR_Word Specs_27 = ((MR_Word) ((MR_hl_field(MR_mktag(0), MaybeUsedItems_24, (MR_Integer) 0))));
            MR_Word VNError_28;

            {
              VNError_28 = (MR_Word) MR_mkword(MR_mktag(3), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
              MR_hl_field(MR_mktag(3), VNError_28, 0) = ((MR_Box) (Specs_27));
            }
            {
              ParseVersionNumbers_26 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
              MR_hl_field(MR_mktag(1), ParseVersionNumbers_26, 0) = ((MR_Box) (VNError_28));
            }
          }
          else
          {
            MR_Word VersionNumbers_25 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybeUsedItems_24, (MR_Integer) 0))));
            MR_Word Var_53;

            {
              Var_53 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
              MR_hl_field(MR_mktag(1), Var_53, 0) = ((MR_Box) (VersionNumbers_25));
            }
            {
              ParseVersionNumbers_26 = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
              MR_hl_field(MR_mktag(0), ParseVersionNumbers_26, 0) = ((MR_Box) (Var_53));
            }
          }
        }
        else
        {
          TimestampTerm_23 = Term_18;
          ParseVersionNumbers_26 = (MR_Word) (&recompilation__used_file_scalar_common_3[3]);
        }
        parse_tree__parse_util__conjunction_to_list_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), TimestampTerm_23, &Args_64);
        succeeded = (Args_64 != (MR_Word) ((MR_Unsigned) 0U));
        if (succeeded)
        {
          ModuleNameTerm_65 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Args_64, (MR_Integer) 0))));
          Var_81 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Args_64, (MR_Integer) 1))));
          succeeded = (Var_81 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            SuffixTerm_66 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_81, (MR_Integer) 0))));
            Var_82 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_81, (MR_Integer) 1))));
            succeeded = (Var_82 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              TimestampTerm_67 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_82, (MR_Integer) 0))));
              MaybeOtherTerms_68 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_82, (MR_Integer) 1))));
              succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), ModuleNameTerm_65, &ModuleName_69);
              if (succeeded)
              {
                succeeded = ((MR_tag((MR_Word) SuffixTerm_66)) == (MR_Integer) 0);
                if (succeeded)
                {
                  Var_83 = ((MR_Word) ((MR_hl_field(MR_mktag(0), SuffixTerm_66, (MR_Integer) 0))));
                  Var_84 = ((MR_Word) ((MR_hl_field(MR_mktag(0), SuffixTerm_66, (MR_Integer) 1))));
                  succeeded = (Var_84 == (MR_Word) ((MR_Unsigned) 0U));
                  if (succeeded)
                  {
                    succeeded = ((MR_tag((MR_Word) Var_83)) == (MR_Integer) 2);
                    if (succeeded)
                    {
                      SuffixStr_70 = ((MR_String) ((MR_hl_field(MR_mktag(2), Var_83, (MR_Integer) 0))));
                      succeeded = parse_tree__file_kind__extension_to_file_kind_2_p_0(SuffixStr_70, &FileKind_72);
                      if (succeeded)
                      {
                        succeeded = recompilation__parse_timestamp_term_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), TimestampTerm_67, &Timestamp_73);
                        if (succeeded)
                        {
                          if ((MaybeOtherTerms_68 == (MR_Word) ((MR_Unsigned) 0U)))
                          {
                            RecompAvail_74 = (MR_Integer) 1;
                            succeeded = MR_TRUE;
                          }
                          else
                          {
                            MR_String Other_75;
                            MR_Word Var_85 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybeOtherTerms_68, (MR_Integer) 0))));
                            MR_Word Var_86;
                            MR_Word Var_87;
                            MR_Word Var_88 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybeOtherTerms_68, (MR_Integer) 1))));
                            MR_Integer lo_0;
                            MR_Integer hi_1;
                            MR_Integer mid_2;
                            MR_Integer result_3;

                            succeeded = (Var_88 == (MR_Word) ((MR_Unsigned) 0U));
                            if (succeeded)
                            {
                              succeeded = ((MR_tag((MR_Word) Var_85)) == (MR_Integer) 0);
                              if (succeeded)
                              {
                                Var_86 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Var_85, (MR_Integer) 0))));
                                Var_87 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Var_85, (MR_Integer) 1))));
                                succeeded = (Var_87 == (MR_Word) ((MR_Unsigned) 0U));
                                if (succeeded)
                                {
                                  succeeded = ((MR_tag((MR_Word) Var_86)) == (MR_Integer) 0);
                                  if (succeeded)
                                  {
                                    Other_75 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_86, (MR_Integer) 0))));
                                    // binary string simple lookup switch
                                    ;
                                    lo_0 = (MR_Integer) 0;
                                    hi_1 = (MR_Integer) 6;
                                    do
                                    {
                                      mid_2 = (((MR_Integer) ((MR_Unsigned) lo_0 + (MR_Unsigned) hi_1)) / (MR_Integer) 2);
                                      result_3 = MR_strcmp(Other_75, ((&recompilation__used_file_vector_common_8[7 + mid_2]))->recompilation__used_file__vector_common_type_8_0__vct_8_f_0);
                                      if ((result_3 == (MR_Integer) 0))
                                      {
                                        RecompAvail_74 = ((&recompilation__used_file_vector_common_8[7 + mid_2]))->recompilation__used_file__vector_common_type_8_0__vct_8_f_1;
                                        succeeded = MR_TRUE;
                                        // jump out of search loop
                                        ;
                                        goto label_0;
                                      }
                                      else
                                      if ((result_3 < (MR_Integer) 0))
                                        hi_1 = (MR_Integer) ((MR_Unsigned) mid_2 - (MR_Unsigned) 1);
                                      else
                                        lo_0 = (MR_Integer) ((MR_Unsigned) mid_2 + (MR_Unsigned) 1);
                                    }
                                    while ((lo_0 <= hi_1));
                                    succeeded = MR_FALSE;
                                  label_0:;
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        if (succeeded)
        {
          MR_Word ModuleTimestamp_32;

          {
            ModuleTimestamp_32 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
            MR_hl_field(MR_mktag(0), ModuleTimestamp_32, 0) = ((MR_Box) (FileKind_72));
            MR_hl_field(MR_mktag(0), ModuleTimestamp_32, 1) = ((MR_Box) (Timestamp_73));
            MR_hl_field(MR_mktag(0), ModuleTimestamp_32, 2) = (MR_Box) ((MR_Unsigned) (RecompAvail_74));
          }
          if (((MR_tag((MR_Word) ParseVersionNumbers_26)) == (MR_Integer) 1))
          {
            *ParseUsedModules_16 = (MR_Word) (ParseVersionNumbers_26);
            *STATE_VARIABLE_LineContext_37 = STATE_VARIABLE_LineContext_41_41;
            *STATE_VARIABLE_LinePosn_39 = STATE_VARIABLE_LinePosn_42_42;
          }
          else
          {
            MR_Word MaybeVersionNumbers_33 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ParseVersionNumbers_26, (MR_Integer) 0))));
            MR_Word UsedModule_34;
            MR_Word STATE_VARIABLE_UsedModulesCord_55_55;
            MR_Word next_value_of_STATE_VARIABLE_LineContext_0_36;
            MR_Word next_value_of_STATE_VARIABLE_LinePosn_0_38;
            MR_Word next_value_of_STATE_VARIABLE_UsedModulesCord_0_40;

            {
              UsedModule_34 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
              MR_hl_field(MR_mktag(0), UsedModule_34, 0) = ((MR_Box) (ModuleName_69));
              MR_hl_field(MR_mktag(0), UsedModule_34, 1) = ((MR_Box) (ModuleTimestamp_32));
              MR_hl_field(MR_mktag(0), UsedModule_34, 2) = ((MR_Box) (MaybeVersionNumbers_33));
            }
            STATE_VARIABLE_UsedModulesCord_55_55 = mercury__cord__snoc_2_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_recomp_used_module_0), STATE_VARIABLE_UsedModulesCord_0_40, ((MR_Box) (UsedModule_34)));
            // direct tailcall eliminated
            ;
            next_value_of_STATE_VARIABLE_LineContext_0_36 = STATE_VARIABLE_LineContext_41_41;
            next_value_of_STATE_VARIABLE_LinePosn_0_38 = STATE_VARIABLE_LinePosn_42_42;
            next_value_of_STATE_VARIABLE_UsedModulesCord_0_40 = STATE_VARIABLE_UsedModulesCord_55_55;
            STATE_VARIABLE_LineContext_0_36 = next_value_of_STATE_VARIABLE_LineContext_0_36;
            STATE_VARIABLE_LinePosn_0_38 = next_value_of_STATE_VARIABLE_LinePosn_0_38;
            STATE_VARIABLE_UsedModulesCord_0_40 = next_value_of_STATE_VARIABLE_UsedModulesCord_0_40;
            continue;
          }
        }
        else
        {
          MR_Word Context_79;
          MR_Word Error_80;
          MR_Word ParseModuleTimestamp_91;

          Context_79 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), TimestampTerm_23);
          {
            Error_80 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Error_80, 0) = ((MR_Box) (Context_79));
            MR_hl_field(MR_mktag(1), Error_80, 1) = ((MR_Box) ((MR_String) "error in module timestamp"));
          }
          {
            ParseModuleTimestamp_91 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), ParseModuleTimestamp_91, 0) = ((MR_Box) (Error_80));
          }
          *ParseUsedModules_16 = (MR_Word) (ParseModuleTimestamp_91);
          *STATE_VARIABLE_LineContext_37 = STATE_VARIABLE_LineContext_41_41;
          *STATE_VARIABLE_LinePosn_39 = STATE_VARIABLE_LinePosn_42_42;
        }
      }
    }
    break;
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_used_classes_8_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_STATE_VARIABLE_UsedClasses_15;
    MR_Word conv0_STATE_VARIABLE_Errors_17;

    recompilation__used_file__parse_name_and_arity_item_add_to_set_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_STATE_VARIABLE_UsedClasses_15, ((MR_Word) (wrapper_arg_4)), &conv0_STATE_VARIABLE_Errors_17);
    *wrapper_arg_3 = ((MR_Box) (conv1_STATE_VARIABLE_UsedClasses_15));
    *wrapper_arg_5 = ((MR_Box) (conv0_STATE_VARIABLE_Errors_17));
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_used_classes_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_26,
  MR_Word * STATE_VARIABLE_LineContext_27,
  MR_Word STATE_VARIABLE_LinePosn_0_28,
  MR_Word * STATE_VARIABLE_LinePosn_29,
  MR_Word * ParseUsedClasses_14)
{
  {
    MR_bool succeeded;
    MR_Word ReadTerm_15;

    recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(UsedFileName_9, UsedFileString_10, MaxOffset_11, STATE_VARIABLE_LineContext_0_26, STATE_VARIABLE_LineContext_27, STATE_VARIABLE_LinePosn_0_28, STATE_VARIABLE_LinePosn_29, (MR_String) "used classes", &ReadTerm_15);
    if (((MR_tag((MR_Word) ReadTerm_15)) == (MR_Integer) 1))
      *ParseUsedClasses_14 = (MR_Word) (ReadTerm_15);
    else
    {
      MR_Word Term_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ReadTerm_15, (MR_Integer) 0))));
      MR_Word UsedClassTerms_18;
      MR_Word Var_33;
      MR_String Var_34;

      succeeded = ((MR_tag((MR_Word) Term_17)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_33 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 0))));
        UsedClassTerms_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 1))));
        succeeded = ((MR_tag((MR_Word) Var_33)) == (MR_Integer) 0);
        if (succeeded)
        {
          Var_34 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_33, (MR_Integer) 0))));
          succeeded = (strcmp(Var_34, (MR_String) "used_classes") == 0);
        }
      }
      if (succeeded)
      {
        MR_Word UsedClasses_20;
        MR_Word ErrorsCord_21;
        MR_Word Errors_22;
        MR_Word Var_36;
        MR_Word Var_37;
        MR_Box conv3_UsedClasses_20;
        MR_Box conv2_ErrorsCord_21;

        Var_36 = mercury__set__init_0_f_0((MR_Word) (&recompilation__recompilation__type_ctor_info_item_name_0));
        Var_37 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
        mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file_scalar_common_2[4]), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_1[25]), UsedClassTerms_18, ((MR_Box) (Var_36)), &conv3_UsedClasses_20, ((MR_Box) (Var_37)), &conv2_ErrorsCord_21);
        UsedClasses_20 = ((MR_Word) (conv3_UsedClasses_20));
        ErrorsCord_21 = ((MR_Word) (conv2_ErrorsCord_21));
        Errors_22 = mercury__cord__list_1_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), ErrorsCord_21);
        if ((Errors_22 == (MR_Word) ((MR_Unsigned) 0U)))
          {
            MR_Word base;
            base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
            *ParseUsedClasses_14 = base;
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (UsedClasses_20));
          }
        else
        {
          MR_Word HeadError_23 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Errors_22, (MR_Integer) 0))));

          {
            MR_Word base;
            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
            *ParseUsedClasses_14 = base;
            MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (HeadError_23));
          }
        }
      }
      else
      {
        MR_Word Context_25;
        MR_Word Error_39;

        Context_25 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_17);
        {
          Error_39 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
          MR_hl_field(MR_mktag(1), Error_39, 0) = ((MR_Box) (Context_25));
          MR_hl_field(MR_mktag(1), Error_39, 1) = ((MR_Box) ((MR_String) "error in used_typeclasses term"));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
          *ParseUsedClasses_14 = base;
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_39));
        }
      }
    }
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_used_items_8_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box * wrapper_arg_3,
  MR_Box wrapper_arg_4,
  MR_Box * wrapper_arg_5)
{
  {
    MR_Box closure = closure_arg;
    MR_Word conv1_STATE_VARIABLE_UsedItems_21;
    MR_Word conv0_STATE_VARIABLE_Errors_23;

    recompilation__used_file__parse_used_item_set_5_p_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), &conv1_STATE_VARIABLE_UsedItems_21, ((MR_Word) (wrapper_arg_4)), &conv0_STATE_VARIABLE_Errors_23);
    *wrapper_arg_3 = ((MR_Box) (conv1_STATE_VARIABLE_UsedItems_21));
    *wrapper_arg_5 = ((MR_Box) (conv0_STATE_VARIABLE_Errors_23));
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_used_items_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_28,
  MR_Word * STATE_VARIABLE_LineContext_29,
  MR_Word STATE_VARIABLE_LinePosn_0_30,
  MR_Word * STATE_VARIABLE_LinePosn_31,
  MR_Word * ParseUsedItems_14)
{
  {
    MR_bool succeeded;
    MR_Word ReadTerm_15;

    recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(UsedFileName_9, UsedFileString_10, MaxOffset_11, STATE_VARIABLE_LineContext_0_28, STATE_VARIABLE_LineContext_29, STATE_VARIABLE_LinePosn_0_30, STATE_VARIABLE_LinePosn_31, (MR_String) "used items", &ReadTerm_15);
    if (((MR_tag((MR_Word) ReadTerm_15)) == (MR_Integer) 1))
      *ParseUsedItems_14 = (MR_Word) (ReadTerm_15);
    else
    {
      MR_Word Term_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ReadTerm_15, (MR_Integer) 0))));
      MR_Word UsedItemTerms_18;
      MR_Word Var_35;
      MR_String Var_36;

      succeeded = ((MR_tag((MR_Word) Term_17)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_35 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 0))));
        UsedItemTerms_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 1))));
        succeeded = ((MR_tag((MR_Word) Var_35)) == (MR_Integer) 0);
        if (succeeded)
        {
          Var_36 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_35, (MR_Integer) 0))));
          succeeded = (strcmp(Var_36, (MR_String) "used_items") == 0);
        }
      }
      if (succeeded)
      {
        MR_Word UsedItems0_20;
        MR_Word ErrorsCord0_21;
        MR_Word UsedItems_22;
        MR_Word ErrorsCord_23;
        MR_Word Errors_24;
        MR_Box conv3_UsedItems_22;
        MR_Box conv2_ErrorsCord_23;

        UsedItems0_20 = recompilation__used_file__init_resolved_used_items_0_f_0();
        ErrorsCord0_21 = mercury__cord__init_0_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0));
        mercury__list__foldl2_6_p_0((MR_Word) (&recompilation__used_file_scalar_common_2[7]), (MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_used_items_0), (MR_Word) (&recompilation__used_file_scalar_common_2[8]), (MR_Word) (&recompilation__used_file_scalar_common_1[24]), UsedItemTerms_18, ((MR_Box) (UsedItems0_20)), &conv3_UsedItems_22, ((MR_Box) (ErrorsCord0_21)), &conv2_ErrorsCord_23);
        UsedItems_22 = ((MR_Word) (conv3_UsedItems_22));
        ErrorsCord_23 = ((MR_Word) (conv2_ErrorsCord_23));
        Errors_24 = mercury__cord__list_1_f_0((MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0), ErrorsCord_23);
        if ((Errors_24 == (MR_Word) ((MR_Unsigned) 0U)))
          {
            MR_Word base;
            base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
            *ParseUsedItems_14 = base;
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (UsedItems_22));
          }
        else
        {
          MR_Word HeadError_25 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Errors_24, (MR_Integer) 0))));

          {
            MR_Word base;
            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
            *ParseUsedItems_14 = base;
            MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (HeadError_25));
          }
        }
      }
      else
      {
        MR_Word Context_27;
        MR_Word Error_39;

        Context_27 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_17);
        {
          Error_39 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
          MR_hl_field(MR_mktag(1), Error_39, 0) = ((MR_Box) (Context_27));
          MR_hl_field(MR_mktag(1), Error_39, 1) = ((MR_Box) ((MR_String) "error in used items"));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
          *ParseUsedItems_14 = base;
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_39));
        }
      }
    }
  }
}

static MR_bool MR_CALL 
recompilation__used_file__read_and_parse_inline_submodules_8_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2)
{
  {
    MR_bool succeeded;
    MR_Box closure = closure_arg;
    MR_Word conv0_HeadVar__2_37;

    succeeded = recompilation__used_file__IntroducedFrom__pred__read_and_parse_inline_submodules__861__1_2_p_0(((MR_Word) (wrapper_arg_1)), &conv0_HeadVar__2_37);
    if (succeeded)
    {
      *wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__2_37));
      succeeded = MR_TRUE;
    }
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_inline_submodules_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_22,
  MR_Word * STATE_VARIABLE_LineContext_23,
  MR_Word STATE_VARIABLE_LinePosn_0_24,
  MR_Word * STATE_VARIABLE_LinePosn_25,
  MR_Word * ParseSubModules_14)
{
  {
    MR_bool succeeded;
    MR_Word ReadTerm_15;

    recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(UsedFileName_9, UsedFileString_10, MaxOffset_11, STATE_VARIABLE_LineContext_0_22, STATE_VARIABLE_LineContext_23, STATE_VARIABLE_LinePosn_0_24, STATE_VARIABLE_LinePosn_25, (MR_String) "inline submodules", &ReadTerm_15);
    if (((MR_tag((MR_Word) ReadTerm_15)) == (MR_Integer) 1))
      *ParseSubModules_14 = (MR_Word) (ReadTerm_15);
    else
    {
      MR_Word Term_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ReadTerm_15, (MR_Integer) 0))));
      MR_Word SubModules_20;
      MR_Word TypeInfo_39_39;
      MR_Word TypeCtorInfo_40_40;
      MR_Word SubModuleTerms_18;
      MR_Word Var_29;
      MR_String Var_30;
      MR_Word Var_31;

      succeeded = ((MR_tag((MR_Word) Term_17)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_29 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 0))));
        SubModuleTerms_18 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 1))));
        succeeded = ((MR_tag((MR_Word) Var_29)) == (MR_Integer) 0);
        if (succeeded)
        {
          Var_30 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_29, (MR_Integer) 0))));
          succeeded = (strcmp(Var_30, (MR_String) "sub_modules") == 0);
          if (succeeded)
          {
            Var_31 = (MR_Word) (&recompilation__used_file_scalar_common_1[23]);
            TypeInfo_39_39 = (MR_Word) (&recompilation__used_file_scalar_common_2[7]);
            TypeCtorInfo_40_40 = (MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0);
            succeeded = mercury__list__map_3_p_2(TypeInfo_39_39, TypeCtorInfo_40_40, Var_31, SubModuleTerms_18, &SubModules_20);
          }
        }
      }
      if (succeeded)
        {
          MR_Word base;
          base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
          *ParseSubModules_14 = base;
          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (SubModules_20));
        }
      else
      {
        MR_Word Context_21;
        MR_Word Error_33;

        Context_21 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_17);
        {
          Error_33 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
          MR_hl_field(MR_mktag(1), Error_33, 0) = ((MR_Box) (Context_21));
          MR_hl_field(MR_mktag(1), Error_33, 1) = ((MR_Box) ((MR_String) "error in sub_modules term"));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
          *ParseSubModules_14 = base;
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_33));
        }
      }
    }
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_module_timestamp_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_18,
  MR_Word * STATE_VARIABLE_LineContext_19,
  MR_Word STATE_VARIABLE_LinePosn_0_20,
  MR_Word * STATE_VARIABLE_LinePosn_21,
  MR_Word * ParseTerm_14)
{
  {
    MR_bool succeeded;
    MR_Word ReadTerm_15;

    recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(UsedFileName_9, UsedFileString_10, MaxOffset_11, STATE_VARIABLE_LineContext_0_18, STATE_VARIABLE_LineContext_19, STATE_VARIABLE_LinePosn_0_20, STATE_VARIABLE_LinePosn_21, (MR_String) "module timestamp", &ReadTerm_15);
    if (((MR_tag((MR_Word) ReadTerm_15)) == (MR_Integer) 1))
      *ParseTerm_14 = (MR_Word) (ReadTerm_15);
    else
    {
      MR_Word Term_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ReadTerm_15, (MR_Integer) 0))));
      MR_Word Args_27;
      MR_Word ModuleName_32;
      MR_Word FileKind_35;
      MR_Word Timestamp_36;
      MR_Word RecompAvail_37;
      MR_Word ModuleNameTerm_28;
      MR_Word SuffixTerm_29;
      MR_Word TimestampTerm_30;
      MR_Word MaybeOtherTerms_31;
      MR_String SuffixStr_33;
      MR_Word Var_44;
      MR_Word Var_45;
      MR_Word Var_46;
      MR_Word Var_47;

      parse_tree__parse_util__conjunction_to_list_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_17, &Args_27);
      succeeded = (Args_27 != (MR_Word) ((MR_Unsigned) 0U));
      if (succeeded)
      {
        ModuleNameTerm_28 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Args_27, (MR_Integer) 0))));
        Var_44 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Args_27, (MR_Integer) 1))));
        succeeded = (Var_44 != (MR_Word) ((MR_Unsigned) 0U));
        if (succeeded)
        {
          SuffixTerm_29 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_44, (MR_Integer) 0))));
          Var_45 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_44, (MR_Integer) 1))));
          succeeded = (Var_45 != (MR_Word) ((MR_Unsigned) 0U));
          if (succeeded)
          {
            TimestampTerm_30 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_45, (MR_Integer) 0))));
            MaybeOtherTerms_31 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_45, (MR_Integer) 1))));
            succeeded = parse_tree__parse_sym_name__try_parse_sym_name_and_no_args_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), ModuleNameTerm_28, &ModuleName_32);
            if (succeeded)
            {
              succeeded = ((MR_tag((MR_Word) SuffixTerm_29)) == (MR_Integer) 0);
              if (succeeded)
              {
                Var_46 = ((MR_Word) ((MR_hl_field(MR_mktag(0), SuffixTerm_29, (MR_Integer) 0))));
                Var_47 = ((MR_Word) ((MR_hl_field(MR_mktag(0), SuffixTerm_29, (MR_Integer) 1))));
                succeeded = (Var_47 == (MR_Word) ((MR_Unsigned) 0U));
                if (succeeded)
                {
                  succeeded = ((MR_tag((MR_Word) Var_46)) == (MR_Integer) 2);
                  if (succeeded)
                  {
                    SuffixStr_33 = ((MR_String) ((MR_hl_field(MR_mktag(2), Var_46, (MR_Integer) 0))));
                    succeeded = parse_tree__file_kind__extension_to_file_kind_2_p_0(SuffixStr_33, &FileKind_35);
                    if (succeeded)
                    {
                      succeeded = recompilation__parse_timestamp_term_2_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), TimestampTerm_30, &Timestamp_36);
                      if (succeeded)
                      {
                        if ((MaybeOtherTerms_31 == (MR_Word) ((MR_Unsigned) 0U)))
                        {
                          RecompAvail_37 = (MR_Integer) 1;
                          succeeded = MR_TRUE;
                        }
                        else
                        {
                          MR_String Other_38;
                          MR_Word Var_48 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybeOtherTerms_31, (MR_Integer) 0))));
                          MR_Word Var_49;
                          MR_Word Var_50;
                          MR_Word Var_51 = ((MR_Word) ((MR_hl_field(MR_mktag(1), MaybeOtherTerms_31, (MR_Integer) 1))));
                          MR_Integer lo_0;
                          MR_Integer hi_1;
                          MR_Integer mid_2;
                          MR_Integer result_3;

                          succeeded = (Var_51 == (MR_Word) ((MR_Unsigned) 0U));
                          if (succeeded)
                          {
                            succeeded = ((MR_tag((MR_Word) Var_48)) == (MR_Integer) 0);
                            if (succeeded)
                            {
                              Var_49 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Var_48, (MR_Integer) 0))));
                              Var_50 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Var_48, (MR_Integer) 1))));
                              succeeded = (Var_50 == (MR_Word) ((MR_Unsigned) 0U));
                              if (succeeded)
                              {
                                succeeded = ((MR_tag((MR_Word) Var_49)) == (MR_Integer) 0);
                                if (succeeded)
                                {
                                  Other_38 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_49, (MR_Integer) 0))));
                                  // binary string simple lookup switch
                                  ;
                                  lo_0 = (MR_Integer) 0;
                                  hi_1 = (MR_Integer) 6;
                                  do
                                  {
                                    mid_2 = (((MR_Integer) ((MR_Unsigned) lo_0 + (MR_Unsigned) hi_1)) / (MR_Integer) 2);
                                    result_3 = MR_strcmp(Other_38, ((&recompilation__used_file_vector_common_8[0 + mid_2]))->recompilation__used_file__vector_common_type_8_0__vct_8_f_0);
                                    if ((result_3 == (MR_Integer) 0))
                                    {
                                      RecompAvail_37 = ((&recompilation__used_file_vector_common_8[0 + mid_2]))->recompilation__used_file__vector_common_type_8_0__vct_8_f_1;
                                      succeeded = MR_TRUE;
                                      // jump out of search loop
                                      ;
                                      goto label_0;
                                    }
                                    else
                                    if ((result_3 < (MR_Integer) 0))
                                      hi_1 = (MR_Integer) ((MR_Unsigned) mid_2 - (MR_Unsigned) 1);
                                    else
                                      lo_0 = (MR_Integer) ((MR_Unsigned) mid_2 + (MR_Unsigned) 1);
                                  }
                                  while ((lo_0 <= hi_1));
                                  succeeded = MR_FALSE;
                                label_0:;
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      if (succeeded)
      {
        MR_Word ModuleTimestamp_40;
        MR_Word NameTimestamp_41;

        {
          ModuleTimestamp_40 = (MR_Word) MR_new_object(MR_Word, (3 * sizeof(MR_Word)), NULL, NULL);
          MR_hl_field(MR_mktag(0), ModuleTimestamp_40, 0) = ((MR_Box) (FileKind_35));
          MR_hl_field(MR_mktag(0), ModuleTimestamp_40, 1) = ((MR_Box) (Timestamp_36));
          MR_hl_field(MR_mktag(0), ModuleTimestamp_40, 2) = (MR_Box) ((MR_Unsigned) (RecompAvail_37));
        }
        {
          NameTimestamp_41 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
          MR_hl_field(MR_mktag(0), NameTimestamp_41, 0) = ((MR_Box) (ModuleName_32));
          MR_hl_field(MR_mktag(0), NameTimestamp_41, 1) = ((MR_Box) (ModuleTimestamp_40));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
          *ParseTerm_14 = base;
          MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (NameTimestamp_41));
        }
      }
      else
      {
        MR_Word Context_42;
        MR_Word Error_43;

        Context_42 = mercury__term__get_term_context_1_f_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), Term_17);
        {
          Error_43 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
          MR_hl_field(MR_mktag(1), Error_43, 0) = ((MR_Box) (Context_42));
          MR_hl_field(MR_mktag(1), Error_43, 1) = ((MR_Box) ((MR_String) "error in module timestamp"));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
          *ParseTerm_14 = base;
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_43));
        }
      }
    }
  }
}

static void MR_CALL 
recompilation__used_file__read_and_parse_used_file_version_number_8_p_0(
  MR_String UsedFileName_9,
  MR_String UsedFileString_10,
  MR_Integer MaxOffset_11,
  MR_Word STATE_VARIABLE_LineContext_0_21,
  MR_Word * STATE_VARIABLE_LineContext_22,
  MR_Word STATE_VARIABLE_LinePosn_0_23,
  MR_Word * STATE_VARIABLE_LinePosn_24,
  MR_Word * ParseTerm_14)
{
  {
    MR_bool succeeded;
    MR_Word ReadTerm_15;

    recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(UsedFileName_9, UsedFileString_10, MaxOffset_11, STATE_VARIABLE_LineContext_0_21, STATE_VARIABLE_LineContext_22, STATE_VARIABLE_LinePosn_0_23, STATE_VARIABLE_LinePosn_24, (MR_String) "usage file version number", &ReadTerm_15);
    if (((MR_tag((MR_Word) ReadTerm_15)) == (MR_Integer) 1))
      *ParseTerm_14 = (MR_Word) (ReadTerm_15);
    else
    {
      MR_Word Term_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ReadTerm_15, (MR_Integer) 0))));
      MR_Word TypeCtorInfo_39_39;
      MR_Word SubTerm1_18;
      MR_Word SubTerm2_19;
      MR_Word Var_28;
      MR_String Var_29;
      MR_Word Var_30;
      MR_Word Var_31;
      MR_Word Var_32;
      MR_Integer Var_33;
      MR_Integer Var_34;
      MR_Integer Var_40;
      MR_Integer Var_41;

      succeeded = ((MR_tag((MR_Word) Term_17)) == (MR_Integer) 0);
      if (succeeded)
      {
        Var_28 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 0))));
        Var_30 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Term_17, (MR_Integer) 1))));
        succeeded = ((MR_tag((MR_Word) Var_28)) == (MR_Integer) 0);
        if (succeeded)
        {
          Var_29 = ((MR_String) ((MR_hl_field(MR_mktag(0), Var_28, (MR_Integer) 0))));
          succeeded = (strcmp(Var_29, (MR_String) ",") == 0);
          if (succeeded)
          {
            succeeded = (Var_30 != (MR_Word) ((MR_Unsigned) 0U));
            if (succeeded)
            {
              SubTerm1_18 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_30, (MR_Integer) 0))));
              Var_31 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_30, (MR_Integer) 1))));
              succeeded = (Var_31 != (MR_Word) ((MR_Unsigned) 0U));
              if (succeeded)
              {
                SubTerm2_19 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_31, (MR_Integer) 0))));
                Var_32 = ((MR_Word) ((MR_hl_field(MR_mktag(1), Var_31, (MR_Integer) 1))));
                succeeded = (Var_32 == (MR_Word) ((MR_Unsigned) 0U));
                if (succeeded)
                {
                  Var_33 = (MR_Integer) 2;
                  TypeCtorInfo_39_39 = (MR_Word) (&mercury__term__term__type_ctor_info_generic_0);
                  succeeded = mercury__term__decimal_term_to_int_2_p_0(TypeCtorInfo_39_39, SubTerm1_18, &Var_40);
                  if (succeeded)
                  {
                    succeeded = (Var_33 == Var_40);
                    if (succeeded)
                    {
                      Var_34 = recompilation__version__module_item_version_numbers_version_number_0_f_0();
                      succeeded = mercury__term__decimal_term_to_int_2_p_0(TypeCtorInfo_39_39, SubTerm2_19, &Var_41);
                      if (succeeded)
                        succeeded = (Var_34 == Var_41);
                    }
                  }
                }
              }
            }
          }
        }
      }
      if (succeeded)
        *ParseTerm_14 = (MR_Word) (&recompilation__used_file_scalar_common_3[2]);
      else
      {
        MR_Word Error_36;

        {
          Error_36 = (MR_Word) MR_mkword(MR_mktag(2), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
          MR_hl_field(MR_mktag(2), Error_36, 0) = ((MR_Box) (UsedFileName_9));
        }
        {
          MR_Word base;
          base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
          *ParseTerm_14 = base;
          MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_36));
        }
      }
    }
  }
}

static void MR_CALL 
recompilation__used_file__read_term_check_for_error_or_eof_9_p_0(
  MR_String FileName_10,
  MR_String FileString_11,
  MR_Integer MaxOffset_12,
  MR_Word STATE_VARIABLE_LineContext_0_25,
  MR_Word * STATE_VARIABLE_LineContext_26,
  MR_Word STATE_VARIABLE_LinePosn_0_27,
  MR_Word * STATE_VARIABLE_LinePosn_28,
  MR_String ItemName_15,
  MR_Word * ReadTerm_16)
{
  {
    MR_Word TermResult_17;

    mercury__mercury_term_parser__read_term_from_linestr_8_p_0((MR_Word) (&mercury__term__term__type_ctor_info_generic_0), FileName_10, FileString_11, MaxOffset_12, STATE_VARIABLE_LineContext_0_25, STATE_VARIABLE_LineContext_26, STATE_VARIABLE_LinePosn_0_27, STATE_VARIABLE_LinePosn_28, &TermResult_17);
    switch (MR_tag((MR_Word) TermResult_17)) {
      default: /*NOTREACHED*/ MR_assert(0);
      case (MR_Integer) 0:
        {
          MR_String Var_32;
          MR_Word Var_34;
          MR_String Message_37;
          MR_Integer LineNumber_38 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), *STATE_VARIABLE_LineContext_26, (MR_Integer) 0))));
          MR_Word Error_40;

          Var_32 = mercury__string__f_43_43_2_f_0(ItemName_15, (MR_String) ".");
          Message_37 = mercury__string__f_43_43_2_f_0((MR_String) "unexpected end of file, expected ", Var_32);
          {
            Var_34 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
            MR_hl_field(MR_mktag(0), Var_34, 0) = ((MR_Box) (FileName_10));
            MR_hl_field(MR_mktag(0), Var_34, 1) = ((MR_Box) (LineNumber_38));
          }
          {
            Error_40 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Error_40, 0) = ((MR_Box) (Var_34));
            MR_hl_field(MR_mktag(1), Error_40, 1) = ((MR_Box) (Message_37));
          }
          {
            MR_Word base;
            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
            *ReadTerm_16 = base;
            MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_40));
          }
        }
        break;
      case (MR_Integer) 1:
        {
          MR_String Message_20 = ((MR_String) ((MR_hl_field(MR_mktag(1), TermResult_17, (MR_Integer) 0))));
          MR_Integer LineNumber_22 = ((MR_Integer) ((MR_hl_field(MR_mktag(0), *STATE_VARIABLE_LineContext_26, (MR_Integer) 0))));
          MR_Word Error_24;
          MR_Word Var_35;

          {
            Var_35 = (MR_Word) MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL);
            MR_hl_field(MR_mktag(0), Var_35, 0) = ((MR_Box) (FileString_11));
            MR_hl_field(MR_mktag(0), Var_35, 1) = ((MR_Box) (LineNumber_22));
          }
          {
            Error_24 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
            MR_hl_field(MR_mktag(1), Error_24, 0) = ((MR_Box) (Var_35));
            MR_hl_field(MR_mktag(1), Error_24, 1) = ((MR_Box) (Message_20));
          }
          {
            MR_Word base;
            base = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL));
            *ReadTerm_16 = base;
            MR_hl_field(MR_mktag(1), base, 0) = ((MR_Box) (Error_24));
          }
        }
        break;
      case (MR_Integer) 2:
        {
          MR_Word Term_19 = ((MR_Word) ((MR_hl_field(MR_mktag(2), TermResult_17, (MR_Integer) 1))));

          {
            MR_Word base;
            base = (MR_Word) MR_new_object(MR_Word, (1 * sizeof(MR_Word)), NULL, NULL);
            *ReadTerm_16 = base;
            MR_hl_field(MR_mktag(0), base, 0) = ((MR_Box) (Term_19));
          }
        }
        break;
    }
  }
}

void MR_CALL 
recompilation__used_file__write_usage_file_4_p_0(
  MR_Word ModuleInfo_5,
  MR_Word UsedFileContents_6)
{
  {
    MR_Word Globals_8;
    MR_Word Verbose_9;
    MR_Word CurStream_10;
    MR_Word ModuleName_11;
    MR_String FileName_12;
    MR_Word FileResult_13;

    hlds__hlds_module__module_info_get_globals_2_p_0(ModuleInfo_5, &Globals_8);
    libs__globals__lookup_bool_option_3_p_0(Globals_8, (MR_Integer) 70, &Verbose_9);
    mercury__io__output_stream_3_p_0(&CurStream_10);
    libs__file_util__maybe_write_string_5_p_0(CurStream_10, Verbose_9, (MR_String) "% Writing recompilation compilation dependency information\n");
    hlds__hlds_module__module_info_get_name_2_p_0(ModuleInfo_5, &ModuleName_11);
    parse_tree__file_names__module_name_to_file_name_8_p_0(Globals_8, (MR_String) "predicate \140recompilation.used_file.write_usage_file\'/4", (MR_Integer) 0, (MR_Word) (MR_mkword(MR_mktag(1), &recompilation__used_file_scalar_common_3[0])), ModuleName_11, &FileName_12);
    mercury__io__open_output_4_p_0(FileName_12, &FileResult_13);
    if (((MR_tag((MR_Word) FileResult_13)) == (MR_Integer) 1))
    {
      MR_Word IOError_15 = ((MR_Word) ((MR_hl_field(MR_mktag(1), FileResult_13, (MR_Integer) 0))));
      MR_String IOErrorMessage_16;

      mercury__io__error_message_2_p_0(IOError_15, &IOErrorMessage_16);
      mercury__io__write_string_4_p_0(CurStream_10, (MR_String) "\nError opening \140");
      mercury__io__write_string_4_p_0(CurStream_10, FileName_12);
      mercury__io__write_string_4_p_0(CurStream_10, (MR_String) "\' for output: ");
      mercury__io__write_string_4_p_0(CurStream_10, IOErrorMessage_16);
      mercury__io__write_string_4_p_0(CurStream_10, (MR_String) ".\n");
      mercury__io__set_exit_status_3_p_0((MR_Integer) 1);
    }
    else
    {
      MR_Word FileStream_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), FileResult_13, (MR_Integer) 0))));

      recompilation__used_file__write_usage_file_to_stream_4_p_0(FileStream_14, UsedFileContents_6);
      mercury__io__close_output_3_p_0(FileStream_14);
    }
  }
}

static MR_Box MR_CALL 
recompilation__used_file__write_usage_file_to_stream_4_p_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv1_Str_7;

    conv1_Str_7 = recompilation__used_file__module_name_and_used_items_to_string_2_f_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv1_Str_7));
    return wrapper_arg_2;
  }
}

static void MR_CALL 
recompilation__used_file__write_usage_file_to_stream_4_p_0(
  MR_Word Stream_5,
  MR_Word UsedFileContents_6)
{
  {
    MR_Word ThisModuleName_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_6, (MR_Integer) 0))));
    MR_Word MaybeTopModule_9 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_6, (MR_Integer) 1))));
    MR_Word TimestampMap_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_6, (MR_Integer) 2))));
    MR_Word ResolvedUsedItems_12 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_6, (MR_Integer) 4))));
    MR_Word UsedClasses_13 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_6, (MR_Integer) 5))));
    MR_Word ImportedItems_14 = ((MR_Word) ((MR_hl_field(MR_mktag(0), UsedFileContents_6, (MR_Integer) 6))));
    MR_Word ThisModuleTimestamp_17;
    MR_Word UsedFileStrs_19;
    MR_String Var_22;
    MR_Word Var_24;
    MR_String Var_25;
    MR_String Var_27;
    MR_String Var_29;
    MR_String Var_31;
    MR_Word Var_33;
    MR_Word Var_34;
    MR_Integer Var_52;
    MR_String Var_55;
    MR_String Var_62;
    MR_String Var_64;
    MR_String Var_65;
    MR_String Var_78;
    MR_String Var_81;
    MR_String Var_84;
    MR_String Var_86;
    MR_String Var_87;
    MR_Box conv0_Var_24;

    Var_52 = recompilation__version__module_item_version_numbers_version_number_0_f_0();
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), Var_52, &Var_55);
    Var_62 = mercury__string__f_43_43_2_f_0(Var_55, (MR_String) ".\n\n");
    Var_64 = mercury__string__f_43_43_2_f_0((MR_String) ",", Var_62);
    mercury__string__format__format_signed_int_component_nowidth_noprec_3_p_0((MR_Word) (&recompilation__used_file_scalar_common_3[1]), (MR_Integer) 2, &Var_65);
    Var_22 = mercury__string__f_43_43_2_f_0(Var_65, Var_64);
    mercury__io__write_string_4_p_0(Stream_5, Var_22);
    mercury__map__lookup_3_p_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&parse_tree__module_imports__parse_tree__module_imports__type_ctor_info_module_timestamp_0), TimestampMap_10, ((MR_Box) (ThisModuleName_8)), &conv0_Var_24);
    Var_24 = ((MR_Word) (conv0_Var_24));
    ThisModuleTimestamp_17 = ((MR_Word) ((MR_hl_field(MR_mktag(0), Var_24, (MR_Integer) 1))));
    Var_78 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(ThisModuleName_8);
    Var_81 = recompilation__version_number_to_string_1_f_0(ThisModuleTimestamp_17);
    Var_84 = mercury__string__f_43_43_2_f_0(Var_81, (MR_String) ").\n\n");
    Var_86 = mercury__string__f_43_43_2_f_0((MR_String) ", \".m\", ", Var_84);
    Var_87 = mercury__string__f_43_43_2_f_0(Var_78, Var_86);
    Var_25 = mercury__string__f_43_43_2_f_0((MR_String) "(", Var_87);
    mercury__io__write_string_4_p_0(Stream_5, Var_25);
    Var_27 = recompilation__used_file__nested_children_of_top_module_to_string_1_f_0(MaybeTopModule_9);
    mercury__io__write_string_4_p_0(Stream_5, Var_27);
    Var_29 = recompilation__used_file__used_items_to_string_1_f_0(ResolvedUsedItems_12);
    mercury__io__write_string_4_p_0(Stream_5, Var_29);
    Var_31 = recompilation__used_file__used_classes_to_string_1_f_0(UsedClasses_13);
    mercury__io__write_string_4_p_0(Stream_5, Var_31);
    {
      Var_33 = (MR_Word) MR_new_object(MR_Word, (4 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), Var_33, 0) = ((MR_Box) (&recompilation__used_file_scalar_common_7[0]));
      MR_hl_field(MR_mktag(0), Var_33, 1) = ((MR_Box) (recompilation__used_file__write_usage_file_to_stream_4_p_0_1));
      MR_hl_field(MR_mktag(0), Var_33, 2) = ((MR_Box) ((MR_Integer) 1));
      MR_hl_field(MR_mktag(0), Var_33, 3) = ((MR_Box) (UsedFileContents_6));
    }
    Var_34 = mercury__map__to_sorted_assoc_list_1_f_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&recompilation__used_file__recompilation__used_file__type_ctor_info_module_imported_items_0), ImportedItems_14);
    UsedFileStrs_19 = mercury__list__map_2_f_0((MR_Word) (&recompilation__used_file_scalar_common_1[6]), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), Var_33, Var_34);
    mercury__io__write_strings_4_p_0(Stream_5, UsedFileStrs_19);
    mercury__io__write_string_4_p_0(Stream_5, (MR_String) "\ndone.\n");
  }
}

static MR_Box MR_CALL 
recompilation__used_file__used_classes_to_string_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_Str_4;

    conv0_Str_4 = recompilation__used_file__used_classname_and_arity_to_string_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_Str_4));
    return wrapper_arg_2;
  }
}

static MR_String MR_CALL 
recompilation__used_file__used_classes_to_string_1_f_0(
  MR_Word UsedClasses_3)
{
  {
    MR_String Str_4;
    MR_Word UsedClassList_5;

    UsedClassList_5 = mercury__set__to_sorted_list_1_f_0((MR_Word) (&recompilation__recompilation__type_ctor_info_item_name_0), UsedClasses_3);
    if ((UsedClassList_5 == (MR_Word) ((MR_Unsigned) 0U)))
      Str_4 = (MR_String) "used_classes.\n";
    else
    {
      MR_Word UsedClassStrs_8;
      MR_String UsedClassesStr_9;
      MR_String Var_21;

      UsedClassStrs_8 = mercury__list__map_2_f_0((MR_Word) (&recompilation__recompilation__type_ctor_info_item_name_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_1[22]), UsedClassList_5);
      UsedClassesStr_9 = mercury__string__join_list_2_f_0((MR_String) ", ", UsedClassStrs_8);
      Var_21 = mercury__string__f_43_43_2_f_0(UsedClassesStr_9, (MR_String) ").\n\n");
      Str_4 = mercury__string__f_43_43_2_f_0((MR_String) "used_classes(", Var_21);
    }
    return Str_4;
  }
}

static MR_String MR_CALL 
recompilation__used_file__used_items_to_string_1_f_0(
  MR_Word ResolvedUsedItems_3)
{
  {
    MR_String Str_4;
    MR_Word UsedTypeNameSet_5 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 0))));
    MR_Word UsedTypeDefnSet_6 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 1))));
    MR_Word UsedInstSet_7 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 2))));
    MR_Word UsedModeSet_8 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 3))));
    MR_Word UsedClassSet_9 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 4))));
    MR_Word UsedFunctorSet_10 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 5))));
    MR_Word UsedPredSet_11 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 6))));
    MR_Word UsedFuncSet_12 = ((MR_Word) ((MR_hl_field(MR_mktag(0), ResolvedUsedItems_3, (MR_Integer) 7))));
    MR_Word MS1_13;
    MR_Word MS2_14;
    MR_Word MS3_15;
    MR_Word MS4_16;
    MR_Word MS5_17;
    MR_Word MS6_18;
    MR_Word MS7_19;
    MR_Word MS8_20;
    MR_Word MatchStrs_21;
    MR_Word Var_32;
    MR_Word Var_33;
    MR_Word Var_34;
    MR_Word Var_35;
    MR_Word Var_36;
    MR_Word Var_37;

    MS1_13 = recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0((MR_Integer) 0, UsedTypeNameSet_5);
    MS2_14 = recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0((MR_Integer) 1, UsedTypeDefnSet_6);
    MS3_15 = recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0((MR_Integer) 2, UsedInstSet_7);
    MS4_16 = recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0((MR_Integer) 3, UsedModeSet_8);
    MS5_17 = recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0((MR_Integer) 4, UsedClassSet_9);
    MS6_18 = recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0((MR_Integer) 6, UsedPredSet_11);
    MS7_19 = recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0((MR_Integer) 7, UsedFuncSet_12);
    MS8_20 = recompilation__used_file__maybe_functor_matches_to_string_1_f_0(UsedFunctorSet_10);
    Var_37 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MS7_19, MS8_20);
    Var_36 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MS6_18, Var_37);
    Var_35 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MS5_17, Var_36);
    Var_34 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MS4_16, Var_35);
    Var_33 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MS3_15, Var_34);
    Var_32 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MS2_14, Var_33);
    MatchStrs_21 = mercury__list__f_43_43_2_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), MS1_13, Var_32);
    if ((MatchStrs_21 == (MR_Word) ((MR_Unsigned) 0U)))
      Str_4 = (MR_String) "used_items.\n";
    else
    {
      MR_String MatchesStr_24;
      MR_String Var_49;

      MatchesStr_24 = mercury__string__join_list_2_f_0((MR_String) ",\n\t", MatchStrs_21);
      Var_49 = mercury__string__f_43_43_2_f_0(MatchesStr_24, (MR_String) "\n).\n\n");
      Str_4 = mercury__string__f_43_43_2_f_0((MR_String) "used_items(\n\t", Var_49);
    }
    return Str_4;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__maybe_functor_matches_to_string_1_f_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv1_Str_7;

    conv1_Str_7 = recompilation__used_file__resolved_item_set_to_string_2_2_f_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 4)))), ((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv1_Str_7));
    return wrapper_arg_2;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__maybe_functor_matches_to_string_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_Str_5;

    conv0_Str_5 = recompilation__used_file__functor_matches_to_string_2_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_Str_5));
    return wrapper_arg_2;
  }
}

static MR_Word MR_CALL 
recompilation__used_file__maybe_functor_matches_to_string_1_f_0(
  MR_Word ItemSet_3)
{
  {
    MR_bool succeeded;
    MR_Word Strs_4;

    succeeded = mercury__map__is_empty_1_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[1]), ItemSet_3);
    if (succeeded)
      Strs_4 = (MR_Word) ((MR_Unsigned) 0U);
    else
    {
      MR_String MatchesStr_5;
      MR_String ItemTypeStr_19;
      MR_Word ItemList_20;
      MR_Word ItemStrs_21;
      MR_String ItemsStr_22;
      MR_String Var_49;
      MR_String Var_51;

      recompilation__string_to_item_type_2_p_1(&ItemTypeStr_19, (MR_Integer) 5);
      mercury__map__to_assoc_list_2_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[1]), ItemSet_3, &ItemList_20);
      ItemStrs_21 = mercury__list__map_2_f_0((MR_Word) (&recompilation__used_file_scalar_common_1[21]), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_4[5]), ItemList_20);
      ItemsStr_22 = mercury__string__join_list_2_f_0((MR_String) ",\n\t\t", ItemStrs_21);
      Var_49 = mercury__string__f_43_43_2_f_0(ItemsStr_22, (MR_String) "\n\t)");
      Var_51 = mercury__string__f_43_43_2_f_0((MR_String) "(\n\t\t", Var_49);
      MatchesStr_5 = mercury__string__f_43_43_2_f_0(ItemTypeStr_19, Var_51);
      {
        Strs_4 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Strs_4, 0) = ((MR_Box) (MatchesStr_5));
        MR_hl_field(MR_mktag(1), Strs_4, 1) = ((MR_Box) ((MR_Unsigned) 0U));
      }
    }
    return Strs_4;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0_2(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv1_Str_7;

    conv1_Str_7 = recompilation__used_file__resolved_item_set_to_string_2_2_f_0(((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 3)))), ((MR_Word) ((MR_hl_field(MR_mktag(0), closure, (MR_Integer) 4)))), ((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv1_Str_7));
    return wrapper_arg_2;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_Str_5;

    conv0_Str_5 = recompilation__used_file__pred_or_func_matches_to_string_3_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_Str_5));
    return wrapper_arg_2;
  }
}

static MR_Word MR_CALL 
recompilation__used_file__maybe_pred_or_func_matches_to_string_2_f_0(
  MR_Word ItemType_4,
  MR_Word ItemSet_5)
{
  {
    MR_bool succeeded;
    MR_Word Strs_6;

    succeeded = mercury__map__is_empty_1_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[3]), ItemSet_5);
    if (succeeded)
      Strs_6 = (MR_Word) ((MR_Unsigned) 0U);
    else
    {
      MR_String Str_7;
      MR_String ItemTypeStr_20;
      MR_Word ItemList_21;
      MR_Word ItemStrs_22;
      MR_String ItemsStr_23;
      MR_String Var_50;
      MR_String Var_52;

      recompilation__string_to_item_type_2_p_1(&ItemTypeStr_20, ItemType_4);
      mercury__map__to_assoc_list_2_p_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[3]), ItemSet_5, &ItemList_21);
      ItemStrs_22 = mercury__list__map_2_f_0((MR_Word) (&recompilation__used_file_scalar_common_1[19]), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_4[3]), ItemList_21);
      ItemsStr_23 = mercury__string__join_list_2_f_0((MR_String) ",\n\t\t", ItemStrs_22);
      Var_50 = mercury__string__f_43_43_2_f_0(ItemsStr_23, (MR_String) "\n\t)");
      Var_52 = mercury__string__f_43_43_2_f_0((MR_String) "(\n\t\t", Var_50);
      Str_7 = mercury__string__f_43_43_2_f_0(ItemTypeStr_20, Var_52);
      {
        Strs_6 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Strs_6, 0) = ((MR_Box) (Str_7));
        MR_hl_field(MR_mktag(1), Strs_6, 1) = ((MR_Box) ((MR_Unsigned) 0U));
      }
    }
    return Strs_6;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_Str_5;

    conv0_Str_5 = recompilation__used_file__simple_item_matches_to_string_3_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_Str_5));
    return wrapper_arg_2;
  }
}

static MR_Word MR_CALL 
recompilation__used_file__maybe_simple_item_matches_to_string_2_f_0(
  MR_Word ItemType_4,
  MR_Word ItemSet_5)
{
  {
    MR_bool succeeded;
    MR_Word Strs_6;

    succeeded = mercury__map__is_empty_1_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]), ItemSet_5);
    if (succeeded)
      Strs_6 = (MR_Word) ((MR_Unsigned) 0U);
    else
    {
      MR_String ItemTypeStr_7;
      MR_Word ItemList_8;
      MR_Word ItemStrs_9;
      MR_String ItemsStr_10;
      MR_String Str_11;
      MR_String Var_34;
      MR_String Var_36;

      recompilation__string_to_item_type_2_p_1(&ItemTypeStr_7, ItemType_4);
      mercury__map__to_assoc_list_2_p_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]), ItemSet_5, &ItemList_8);
      ItemStrs_9 = mercury__list__map_2_f_0((MR_Word) (&recompilation__used_file_scalar_common_1[7]), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_1[17]), ItemList_8);
      ItemsStr_10 = mercury__string__join_list_2_f_0((MR_String) ",\n\t\t", ItemStrs_9);
      Var_34 = mercury__string__f_43_43_2_f_0(ItemsStr_10, (MR_String) "\n\t)");
      Var_36 = mercury__string__f_43_43_2_f_0((MR_String) "(\n\t\t", Var_34);
      Str_11 = mercury__string__f_43_43_2_f_0(ItemTypeStr_7, Var_36);
      {
        Strs_6 = (MR_Word) MR_mkword(MR_mktag(1), MR_new_object(MR_Word, (2 * sizeof(MR_Word)), NULL, NULL));
        MR_hl_field(MR_mktag(1), Strs_6, 0) = ((MR_Box) (Str_11));
        MR_hl_field(MR_mktag(1), Strs_6, 1) = ((MR_Box) ((MR_Unsigned) 0U));
      }
    }
    return Strs_6;
  }
}

static MR_Box MR_CALL 
recompilation__used_file__nested_children_of_top_module_to_string_1_f_0_1(
  MR_Box closure_arg,
  MR_Box wrapper_arg_1)
{
  {
    MR_Box wrapper_arg_2;
    MR_Box closure = closure_arg;
    MR_String conv0_HeadVar__2_2;

    conv0_HeadVar__2_2 = parse_tree__mercury_to_mercury__mercury_bracketed_sym_name_to_string_1_f_0(((MR_Word) (wrapper_arg_1)));
    wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__2_2));
    return wrapper_arg_2;
  }
}

static MR_String MR_CALL 
recompilation__used_file__nested_children_of_top_module_to_string_1_f_0(
  MR_Word MaybeTopModule_3)
{
  {
    MR_String Str_4;
    MR_Word NestedSubModules_5;

    NestedSubModules_5 = parse_tree__module_imports__get_nested_children_list_of_top_module_1_f_0(MaybeTopModule_3);
    if ((NestedSubModules_5 == (MR_Word) ((MR_Unsigned) 0U)))
      Str_4 = (MR_String) "sub_modules.\n\n";
    else
    {
      MR_Word NestedSubModuleStrs_8;
      MR_String NestedSubModulesStr_9;
      MR_String Var_21;

      NestedSubModuleStrs_8 = mercury__list__map_2_f_0((MR_Word) (&mdbcomp__sym_name__mdbcomp__sym_name__type_ctor_info_sym_name_0), (MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_1[16]), NestedSubModules_5);
      NestedSubModulesStr_9 = mercury__string__join_list_2_f_0((MR_String) ", ", NestedSubModuleStrs_8);
      Var_21 = mercury__string__f_43_43_2_f_0(NestedSubModulesStr_9, (MR_String) ").\n\n");
      Str_4 = mercury__string__f_43_43_2_f_0((MR_String) "sub_modules(", Var_21);
    }
    return Str_4;
  }
}

MR_Integer MR_CALL 
recompilation__used_file__used_file_version_number_0_f_0(void)
{
  return (MR_Integer) 2;
}

MR_Word MR_CALL 
recompilation__used_file__init_resolved_used_items_0_f_0(void)
{
  {
    MR_Word HeadVar__1_1;
    MR_Word Var_2;
    MR_Word Var_3;
    MR_Word Var_4;
    MR_Word Var_5;
    MR_Word Var_6;
    MR_Word Var_7;
    MR_Word Var_8;
    MR_Word Var_9;

    Var_2 = mercury__map__init_0_f_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]));
    Var_3 = mercury__map__init_0_f_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]));
    Var_4 = mercury__map__init_0_f_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]));
    Var_5 = mercury__map__init_0_f_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]));
    Var_6 = mercury__map__init_0_f_0((MR_Word) (&parse_tree__prog_data__parse_tree__prog_data__type_ctor_info_name_arity_0), (MR_Word) (&recompilation__used_file_scalar_common_1[0]));
    Var_7 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[1]));
    Var_8 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[3]));
    Var_9 = mercury__map__init_0_f_0((MR_Word) (&mercury__builtin__builtin__type_ctor_info_string_0), (MR_Word) (&recompilation__used_file_scalar_common_2[3]));
    {
      HeadVar__1_1 = (MR_Word) MR_new_object(MR_Word, (8 * sizeof(MR_Word)), NULL, NULL);
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 0) = ((MR_Box) (Var_2));
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 1) = ((MR_Box) (Var_3));
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 2) = ((MR_Box) (Var_4));
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 3) = ((MR_Box) (Var_5));
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 4) = ((MR_Box) (Var_6));
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 5) = ((MR_Box) (Var_7));
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 6) = ((MR_Box) (Var_8));
      MR_hl_field(MR_mktag(0), HeadVar__1_1, 7) = ((MR_Box) (Var_9));
    }
    return HeadVar__1_1;
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____imported_item_set_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____imported_item_set_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____imported_item_set_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____imported_item_set_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____imported_items_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____imported_items_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____imported_items_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____imported_items_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____module_imported_items_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____module_imported_items_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____module_imported_items_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____module_imported_items_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____module_name_and_timestamp_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____module_name_and_timestamp_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____module_name_and_timestamp_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____module_name_and_timestamp_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____parse_resolved_item_matches_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____parse_resolved_item_matches_1_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____parse_resolved_item_matches_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____parse_resolved_item_matches_1_0(((MR_Word) (wrapper_arg_1)), &conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_3)), ((MR_Word) (wrapper_arg_4)));
    *wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____recomp_used_module_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____recomp_used_module_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____recomp_used_module_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____recomp_used_module_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_functor_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_functor_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_functor_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_map_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_functor_map_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_functor_map_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_functor_map_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_functor_set_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_functor_set_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_functor_set_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_functor_set_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_list_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_item_list_1_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_item_list_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_item_list_1_0(((MR_Word) (wrapper_arg_1)), &conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_3)), ((MR_Word) (wrapper_arg_4)));
    *wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_map_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_item_map_1_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_item_map_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_item_map_1_0(((MR_Word) (wrapper_arg_1)), &conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_3)), ((MR_Word) (wrapper_arg_4)));
    *wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_item_set_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_item_set_1_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_item_set_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_item_set_1_0(((MR_Word) (wrapper_arg_1)), &conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_3)), ((MR_Word) (wrapper_arg_4)));
    *wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_pred_or_func_map_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_pred_or_func_map_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_pred_or_func_map_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_pred_or_func_map_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_pred_or_func_set_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_pred_or_func_set_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_pred_or_func_set_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_pred_or_func_set_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____resolved_used_items_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____resolved_used_items_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____resolved_used_items_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____resolved_used_items_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____used_file_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____used_file_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____used_file_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_contents_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____used_file_contents_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____used_file_contents_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____used_file_contents_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_error_0_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____used_file_error_0_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____used_file_error_0_0_10001(
  MR_Box * wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____used_file_error_0_0(&conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    *wrapper_arg_1 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

static MR_bool MR_CALL 
recompilation__used_file____Unify____used_file_result_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box wrapper_arg_2,
  MR_Box wrapper_arg_3)
{
  {
    MR_bool succeeded;

    succeeded = recompilation__used_file____Unify____used_file_result_1_0(((MR_Word) (wrapper_arg_1)), ((MR_Word) (wrapper_arg_2)), ((MR_Word) (wrapper_arg_3)));
    return succeeded;
  }
}

static void MR_CALL 
recompilation__used_file____Compare____used_file_result_1_0_10001(
  MR_Box wrapper_arg_1,
  MR_Box * wrapper_arg_2,
  MR_Box wrapper_arg_3,
  MR_Box wrapper_arg_4)
{
  {
    MR_Word conv0_HeadVar__1_1;

    recompilation__used_file____Compare____used_file_result_1_0(((MR_Word) (wrapper_arg_1)), &conv0_HeadVar__1_1, ((MR_Word) (wrapper_arg_3)), ((MR_Word) (wrapper_arg_4)));
    *wrapper_arg_2 = ((MR_Box) (conv0_HeadVar__1_1));
  }
}

void mercury__recompilation__used_file__init(void)
{
}

void mercury__recompilation__used_file__init_type_tables(void)
{
	static MR_bool initialised = MR_FALSE;
	if (initialised) return;
	initialised = MR_TRUE;

	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_imported_item_set_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_imported_items_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_module_imported_items_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_module_name_and_timestamp_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_parse_resolved_item_matches_1);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_recomp_used_module_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_map_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_functor_set_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_item_list_1);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_item_map_1);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_item_set_1);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_pred_or_func_map_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_pred_or_func_set_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_resolved_used_items_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_contents_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_error_0);
	MR_register_type_ctor_info(&recompilation__used_file__recompilation__used_file__type_ctor_info_used_file_result_1);
}

void mercury__recompilation__used_file__init_debugger(void)
{
	MR_fatal_error("debugger initialization in MLDS grade");
}

// Ensure everything is compiled with the same grade.
const char *mercury__recompilation__used_file__grade_check(void)
{
    return &MR_GRADE_VAR;
}

// :- end_module recompilation.used_file.
